[U-Boot] [PATCH 8/9] net: rtl8169: Use non-cached memory if available
Stephen Warren
swarren at wwwdotorg.org
Wed Aug 20 21:33:06 CEST 2014
On 08/18/2014 02:00 AM, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> To work around potential issues with explicit cache maintenance of the
> RX and TX descriptor rings, allocate them from a pool of uncached memory
> if the architecture supports it.
> diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c
> +#ifndef CONFIG_SYS_NONCACHED_MEMORY
> /* Define the TX Descriptor */
> DEFINE_ALIGN_BUFFER(struct TxDesc, tx_ring, NUM_TX_DESC, RTL8169_ALIGN);
>
> /* Define the RX Descriptor */
> DEFINE_ALIGN_BUFFER(struct RxDesc, rx_ring, NUM_RX_DESC, RTL8169_ALIGN);
> +#endif
It feels slightly inconsistent to have one case allocate this memory in
BSS at compile-time, and in the other to allocate it dynamically.
Would it be better to remove this global, and simply call different APIs
(regular aligned malloc, v.s. non-cached allocate) during rtl_init()?
More information about the U-Boot
mailing list