RTL8169 — Änderungen 11250 → 11251

Zeile 22: Zeile 22:
 
#define RTL8168_CFG9346            0x50        // 93C46 command register
 
#define RTL8168_CFG9346            0x50        // 93C46 command register
 
#define RTL8168_RPS                0xDA        // Max Receive Packet Size
 
#define RTL8168_RPS                0xDA        // Max Receive Packet Size
 +
#define RTL8168_ETTHR              0xEC        // Early transmit threshold
 
</c>
 
</c>
  
Zeile 57: Zeile 58:
 
<c>
 
<c>
 
outb(port_base + RTL8168_CFG9346, 0xC0); // Entsperren der Konfigurationsregister durch Schreiben von 0xC0 in das 93C46-Kommandoregister
 
outb(port_base + RTL8168_CFG9346, 0xC0); // Entsperren der Konfigurationsregister durch Schreiben von 0xC0 in das 93C46-Kommandoregister
−
outl(port_base + RTL8168_RXCONFIG, 0x0000E70F); // RxConfig = RXFTH: unlimited, MXDMA: unlimited, AAP: set (promisc. mode set)
+
outl(port_base + RTL8168_RXCONFIG, 0x0000E70F); // RxConfig = Rx FIFO threshold: no; Max DMA burst size: unbeschränkt; Promiscuous mode
 
outb(port_base + RTL8168_CHIPCMD, 0x04); // Aktiviere Tx, bevor TxConfig gesetzt wird
 
outb(port_base + RTL8168_CHIPCMD, 0x04); // Aktiviere Tx, bevor TxConfig gesetzt wird
−
outl(port_base + RTL8168_TXCONFIG, 0x03000700); // TxConfig = IFG: normal, MXDMA: unlimited
+
outl(port_base + RTL8168_TXCONFIG, 0x03000700); // TxConfig = InterFrameGap time: normal, Max DMA burst size: unbeschränkt
 
outw(port_base + RTL8168_RPS, 0x1FFF); // Maximale Größe empfangener Pakete (hier: 8 KiB)
 
outw(port_base + RTL8168_RPS, 0x1FFF); // Maximale Größe empfangener Pakete (hier: 8 KiB)
 +
outb(port_base + RTL8168_ETTHR, 0x3F); // Early transmit threshold: Keine vorzeitige Übertragung
  
 
outl(port_base + RTL8168_TXDESC, paging_getPhysAddr(rAdapter->Tx_Descriptors)); // Adresse des ersten Tx-Descriptors (normale Priorität)
 
outl(port_base + RTL8168_TXDESC, paging_getPhysAddr(rAdapter->Tx_Descriptors)); // Adresse des ersten Tx-Descriptors (normale Priorität)