mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-25 15:10:28 +00:00
On PCNet nics enable FCS check and strip via ASTRP_RCV
This commit is contained in:
parent
80ce532072
commit
3809e15849
1 changed files with 18 additions and 2 deletions
|
@ -59,6 +59,7 @@
|
|||
#define PCNET_INT_TINTM 9 // Transmit Interrupt Mask
|
||||
#define PCNET_INT_RINTM 10 // Receive Interrupt Mask
|
||||
|
||||
#define PCNET_FEATURE_ASTRPRCV 10
|
||||
#define PCNET_FEATURE_APADXMT 11
|
||||
|
||||
#define PCNET_BCR_MISC_CONFIG_ASEL 1
|
||||
|
@ -455,7 +456,7 @@ U0 PCNetInterruptCSRSet()
|
|||
U0 PCNetTXAutoPadEnable()
|
||||
{/* AMD PCNet datasheet p.1-958
|
||||
Setting bit 11 (Auto Pad Transmit) allows
|
||||
shoft transmit frames to be automatically
|
||||
short transmit frames to be automatically
|
||||
extended to 64 bytes. */
|
||||
|
||||
U32 csr = PCNetCSRRead(PCNET_CSR_FEATURECTRL);
|
||||
|
@ -465,6 +466,19 @@ U0 PCNetTXAutoPadEnable()
|
|||
PCNetCSRWrite(PCNET_CSR_FEATURECTRL, csr);
|
||||
}
|
||||
|
||||
U0 PCNetRXAutoStripEnable()
|
||||
{/* AMD PCNet datasheet p.1-958
|
||||
Setting bit 10 (Auto Strip Receive) allows
|
||||
pad and FCS fields to be automatically
|
||||
stripped. ONLY WORKS ON 802.3!!! */
|
||||
|
||||
U32 csr = PCNetCSRRead(PCNET_CSR_FEATURECTRL);
|
||||
|
||||
Bts(&csr, PCNET_FEATURE_ASTRPRCV);
|
||||
|
||||
PCNetCSRWrite(PCNET_CSR_FEATURECTRL, csr);
|
||||
}
|
||||
|
||||
U0 PCNetConfigModeExit()
|
||||
{/* AMD PCNet datasheet p.1-954
|
||||
PCNet controller can be started
|
||||
|
@ -749,6 +763,8 @@ U0 PCNetInit()
|
|||
|
||||
PCNetTXAutoPadEnable;
|
||||
|
||||
PCNetRXAutoStripEnable;
|
||||
|
||||
PCNetAutoLinkSelect;
|
||||
|
||||
PCNetEnableFullDuplex;
|
||||
|
@ -845,4 +861,4 @@ U0 NetStart()
|
|||
PCNetCSRWrite(PCNET_CSR_CTRLSTATUS, csr);
|
||||
}
|
||||
|
||||
PCNetInit;
|
||||
PCNetInit;
|
||||
|
|
Loading…
Reference in a new issue