Skip to content

Commit 1c0270e

Browse files
i217 stuff
1 parent 0bfbecb commit 1c0270e

1 file changed

Lines changed: 20 additions & 3 deletions

File tree

modules/e1000e/e1000e.c

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,14 @@ static void e1000e_receive_init(void) {
204204
e1000e_write_command(REG_RDTR, 0);
205205
e1000e_write_command(REG_RADV, 0);
206206

207-
e1000e_write_command(REG_RXDCTL, E1000_RXDCTL_QUEUE_ENABLE);
207+
//e1000e_write_command(REG_RXDCTL, E1000_RXDCTL_QUEUE_ENABLE);
208+
uint32_t rxdctl =
209+
(1 << 25) | // ENABLE
210+
(8 << 0) | // PTHRESH
211+
(1 << 8) | // HTHRESH
212+
(1 << 16); // WTHRESH
213+
e1000e_write_command(REG_RXDCTL, rxdctl);
214+
e1000e_write_flush();
208215

209216
rx_cur = 0;
210217

@@ -252,7 +259,14 @@ static void e1000e_transmit_init(void) {
252259
e1000e_write_command(REG_TIDV, 0);
253260
e1000e_write_command(REG_TADV, 0);
254261

255-
e1000e_write_command(REG_TXDCTL, E1000_TXDCTL_QUEUE_ENABLE);
262+
//e1000e_write_command(REG_TXDCTL, E1000_TXDCTL_QUEUE_ENABLE);
263+
uint32_t txdctl =
264+
(1 << 25) | // ENABLE
265+
(8 << 0) | // PTHRESH
266+
(1 << 8) | // HTHRESH
267+
(1 << 16); // WTHRESH
268+
e1000e_write_command(REG_TXDCTL, txdctl);
269+
e1000e_write_flush();
256270

257271
tx_cur = 0;
258272

@@ -267,6 +281,9 @@ static void e1000e_transmit_init(void) {
267281

268282
e1000e_write_command(REG_TIPG, E1000E_TIPG_DEFAULT);
269283
e1000e_write_flush();
284+
285+
e1000e_write_command(REG_TXDESCTAIL, 0);
286+
e1000e_write_flush();
270287
}
271288

272289
static void e1000e_handle_receive(void) {
@@ -540,4 +557,4 @@ bool EXPORTED MOD_INIT_SYM(KMOD_ABI)(void) {
540557

541558
bool EXPORTED MOD_EXIT_SYM(KMOD_ABI)(void) {
542559
return false;
543-
}
560+
}

0 commit comments

Comments
 (0)