[U-Boot] [PATCH 1/2] drivers/net/designware, do an explicit memory access instead of implicit, re-written assignments to use readl() and writel(), all of this as preperation for making the driver able to work in a cached environment (I$D$ support).
Vipin Kumar
vipin.kumar at st.com
Wed Jan 23 11:16:31 CET 2013
On 1/23/2013 12:25 PM, Albert ARIBAUD wrote:
> Hi Vipin,
>
>> My first feeling is that the descriptors are allocated as Normal
>> Cachabale memory and it would not help to access them using readl/writel
>>
>> Should the desciptors be allocated as non-cachable memory. If yes then
>> how to do that in u-boot
>>
>> I suppose the rest of the code would be better reviewed if we know about
>> this
>>
>> Vipin
>
> I would say that yes, descriptors are allocated in DRAM, so they are
> cacheable.
>
> And no, we don't need to allocate them non-cacheable, although in this
> case we need to use cache flush and invalidate calls. I would suggest
> doing so rather than allocating the descriptors non cacheable, because
> using non-cacheable memory makes the dependency between the driver and
> cache codes implicit (and thus more prone to improperly thought out
> changes in either code) and the memory usage more complex, while
> explicit cache operations make the relationship explicit.
>
Yes, got it. Thanks Albert
Frank, so in that case rather changing the code to use readl/writel,
cache flush and invalidate operations need to be performed at
appropriate places
Regards
Vipin
> One can always not cache descriptors if you one wants to, without this
> decision breaking driver functionality.
>
> Amicalement,
More information about the U-Boot
mailing list