On Monday 03 August 2009 17:01:37 Rafal Jaworowski wrote: > Hans, > So how do you want to proceed with these cache sync issues? We need to > fix this before 8.0. Hi, CC'ed current: We have a case on ARM where bus_dmamap_sync() is not suffient to update the CPU cache. One reason for this is that USB needs to invalidate the same memory area multiple times. Busdma sync expects paired operation when using the PRE and POST flags, from what I understand. I do not consider this an USB issue, hence Semihalf has got the USB stack working by manually inserting CPU flush/invalidate calls into usb_pc_cpu_invalidate() and usb_pc_cpu_flush(). Their other solution however which modifies the bus_dmamap_sync() flags will break on platforms with more than 4 GByte of memory. Maybe Rafal can give a quick summar to new people at the -current list, or see previous thread on the ARM mailing list. USB needs a solution where it can call a function given a busdma mapping, preferably with an offset and length, which handles the cache sync issue and works with bounce pages on +4GB systems. --HPSReceived on Mon Aug 03 2009 - 13:59:51 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC