Commit 9ec46c6d authored by Thomas Bogendoerfer's avatar Thomas Bogendoerfer Committed by Jeff Garzik

LIB82596: correct data types for hardware addresses

dma_addr_t is 64bit wide on some architectures (for example 64bit MIPS),
so it's not a good idea to use it for 32bit wide addresses in descriptors.
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 48f6b053
...@@ -176,8 +176,8 @@ struct i596_reg { ...@@ -176,8 +176,8 @@ struct i596_reg {
struct i596_tbd { struct i596_tbd {
unsigned short size; unsigned short size;
unsigned short pad; unsigned short pad;
dma_addr_t next; u32 next;
dma_addr_t data; u32 data;
u32 cache_pad[5]; /* Total 32 bytes... */ u32 cache_pad[5]; /* Total 32 bytes... */
}; };
...@@ -195,12 +195,12 @@ struct i596_cmd { ...@@ -195,12 +195,12 @@ struct i596_cmd {
struct i596_cmd *v_next; /* Address from CPUs viewpoint */ struct i596_cmd *v_next; /* Address from CPUs viewpoint */
unsigned short status; unsigned short status;
unsigned short command; unsigned short command;
dma_addr_t b_next; /* Address from i596 viewpoint */ u32 b_next; /* Address from i596 viewpoint */
}; };
struct tx_cmd { struct tx_cmd {
struct i596_cmd cmd; struct i596_cmd cmd;
dma_addr_t tbd; u32 tbd;
unsigned short size; unsigned short size;
unsigned short pad; unsigned short pad;
struct sk_buff *skb; /* So we can free it after tx */ struct sk_buff *skb; /* So we can free it after tx */
...@@ -237,8 +237,8 @@ struct cf_cmd { ...@@ -237,8 +237,8 @@ struct cf_cmd {
struct i596_rfd { struct i596_rfd {
unsigned short stat; unsigned short stat;
unsigned short cmd; unsigned short cmd;
dma_addr_t b_next; /* Address from i596 viewpoint */ u32 b_next; /* Address from i596 viewpoint */
dma_addr_t rbd; u32 rbd;
unsigned short count; unsigned short count;
unsigned short size; unsigned short size;
struct i596_rfd *v_next; /* Address from CPUs viewpoint */ struct i596_rfd *v_next; /* Address from CPUs viewpoint */
...@@ -249,18 +249,18 @@ struct i596_rfd { ...@@ -249,18 +249,18 @@ struct i596_rfd {
}; };
struct i596_rbd { struct i596_rbd {
/* hardware data */ /* hardware data */
unsigned short count; unsigned short count;
unsigned short zero1; unsigned short zero1;
dma_addr_t b_next; u32 b_next;
dma_addr_t b_data; /* Address from i596 viewpoint */ u32 b_data; /* Address from i596 viewpoint */
unsigned short size; unsigned short size;
unsigned short zero2; unsigned short zero2;
/* driver data */ /* driver data */
struct sk_buff *skb; struct sk_buff *skb;
struct i596_rbd *v_next; struct i596_rbd *v_next;
dma_addr_t b_addr; /* This rbd addr from i596 view */ u32 b_addr; /* This rbd addr from i596 view */
unsigned char *v_data; /* Address from CPUs viewpoint */ unsigned char *v_data; /* Address from CPUs viewpoint */
/* Total 32 bytes... */ /* Total 32 bytes... */
#ifdef __LP64__ #ifdef __LP64__
u32 cache_pad[4]; u32 cache_pad[4];
...@@ -275,8 +275,8 @@ struct i596_rbd { ...@@ -275,8 +275,8 @@ struct i596_rbd {
struct i596_scb { struct i596_scb {
unsigned short status; unsigned short status;
unsigned short command; unsigned short command;
dma_addr_t cmd; u32 cmd;
dma_addr_t rfd; u32 rfd;
u32 crc_err; u32 crc_err;
u32 align_err; u32 align_err;
u32 resource_err; u32 resource_err;
...@@ -288,14 +288,14 @@ struct i596_scb { ...@@ -288,14 +288,14 @@ struct i596_scb {
}; };
struct i596_iscp { struct i596_iscp {
u32 stat; u32 stat;
dma_addr_t scb; u32 scb;
}; };
struct i596_scp { struct i596_scp {
u32 sysbus; u32 sysbus;
u32 pad; u32 pad;
dma_addr_t iscp; u32 iscp;
}; };
struct i596_dma { struct i596_dma {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment