disable cache on DMA

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

disable cache on DMA

跳至解决方案
3,655 次查看
douglasbolton
Contributor III

Android JB 4.3

I am having issues when DMA'ing data to an SD card because the flushing etc of the caches is causing interrupts to be locked for long periods of time depending on the number of blocks sent. Is there anyway of disabling the cache when DMA'ing to the SD card.

Thanks

Doug.

标签 (3)
标记 (3)
0 项奖励
回复
1 解答
3,212 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Douglas

probably arm core also participates in

sending/managing data to SD from user application.

Best regards

igor

在原帖中查看解决方案

0 项奖励
回复
6 回复数
3,212 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Douglas

I believe this is more related to OS cacheing as

described below

http://www.thomas-krenn.com/en/wiki/Linux_Page_Cache_Basics

http://insights.oetiker.ch/linux/fadvise.html

Best regards

igor

0 项奖励
回复
3,212 次查看
douglasbolton
Contributor III

Thank you for your reply igor. On the i.mx6 I am using I think it is something to do with the clearing of L2 cache when DMA transferring to an SD card. When tracing through the code I see lots of L2 cache calls during a DMA transfer. It looks like this ARM note -

ArmCache.png

I just don't know how to stop all this cache activity when transferring to the SD card.

0 项奖励
回复
3,212 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Douglas

DMA is optional module in ARM cores, i.MX6 has not it

as well ACP. You can check DDI0388I_ cortex_a9 (on www.arm.com),

Chapter 12 ARM Cortex A9 MPCore Platform (ARM) IMX6DQRM

L2 operates together with core.

While uSDHC module has own DMA engine  - ADMA (it does not use L2)

it is described in Chapter 67 Ultra Secured Digital Host Controller (uSDHC).

Best regards

igor

0 项奖励
回复
3,212 次查看
douglasbolton
Contributor III

Thanks igor I'll check out your references.

I have checked and yes you are correct that the i.mx6 does not have an ACP unit.

If the uSDHC controller doesn't use L2 do you know why I am seeing all this L2 cache activity when I do a block transfer to the SD card ?

Thanks

Doug.

0 项奖励
回复
3,213 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Douglas

probably arm core also participates in

sending/managing data to SD from user application.

Best regards

igor

0 项奖励
回复
3,212 次查看
douglasbolton
Contributor III

thanks igor, I think you are correct. I'm trying to track this down just now.

Doug.


0 项奖励
回复