RTL8169 — Änderungen 11327 → 11328

Zeile 20: Zeile 20:
 
#define RTL8168_TXCONFIG            0x40        // Tx config
 
#define RTL8168_TXCONFIG            0x40        // Tx config
 
#define RTL8168_RXCONFIG            0x44        // Rx config
 
#define RTL8168_RXCONFIG            0x44        // Rx config
−
#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
 
#define RTL8168_ETTHR              0xEC        // Early transmit threshold
Zeile 57: Zeile 56:
 
Dieser Beispielcode konfiguriert die Karte für das Senden und Empfangen von Paketen. Hierbei wird die Karte in den sog. "promiscuous mode" gesetzt, in dem alle Pakete akzeptiert werden, auch solche, die nicht an das Gerät gerichtet sind. Weiterhin werden Interrupts aktiviert.
 
Dieser Beispielcode konfiguriert die Karte für das Senden und Empfangen von Paketen. Hierbei wird die Karte in den sog. "promiscuous mode" gesetzt, in dem alle Pakete akzeptiert werden, auch solche, die nicht an das Gerät gerichtet sind. Weiterhin werden Interrupts aktiviert.
 
<c>
 
<c>
−
outb(port_base + RTL8168_CFG9346, 0xC0); // Entsperren der Konfigurationsregister durch Schreiben von 0xC0 in das 93C46-Kommandoregister
 
 
outl(port_base + RTL8168_RXCONFIG, 0x0000E70F); // RxConfig = Rx FIFO threshold: no; Max DMA burst size: unbeschränkt; Promiscuous mode
 
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
Zeile 69: Zeile 67:
 
outw(port_base + RTL8168_INTRMASK, 0xC3FF); // Aktiviere alle Interrupts
 
outw(port_base + RTL8168_INTRMASK, 0xC3FF); // Aktiviere alle Interrupts
 
outb(port_base + RTL8168_CHIPCMD, 0x0C); // Aktivere Senden und Empfangen
 
outb(port_base + RTL8168_CHIPCMD, 0x0C); // Aktivere Senden und Empfangen
−
outb(port_base + RTL8168_CFG9346, 0x00); // Sperren der Konfigurationsregister
 
 
</c>
 
</c>