Re: Driver: accessing peripheral on main bus - iowrite32(), memcpy_toio() | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Portability On Fri, Aug 8, 2008 at 8:18 AM, Patrick <kpa_info@xxxxxxxx> wrote: > Hello all, > > I am developing a driver for my own board based on an AT91rm9200. An FPGA is > attached to the ARM with the static memory controller. I need to write a big > amount (260kbytes) of data inside the fpga. I have some question about the > way to access the fpga (like a memory) from my driver. > > Currently I am using the following function in the following order and it > works nice: > - request_mem_region(...) > - ioremap(...) > - iowrite32(...) //using the address returned by ioremap > - wmb() > > But I am a little bit confused about using all those function. When I look > inside the mach independent code I don't see iowrite or wmb but only simple > pointer accessing the hardware. > > What is exactly the goal of iowrite, wmb and memcpy_toio function family in > comparison with the direct pointer writing? > > For writing a block of data (260k) inside my fpga I have tried two different > way: The first is with a loop with iowrite32() and wmb() the second is with > memcpy_toio(). Surprisingly the technique with a loop is near two time > faster than the memcpy_toio() ! Do you know why? > > Finally what is (in your opinion) the better/faster way to write all my data > inside the fpga? > > Thanks in advance for any kind of help. At this point any information will > help me! > > Patrick > > > ------------------------------------------------------------------- > List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm > FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php > Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php > ------------------------------------------------------------------- List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
[Site Home] [Linux ARM Kernel] [Fedora ARM] [IETF Annouce] [Security] [Bugtraq] [Linux] [Linux OMAP] [Linux MIPS] [ECOS] [Tools] [DDR & Rambus] [Monitors]
![]() |
|