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

From: Michal Simek
Date: Tue May 06 2008 - 09:19:43 EST


Hi all,

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?

Michal


>>> struct scatterlist {
>>> unsigned long page_link;
>>> unsigned int offset;
>>> unsigned int length;
>>> dma_addr_t dma_address;
>>> };
>> If unsigned long is 32-bit but dma_addr_t is 64-bit, there may be a gap
>> between length and dma_address.
>>
>
> But moving dma_address to the front only has the effect to create implicit
> padding at the end of struct scatterlist, so you don't gain anything
> either way.
>
> It's only an internal definition that can be changed at any time without
> breaking applications, so I wouldn't worry about it, and better leave
> it identical to the other architectures.
>
> The one thing that should indeed be changed is the addition of
> 'unsigned long sg_magic' that is needed for CONFIG_DEBUG_SG.
>
> Arnd <><

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/