Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+25 −25
Original line number Diff line number Diff line
@@ -176,8 +176,8 @@ struct i596_reg {
struct i596_tbd {
	unsigned short size;
	unsigned short pad;
	dma_addr_t     next;
	dma_addr_t     data;
	u32            next;
	u32            data;
	u32 cache_pad[5];		/* Total 32 bytes... */
};

@@ -195,12 +195,12 @@ struct i596_cmd {
	struct i596_cmd *v_next;	/* Address from CPUs viewpoint */
	unsigned short status;
	unsigned short command;
	dma_addr_t     b_next;	/* Address from i596 viewpoint */
	u32            b_next;	/* Address from i596 viewpoint */
};

struct tx_cmd {
	struct i596_cmd cmd;
	dma_addr_t     tbd;
	u32            tbd;
	unsigned short size;
	unsigned short pad;
	struct sk_buff *skb;		/* So we can free it after tx */
@@ -237,8 +237,8 @@ struct cf_cmd {
struct i596_rfd {
	unsigned short stat;
	unsigned short cmd;
	dma_addr_t     b_next;	/* Address from i596 viewpoint */
	dma_addr_t     rbd;
	u32            b_next;	/* Address from i596 viewpoint */
	u32            rbd;
	unsigned short count;
	unsigned short size;
	struct i596_rfd *v_next;	/* Address from CPUs viewpoint */
@@ -252,14 +252,14 @@ struct i596_rbd {
	/* hardware data */
	unsigned short count;
	unsigned short zero1;
    dma_addr_t     b_next;
    dma_addr_t     b_data;		/* Address from i596 viewpoint */
	u32            b_next;
	u32            b_data;		/* Address from i596 viewpoint */
	unsigned short size;
	unsigned short zero2;
	/* driver data */
	struct sk_buff *skb;
	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 */
					/* Total 32 bytes... */
#ifdef __LP64__
@@ -275,8 +275,8 @@ struct i596_rbd {
struct i596_scb {
	unsigned short status;
	unsigned short command;
	dma_addr_t    cmd;
	dma_addr_t    rfd;
	u32           cmd;
	u32           rfd;
	u32           crc_err;
	u32           align_err;
	u32           resource_err;
@@ -289,13 +289,13 @@ struct i596_scb {

struct i596_iscp {
	u32 stat;
	dma_addr_t    scb;
	u32 scb;
};

struct i596_scp {
	u32 sysbus;
	u32 pad;
	dma_addr_t    iscp;
	u32 iscp;
};

struct i596_dma {