disable cache on DMA

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
3,632件の閲覧回数
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,189件の閲覧回数
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,189件の閲覧回数
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,189件の閲覧回数
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,189件の閲覧回数
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,189件の閲覧回数
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,190件の閲覧回数
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,189件の閲覧回数
douglasbolton
Contributor III

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

Doug.


0 件の賞賛
返信