tweaking
This commit is contained in:
parent
f49cb592a5
commit
da8134d6f2
6
i825xx.c
6
i825xx.c
@ -190,7 +190,8 @@ static unsigned short net_eeprom_read(struct i825xx_device_t *net_device, unsign
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void i825xx_poll(struct i825xx_device_t *i825xx_device) {
|
static void i825xx_poll(struct i825xx_device_t *i825xx_device) {
|
||||||
kprintf("rx_front status 0x%p phys 0x%p virt 0x%p len 0x%p\n", i825xx_device->rx_descs[i825xx_device->rx_front]->status, i825xx_device->rx_descs[i825xx_device->rx_front]->address, (unsigned int)(i825xx_device->rx_desc_virt_base + ((8192 + 16) * i825xx_device->rx_front)), i825xx_device->rx_descs[i825xx_device->rx_front]->length);
|
unsigned short old_cur;
|
||||||
|
kprintf("rx_front status 0x%p phys 0x%p virt 0x%p len 0x%p\n", i825xx_device->rx_descs[i825xx_device->rx_front]->status, i825xx_device->rx_descs[i825xx_device->rx_front]->address, i825xx_device->rx_desc_virt_base + ((8192 + 16) * i825xx_device->rx_front), i825xx_device->rx_descs[i825xx_device->rx_front]->length);
|
||||||
while(i825xx_device->rx_descs[i825xx_device->rx_front]->status & RX_DESC_STATUS_DD) {
|
while(i825xx_device->rx_descs[i825xx_device->rx_front]->status & RX_DESC_STATUS_DD) {
|
||||||
unsigned char *pkt = (unsigned char *)i825xx_device->rx_desc_virt_base + ((8192 + 16) * i825xx_device->rx_front);
|
unsigned char *pkt = (unsigned char *)i825xx_device->rx_desc_virt_base + ((8192 + 16) * i825xx_device->rx_front);
|
||||||
unsigned short pktlen = i825xx_device->rx_descs[i825xx_device->rx_front]->length;
|
unsigned short pktlen = i825xx_device->rx_descs[i825xx_device->rx_front]->length;
|
||||||
@ -205,8 +206,9 @@ static void i825xx_poll(struct i825xx_device_t *i825xx_device) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
i825xx_device->rx_descs[i825xx_device->rx_front]->status = 0;
|
i825xx_device->rx_descs[i825xx_device->rx_front]->status = 0;
|
||||||
|
old_cur = i825xx_device->rx_front;
|
||||||
i825xx_device->rx_front = (i825xx_device->rx_front + 1) % NUM_RX_DESCRIPTORS;
|
i825xx_device->rx_front = (i825xx_device->rx_front + 1) % NUM_RX_DESCRIPTORS;
|
||||||
mmio_write(i825xx_device, REG_RDT, i825xx_device->rx_front);
|
mmio_write(i825xx_device, REG_RDT, old_cur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
i825xx.h
4
i825xx.h
@ -39,8 +39,8 @@ struct i825xx_device_t
|
|||||||
unsigned char bar_type;
|
unsigned char bar_type;
|
||||||
unsigned char have_eeprom;
|
unsigned char have_eeprom;
|
||||||
unsigned int io_address;
|
unsigned int io_address;
|
||||||
unsigned int rx_front;
|
unsigned short rx_front;
|
||||||
unsigned int tx_front;
|
unsigned short tx_front;
|
||||||
struct i825xx_rx_desc_t *rx_descs[NUM_RX_DESCRIPTORS];
|
struct i825xx_rx_desc_t *rx_descs[NUM_RX_DESCRIPTORS];
|
||||||
struct i825xx_tx_desc_t *tx_descs[NUM_TX_DESCRIPTORS];
|
struct i825xx_tx_desc_t *tx_descs[NUM_TX_DESCRIPTORS];
|
||||||
unsigned char *rx_desc_phys_base, *tx_desc_phys_base;
|
unsigned char *rx_desc_phys_base, *tx_desc_phys_base;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user