This commit is contained in:
Andrew Pamment 2021-11-27 16:39:12 +10:00
parent f49cb592a5
commit da8134d6f2
2 changed files with 6 additions and 4 deletions

View File

@ -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) {
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) {
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;
@ -205,8 +206,9 @@ static void i825xx_poll(struct i825xx_device_t *i825xx_device) {
}
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;
mmio_write(i825xx_device, REG_RDT, i825xx_device->rx_front);
mmio_write(i825xx_device, REG_RDT, old_cur);
}
}

View File

@ -39,8 +39,8 @@ struct i825xx_device_t
unsigned char bar_type;
unsigned char have_eeprom;
unsigned int io_address;
unsigned int rx_front;
unsigned int tx_front;
unsigned short rx_front;
unsigned short tx_front;
struct i825xx_rx_desc_t *rx_descs[NUM_RX_DESCRIPTORS];
struct i825xx_tx_desc_t *tx_descs[NUM_TX_DESCRIPTORS];
unsigned char *rx_desc_phys_base, *tx_desc_phys_base;