diff options
author | John W. Linville <linville@tuxdriver.com> | 2005-10-18 21:30:59 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-18 22:27:13 -0400 |
commit | 9f38c636ababfb41e58c9ec1e9719492ef7f0479 (patch) | |
tree | 52a0d64efd7a0f814dd327f2bd983a5c8260b1be /drivers/net/b44.h | |
parent | df49898a47061e82219c991dfbe9ac6ddf7a866b (diff) |
[PATCH] b44: alternate allocation option for DMA descriptors
This is a (final?) hack to support the odd DMA allocation requirements
of the b44 hardware. The b44 hardware has a 30-bit DMA mask. On x86,
anything less than a 32-bit DMA mask forces allocations into the 16MB
GFP_DMA range. The memory there is somewhat limited, often resulting
in an inability to initialize the b44 driver.
This hack uses streaming DMA allocation APIs in order to provide an
alternative in case the GFP_DMA allocation fails. It is somewhat ugly,
but not much worse than the similar existing hacks to support SKB
allocations in the same driver. FWIW, I have received positive
feedback on this from several Fedora users.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/b44.h')
-rw-r--r-- | drivers/net/b44.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/b44.h b/drivers/net/b44.h index 11c40a2e71c7..593cb0ad4100 100644 --- a/drivers/net/b44.h +++ b/drivers/net/b44.h | |||
@@ -400,6 +400,8 @@ struct b44 { | |||
400 | #define B44_FLAG_ADV_100HALF 0x04000000 | 400 | #define B44_FLAG_ADV_100HALF 0x04000000 |
401 | #define B44_FLAG_ADV_100FULL 0x08000000 | 401 | #define B44_FLAG_ADV_100FULL 0x08000000 |
402 | #define B44_FLAG_INTERNAL_PHY 0x10000000 | 402 | #define B44_FLAG_INTERNAL_PHY 0x10000000 |
403 | #define B44_FLAG_RX_RING_HACK 0x20000000 | ||
404 | #define B44_FLAG_TX_RING_HACK 0x40000000 | ||
403 | 405 | ||
404 | u32 rx_offset; | 406 | u32 rx_offset; |
405 | 407 | ||