On 2015/4/15 22:13, Arnd Bergmann wrote:
On Wednesday 15 April 2015 20:30:04 Ding Tianhong wrote:
quoted
The hip04 ethernet use the big endian for tx and rx, so set desc to
big endian and remove the unused next_addr.
I don't understand:
quoted
diff --git a/drivers/net/ethernet/hisilicon/hip04_eth.c b/drivers/net/ethernet/hisilicon/hip04_eth.c
index b0a7f03..6473462 100644
--- a/drivers/net/ethernet/hisilicon/hip04_eth.c
+++ b/drivers/net/ethernet/hisilicon/hip04_eth.c
@@ -132,19 +132,18 @@
#define HIP04_MIN_TX_COALESCE_FRAMES 1
struct tx_desc {
- u32 send_addr;
- u32 send_size;
- u32 next_addr;
- u32 cfg;
- u32 wb_addr;
+ __be32 send_addr;
+ __be32 send_size;
+ __be32 cfg;
+ __be32 wb_addr;
} __aligned(64);
I would think this is a hardware structure, does this not break
access to the cfg and wb_addr fields if you remove next_addr?
Arnd
good cache, I make a mistake here, thanks.
.