mmaping an IO port device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Can I implement mmap with an io port connected device on an x86 based CPU?


Background:

I've got a device driver which can be compiled for either x86 or ARM. The driver provides an interface to an FPGA via either an IO port (0x180) on the x86 or as a memory mapped SRAM-like device (0x30000000) on the ARM.

To get myself an "address" for ioread calls I use:

FPGA_base = (u32) ioremap_nocache(FPGA_REG_IO_BASE, SZ_4K) for both CPU types.

FPGA_REG_IO_BASE is set to either 0x180 or 0x30000000 for x86 and ARM respectively.

I then call ioread16(FPGA_base + FPGA_register) for both x86 and ARM and it all works perfectly. No problems there.

My problem is that I am now moving from ioctl calls to a mmap interface. This isn't a problem with ARM as I can pass (0x30000000 >> PAGE_SHIFT) to remap_pfn_range() in the .mmap fops function but I can't pass 0x180 because ... well, it's obvious.

Is there a trick?

Aras

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email ______________________________________________________________________
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux