Re: [PATCH 36/56] microblaze_v2: dma support

Michal Simek
2008-05-07T06:24:23Z

Hi Arnd and Geert,

struct scatterlist {
#ifdef CONFIG_DEBUG_SG
unsigned long sg_magic; /* 32 bit */
#endif
unsigned long page_link; /* 32 bit */
dma_addr_t dma_address; /* 32/64 bit */
unsigned int length; /* 32 bit */
unsigned int offset; /* 32 bit */
};

#define sg_dma_address(sg) ((sg)->dma_address)
#define sg_dma_len(sg) ((sg)->length)

Is it OK now? This will moved to asm-generic too.

M

>> here is proposed struct.
>>
>> struct scatterlist {
>> dma_addr_t dma_address;
>> unsigned long page_link;
>> #ifdef CONFIG_DEBUG_SG
>> unsigned long sg_magic;
>> #endif
>> unsigned int length;
>> unsigned int offset;
>> };
>>
>> Is it OK now?
>
> Everyone else has the sg_magic first, which makes sense for debugging.
> Don't worry about it too much, just use the same code as avr32, h8300,
> blackfin, fvr, mk68knommu, mn10300, sh, v850 and xtensa.
>
> These are all the same, but I just saw that they also have
>
> #define sg_dma_address(sg) ((sg)->dma_address)
> #define sg_dma_len(sg) ((sg)->length)
>
> which you probably want as well.
>
> Arnd <><
>
>