Hello Alexey,
In general, a very nice, clean patch.
+ /* Flush modified buffer descriptor */
+ flush_dcache_range((unsigned long)desc_p,
+(unsigned long)desc_p + sizeof(struct dmamacdescr));
+
If I remember correctly, there is some bit that tells you if the
Hi Alexey,
* Implement all accesses to shared structures between CPU and GMAC via
uncached reads/writes (readl/writel).
I don't know how ARC exactly implements this for u-boot, but AFAIK,
readl/writel are meant for 'strongly ordered' I/O writes, not necessarily
uncached. The uncached part
Vipin wrote:
I have also faced this problem before. May be a better solution is to
place all the struct and buffer declarations at the very start of
dw_eth_dev structure (off-course with a comment that these should not
be moved). It may avoid the problem in later modifications
I think that's
the descriptors were allocated.
Therefore, I have moved the allocated of the buffers up one level, to
dwmci_send_cmd(). The DMA transfer should be complete when leaving this
function.
Signed-off-by: Mischa Jonker mjon...@synopsys.com
Cc: Alexey Brodkin abrod...@synopsys.com
Cc: Jaehoon Chung jh80.ch
Without those it's very easy to make mistakes when for instance
the 'size' field is more than just a constant.
Signed-off-by: Mischa Jonker mjon...@synopsys.com
Cc: Alexey Brodkin abrod...@synopsys.com
Cc: Marek Vasut ma...@denx.de
Cc: Anton Staaf robot...@chromium.org
Cc: Tom Rini tr...@ti.com
This fixes two issues:
* a descriptor was allocated for every block, while a descriptor can
take 8 blocks
* there was an off-by-one error in the descriptor preparation: there
were two last descriptors, one with length==0
Signed-off-by: Mischa Jonker mjon...@synopsys.com
Cc: Alexey Brodkin
6 matches
Mail list logo