diff options
Diffstat (limited to 'drivers/net/tulip/de2104x.c')
| -rw-r--r-- | drivers/net/tulip/de2104x.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index d4c5ecc51f77..e7609a05032d 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c | |||
| @@ -82,6 +82,13 @@ MODULE_PARM_DESC (rx_copybreak, "de2104x Breakpoint at which Rx packets are copi | |||
| 82 | NETIF_MSG_RX_ERR | \ | 82 | NETIF_MSG_RX_ERR | \ |
| 83 | NETIF_MSG_TX_ERR) | 83 | NETIF_MSG_TX_ERR) |
| 84 | 84 | ||
| 85 | /* Descriptor skip length in 32 bit longwords. */ | ||
| 86 | #ifndef CONFIG_DE2104X_DSL | ||
| 87 | #define DSL 0 | ||
| 88 | #else | ||
| 89 | #define DSL CONFIG_DE2104X_DSL | ||
| 90 | #endif | ||
| 91 | |||
| 85 | #define DE_RX_RING_SIZE 64 | 92 | #define DE_RX_RING_SIZE 64 |
| 86 | #define DE_TX_RING_SIZE 64 | 93 | #define DE_TX_RING_SIZE 64 |
| 87 | #define DE_RING_BYTES \ | 94 | #define DE_RING_BYTES \ |
| @@ -153,6 +160,7 @@ enum { | |||
| 153 | CmdReset = (1 << 0), | 160 | CmdReset = (1 << 0), |
| 154 | CacheAlign16 = 0x00008000, | 161 | CacheAlign16 = 0x00008000, |
| 155 | BurstLen4 = 0x00000400, | 162 | BurstLen4 = 0x00000400, |
| 163 | DescSkipLen = (DSL << 2), | ||
| 156 | 164 | ||
| 157 | /* Rx/TxPoll bits */ | 165 | /* Rx/TxPoll bits */ |
| 158 | NormalTxPoll = (1 << 0), | 166 | NormalTxPoll = (1 << 0), |
| @@ -246,7 +254,7 @@ static const u32 de_intr_mask = | |||
| 246 | * Set the programmable burst length to 4 longwords for all: | 254 | * Set the programmable burst length to 4 longwords for all: |
| 247 | * DMA errors result without these values. Cache align 16 long. | 255 | * DMA errors result without these values. Cache align 16 long. |
| 248 | */ | 256 | */ |
| 249 | static const u32 de_bus_mode = CacheAlign16 | BurstLen4; | 257 | static const u32 de_bus_mode = CacheAlign16 | BurstLen4 | DescSkipLen; |
| 250 | 258 | ||
| 251 | struct de_srom_media_block { | 259 | struct de_srom_media_block { |
| 252 | u8 opts; | 260 | u8 opts; |
| @@ -266,6 +274,9 @@ struct de_desc { | |||
| 266 | __le32 opts2; | 274 | __le32 opts2; |
| 267 | __le32 addr1; | 275 | __le32 addr1; |
| 268 | __le32 addr2; | 276 | __le32 addr2; |
| 277 | #if DSL | ||
| 278 | __le32 skip[DSL]; | ||
| 279 | #endif | ||
| 269 | }; | 280 | }; |
| 270 | 281 | ||
| 271 | struct media_info { | 282 | struct media_info { |
