summaryrefslogtreecommitdiffstats
path: root/arch/m68k/mm/kmap.c
diff options
context:
space:
mode:
authorGreg Ungerer2018-03-30 15:40:31 +0200
committerGreg Ungerer2018-05-28 01:45:26 +0200
commit4d53037876277fbba10f47de7b90d3a873c5d12b (patch)
treee79703184ec4066f0034c47b988cc8fb2aff3afe /arch/m68k/mm/kmap.c
parentm68k: don't redefine access functions if we have PCI (diff)
downloadkernel-qcow2-linux-4d53037876277fbba10f47de7b90d3a873c5d12b.tar.gz
kernel-qcow2-linux-4d53037876277fbba10f47de7b90d3a873c5d12b.tar.xz
kernel-qcow2-linux-4d53037876277fbba10f47de7b90d3a873c5d12b.zip
m68k: fix read/write multi-byte IO for PCI on ColdFire
We need to treat built-in peripherals and bus based address ranges differently. Local built-in peripherals (and the ColdFire SoC parts have quite a lot of them) are always native endian - which is big endian on m68k/ColdFire. Bus based address ranges, like the PCI bus, are accessed little endian - so we need to byte swap those. So implement readw/writew and readl/writel functions to deal with memory mapped accesses correctly based on the address range being accessed. This fixes readw/writew and readl/writel so that they can be used in drivers for native SoC hardware modules (many of which are shared with other architectures (ARM in Freescale SoC parts for example). And also drivers for PCI devices. Signed-off-by: Greg Ungerer <gerg@linux-m68k.org> Tested-by: Angelo Dureghello <angelo@sysam.it>
Diffstat (limited to 'arch/m68k/mm/kmap.c')
0 files changed, 0 insertions, 0 deletions