linux-kernel-test/arch/mips/include/asm
Bjorn Helgaas 96a6b9ad05 mips/PCI: get rid of device resource fixups
Tell the PCI core about host bridge address translation so it can take
care of bus-to-resource conversion for us.

Here's the wrinkle on Cobalt: we can't generate normal I/O port addresses
on PCI because the GT-64111 doesn't do any address translation, so we have
this:

  CPU I/O port addresses		[io 0x0000-0xffffff]
  PCI bus I/O port addresses	[io 0x10000000-0x10ffffff]

Legacy-mode IDE controllers start out with the legacy bus addresses, e.g.,
0x1f0, assigned by pci_setup_device().  These are outside the range of
addresses GT-64111 can generate on PCI, but pcibios_fixup_device_resources()
converted them to CPU addresses anyway by adding io_offset.  Therefore, we
had to pre-adjust them in cobalt_legacy_ide_fixup().

With io_offset = 0xf0000000, we had this:

  res->start = 0x1f0	initialized in pci_setup_device()
  res->start = 0x100001f0	-= io_offset in cobalt_legacy_ide_fixup()
  res->start = 0x1f0	+= io_offset in pcibios_fixup_device_resources()

The difference after this patch is that the generic pci_bus_to_resource()
only adds the offset if the bus address is inside a host bridge window.
Since 0x1f0 is not a valid bus address and is not inside any windows, it is
unaffected, so we now have this:

  region->start = 0x1f0	initialized in pci_setup_device()
  res->start = 0x1f0	no offset by pci_bus_to_resource()

That means we can remove both pcibios_fixup_device_resources() and
cobalt_legacy_ide_fixup().

I would *rather* set the host bridge offset to zero (which corresponds
to what the GT-64111 actually does), and have both CPU and PCI addresses
of [io 0x10000000-0x10ffffff].  However, that would require changes to
generic code that assumes legacy I/O addresses, such as pic1_io_resource
([io 0x0020-0x00021]), and we'd have to keep a Cobalt IDE fixup.

Of course, none of this changes the fact that references to I/O port
0x1f0 actually go to port 0x100001f0, not 0x1f0, on the Cobalt PCI bus.
Fortunately the VT82C586 IDE controller only decodes the low 24 address
bits, so it does work.

CC: Ralf Baechle <ralf@linux-mips.org>
CC: Yoichi Yuasa <yuasa@linux-mips.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2012-02-23 20:19:02 -07:00
..
dec Fix common misspellings 2011-03-31 11:26:23 -03:00
emma MIPS: EMMA2RH: Replace EMMA2RH_SW_IRQ_INTxx with EMMA2RH_SW_IRQ(n) 2010-08-05 13:26:04 +01:00
fw
ip32 net: meth: Add set_rx_mode hook to fix ICMPv6 neighbor discovery 2011-12-27 13:17:34 -05:00
lasat doc: fix broken references 2011-09-27 18:08:04 +02:00
mach-ar7 MIPS: AR7: Fix loops per jiffies on TNETD7200 devices 2010-12-16 18:10:56 +00:00
mach-ath79 MIPS: ath79: Add AR933x specific WMAC setup code 2011-12-07 22:02:48 +00:00
mach-au1x00 MIPS: Alchemy: Update cpu-feature-overrides 2011-12-08 10:42:16 +00:00
mach-bcm47xx MIPS: BCM47xx: fix build with GENERIC_GPIO configuration 2011-11-08 12:35:29 +00:00
mach-bcm63xx Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-01-14 13:05:21 -08:00
mach-cavium-octeon MIPS: Octeon: Enable C0_UserLocal probing. 2011-09-24 01:44:41 +02:00
mach-cobalt Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
mach-db1x00 MIPS: Alchemy: remove unused board headers 2011-12-08 10:42:15 +00:00
mach-dec
mach-emma2rh
mach-generic MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
mach-ip22 MIPS: IP22/28: Switch over to RTC class driver 2008-10-15 12:46:51 +01:00
mach-ip27 MIPS: Remove pointless return statement from empty void functions. 2011-07-25 17:26:55 +01:00
mach-ip28 MIPS: IP22/28: Switch over to RTC class driver 2008-10-15 12:46:51 +01:00
mach-ip32 Fix common misspellings 2011-03-31 11:26:23 -03:00
mach-jazz MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
mach-jz4740 MIPS: static should be at beginning of declaration 2011-07-11 14:13:46 +02:00
mach-lantiq MIPS: Lantiq: Add ethernet driver 2011-05-19 09:55:43 +01:00
mach-lasat
mach-loongson MIPS: Remove pointless return statement from empty void functions. 2011-07-25 17:26:55 +01:00
mach-malta MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms 2011-07-25 17:26:55 +01:00
mach-mipssim MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms 2011-07-25 17:26:55 +01:00
mach-netlogic MIPS: Netlogic: XLP CPU support. 2011-12-07 22:04:55 +00:00
mach-pnx833x MIPS: Nuke trailing blank lines 2010-02-27 12:53:14 +01:00
mach-pnx8550
mach-powertv MIPS: Remove unneeded version.h includes from arch/mips/ 2011-09-17 02:40:36 +02:00
mach-rc32434 MIPS: RB532: Cleanup cpu-features-overrides 2009-06-17 11:06:26 +01:00
mach-rm
mach-sibyte MIPS: Sibyte: Apply M3 workaround only on affected chip types and versions. 2010-04-12 17:26:19 +01:00
mach-tx39xx MIPS: Move FIXADDR_TOP into spaces.h 2011-07-25 17:26:53 +01:00
mach-tx49xx MIPS: Move FIXADDR_TOP into spaces.h 2011-07-25 17:26:53 +01:00
mach-vr41xx
mach-wrppmc
mach-yosemite
mips-boards MIPS: GIC: Remove dependencies from Malta files. 2010-10-04 18:33:56 +01:00
netlogic MIPS: Netlogic: Merge some of XLR/XLP wakup code 2011-12-07 22:04:56 +00:00
octeon MIPS: Octeon: Update DMA mapping operations for OCTEON II processors. 2011-12-07 22:03:29 +00:00
pci Fix common misspellings 2011-03-31 11:26:23 -03:00
pmc-sierra/msp71xx Fix common misspellings 2011-03-31 11:26:23 -03:00
sgi Fix common misspellings 2011-03-31 11:26:23 -03:00
sibyte Fix common misspellings 2011-03-31 11:26:23 -03:00
sn Fix common misspellings 2011-03-31 11:26:23 -03:00
txx9 MIPS: TXx9: Remove forced serial console setting 2010-02-27 12:53:22 +01:00
vr41xx Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
xtalk
abi.h MIPS: Move signal trampolines off of the stack. 2010-04-12 17:26:15 +01:00
addrspace.h
amon.h MIPS: CMP: activate CMP support 2009-07-03 15:45:26 +01:00
arch_hweight.h MIPS: Create and use asm/arch_hweight.h 2010-08-05 13:26:02 +01:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h
asmmacro-32.h update David Miller's old email address 2011-04-06 06:19:38 -07:00
asmmacro-64.h update David Miller's old email address 2011-04-06 06:19:38 -07:00
asmmacro.h MIPS: Use EI/DI for MIPS R2. 2008-12-12 18:12:23 +00:00
atomic.h atomic: cleanup asm-generic atomic*.h inclusion 2011-07-26 16:49:47 -07:00
auxvec.h
barrier.h MIPS: Optimize spinlocks. 2010-02-27 12:53:42 +01:00
bcache.h
bitops.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bmips.h MIPS: BMIPS: Introduce bmips.h 2011-12-07 22:03:18 +00:00
bootinfo.h MIPS: Handle initmem in systems with kernel not in add_memory_region() mem 2011-12-07 22:03:45 +00:00
branch.h MIPS Kprobes: Refactor branch emulation 2011-12-07 22:04:03 +00:00
break.h MIPS: kprobe: Add support. 2010-08-05 13:26:29 +01:00
bug.h MIPS: Convert BUG() to use unreachable() 2009-12-05 09:10:12 -08:00
bugs.h MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h MIPS: Rename .data..mostly and properly handle it in linker script 2011-05-10 18:15:24 +01:00
cachectl.h
cacheflush.h MIPS: cache: Provide cache flush operations for XFS 2011-10-20 15:00:18 +01:00
cacheops.h MIPS: RM7000: Add support for tertiary cache 2010-08-05 13:26:06 +01:00
cevt-r4k.h MIPS: MSP: Fix build error 2011-05-10 18:15:24 +01:00
checksum.h MIPS: uaccess: Switch lock annotations to might_fault(). 2009-05-14 13:50:28 +01:00
clock.h MIPS: Loongson 2F: Add CPU frequency scaling support 2009-12-17 01:57:20 +00:00
cmp.h
cmpxchg.h MIPS: Get rid of branches to .subsections. 2010-10-29 19:08:24 +01:00
compat-signal.h
compat.h compat: sync compat_stats with statfs. 2011-10-28 14:58:53 +02:00
compiler.h
cop2.h MIPS: Don't place cu2 notifiers in __cpuinitdata 2010-10-04 18:34:00 +01:00
cpu-features.h MIPS: Update comment for cpu_has_clo_clz 2010-08-05 13:26:01 +01:00
cpu-info.h MIPS: Probe for presence of KScratch registers. 2011-01-18 19:30:22 +01:00
cpu.h Merge branches 'next/ar7', 'next/ath79', 'next/bcm63xx', 'next/bmips', 'next/cavium', 'next/generic', 'next/kprobes', 'next/lantiq', 'next/perf' and 'next/raza' into mips-for-linux-next 2012-01-11 15:42:31 +01:00
cputime.h
current.h MIPS: Use generic current.h 2010-02-27 12:53:27 +01:00
debug.h
delay.h MIPS: Fix potencial build error in <asm/delay.h> 2009-09-17 20:07:41 +02:00
device.h MIPS: Convert DMA to use dma-mapping-common.h 2010-10-29 19:08:31 +01:00
div64.h MIPS: Rewrite <asm/div64.h> to work with gcc 4.4.0. 2009-05-14 13:50:29 +01:00
dma-mapping.h MIPS: Kludge IP27 build for 2.6.39. 2011-05-18 14:18:27 +01:00
dma.h MIPS: Allow MAX_DMA32_PFN to be overridden. 2010-10-29 19:08:28 +01:00
ds1287.h Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
dsp.h
edac.h
elf.h MIPS: Don't clobber personality high bits. 2010-12-16 18:10:54 +00:00
emergency-restart.h
errno.h mm: make __get_user_pages return -EHWPOISON for HWPOISON page optionally 2011-03-17 13:08:27 -03:00
fb.h
fcntl.h MIPS: 32-bit: Fix build failure in asm/fcntl.h 2010-10-18 16:59:04 +01:00
fixmap.h MIPS: Move FIXADDR_TOP into spaces.h 2011-07-25 17:26:53 +01:00
floppy.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
fpregdef.h
fpu_emulator.h MIPS: Fix build breakage if CONFIG_DEBUG_FS is enabled. 2010-04-12 17:26:08 +01:00
fpu.h MIPS: Cleanup signal code initialization 2009-12-17 01:57:32 +00:00
ftrace.h MIPS: Loongson: Change the Email address of Wu Zhangjin 2010-02-27 12:53:12 +01:00
futex.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gcmpregs.h MIPS: GIC: Random fixes and enhancements. 2009-11-02 12:00:06 +01:00
gic.h MIPS: GIC: Remove dependencies from Malta files. 2010-10-04 18:33:56 +01:00
gio_device.h MIPS: GIO bus support for SGI IP22/28 2011-12-07 22:03:44 +00:00
gpio.h
gt64120.h MIPS: GT64120: Remove useless inclusion of clocksource.h. 2011-07-20 23:12:10 +01:00
hardirq.h MIPS: Convert to asm-generic/hardirq.h 2009-09-17 20:07:48 +02:00
hazards.h MIPS: BMIPS: Add CFLAGS, Makefile entries for BMIPS 2011-12-07 22:03:17 +00:00
highmem.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
hugetlb.h MIPS: Hugetlb: Keep TLB cache hot while flushing 2011-12-07 22:03:45 +00:00
hw_irq.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
i8259.h MIPS: i8259: Convert IRQ controller lock to raw spinlock. 2010-02-27 12:53:38 +01:00
ide.h
inst.h MIPS: Add LDX and LWX instructions to uasm. 2011-01-18 19:30:23 +01:00
io.h Revert "MIPS: LD/SD o32 macro GAS fix update" 2011-10-20 15:00:19 +01:00
ioctl.h MIPS: ioctl.h: Cleanup. 2009-06-17 11:06:28 +01:00
ioctls.h tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys 2011-02-17 14:16:30 -08:00
ipcbuf.h consolidate a bunch of ipcbuf.h instances 2012-01-03 22:55:18 -05:00
irq_cpu.h
irq_gt641xx.h Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
irq_regs.h
irq.h MIPS: Remove pointless return statement from empty void functions. 2011-07-25 17:26:55 +01:00
irqflags.h Fix common misspellings 2011-03-31 11:26:23 -03:00
isadep.h
jazz.h
jazzdma.h
jump_label.h jump label: Introduce static_branch() interface 2011-04-04 12:48:08 -04:00
Kbuild UAPI: Fix arch/mips/include/asm/Kbuild to have separate header-y lines 2011-12-12 13:52:27 +00:00
kdebug.h MIPS: kprobe: Add support. 2010-08-05 13:26:29 +01:00
kexec.h
kgdb.h kgdb,mips: Individual register get/set for mips 2010-08-05 09:22:21 -05:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kprobes.h MIPS Kprobes: Support branch instructions probing 2011-12-07 22:04:03 +00:00
kspd.h
linkage.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
m48t37.h
mc146818-time.h set_rtc_mmss: show warning message only once 2011-01-13 08:03:07 -08:00
mc146818rtc.h
mips_machine.h MIPS: Add generic support for multiple machines within a single kernel 2011-01-18 19:30:21 +01:00
mips_mt.h
mipsmtregs.h
mipsprom.h MIPS: SNI: Fix conflicting wrapper symbols for headers. 2011-10-20 15:00:18 +01:00
mipsregs.h MIPS: BMIPS: Add set/clear CP0 macros for BMIPS operations 2011-12-07 22:03:18 +00:00
mman.h thp: mm: define MADV_NOHUGEPAGE 2011-01-13 17:32:47 -08:00
mmu_context.h MIPS: Use C0_KScratch (if present) to hold PGD pointer. 2011-01-18 19:30:22 +01:00
mmu.h MIPS: Preliminary VDSO 2010-04-12 17:26:14 +01:00
mmzone.h
module.h Merge branches 'next/ar7', 'next/ath79', 'next/bcm63xx', 'next/bmips', 'next/cavium', 'next/generic', 'next/kprobes', 'next/lantiq', 'next/perf' and 'next/raza' into mips-for-linux-next 2012-01-11 15:42:31 +01:00
msc01_ic.h MIPS: Nuke trailing blank lines 2010-02-27 12:53:14 +01:00
msgbuf.h
mutex.h
nile4.h MIPS: Nuke trailing blank lines 2010-02-27 12:53:14 +01:00
paccess.h Fix common misspellings 2011-03-31 11:26:23 -03:00
page.h MIPS: Flush huge TLB 2012-01-11 15:37:13 +01:00
param.h MIPS: Simplify param.h by using <asm-generic/param.h> 2010-02-27 12:53:04 +01:00
parport.h MIPS: Use generic parport.h 2010-02-27 12:53:27 +01:00
pci.h mips/PCI: get rid of device resource fixups 2012-02-23 20:19:02 -07:00
percpu.h
perf_event.h MIPS, Perf-events: Work with irq_work 2011-03-14 21:07:26 +01:00
pgalloc.h MIPS: Two-level pagetables for 64-bit kernels with 64KB pages. 2010-02-27 12:53:03 +01:00
pgtable-32.h Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
pgtable-64.h MIPS: Make TASK_SIZE reflect proper size for both 32 and 64 bit processes. 2010-10-29 19:08:53 +01:00
pgtable-bits.h MIPS: Implement Read Inhibit/eXecute Inhibit 2010-02-27 12:53:26 +01:00
pgtable.h MIPS: topdown mmap support 2011-07-25 17:26:51 +01:00
pmon.h
poll.h
posix_types.h
prefetch.h MIPS: NEC VR5500 processor support fixup 2009-03-11 21:11:07 +01:00
processor.h Fix common misspellings 2011-03-31 11:26:23 -03:00
prom.h MIPS: SNI: Fix conflicting wrapper symbols for headers. 2011-10-20 15:00:18 +01:00
ptrace.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit 2012-01-17 16:41:31 -08:00
r4k-timer.h
r4kcache.h update David Miller's old email address 2011-04-06 06:19:38 -07:00
reboot.h
reg.h MIPS: 64-bit: Fix o32 core dump 2009-07-03 15:45:27 +01:00
regdef.h MIPS: O32: Provide definition of registers ta0 .. ta3. 2011-10-24 23:34:27 +01:00
resource.h
rm9k-ocd.h
rtlx.h
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled 2009-03-13 23:07:59 +01:00
sections.h
segment.h
sembuf.h
serial.h MIPS: Use generic serial.h 2010-02-27 12:53:27 +01:00
setup.h MIPS: Extend COMMAND_LINE_SIZE 2009-11-02 12:00:01 +01:00
sgialib.h update David Miller's old email address 2011-04-06 06:19:38 -07:00
sgiarcs.h update David Miller's old email address 2011-04-06 06:19:38 -07:00
sgidefs.h
shmbuf.h
shmparam.h
sigcontext.h headers_check fix: mips, sigcontext.h 2009-02-01 11:01:26 +05:30
siginfo.h Fix common misspellings 2011-03-31 11:26:23 -03:00
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
sim.h
smp-ops.h MIPS: ARC: Fix build of firmware library on uniprocessor. 2011-07-20 23:12:11 +01:00
smp.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smtc_ipi.h MIPS: SMTC: Avoid queing multiple reschedule IPIs 2009-11-02 12:00:06 +01:00
smtc_proc.h
smtc.h MIPS: SMTC: Fix build. 2011-07-20 23:12:10 +01:00
smvp.h
sni.h
socket.h net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
sockios.h
sparsemem.h MIPS: Nuke trailing blank lines 2010-02-27 12:53:14 +01:00
spinlock_types.h MIPS: Optimize spinlocks. 2010-02-27 12:53:42 +01:00
spinlock.h MIPS: Microoptimize arch_{read,write}_lock 2011-03-25 18:45:13 +01:00
spram.h MIPS: SPRAM: Clean up support code a little 2009-11-02 12:00:05 +01:00
stackframe.h MIPS: Don't clobber CP0_STATUS value for CONFIG_MIPS_MT_SMTC 2011-09-21 17:54:02 +02:00
stacktrace.h MIPS: Add new unwind_stack variant 2011-06-15 14:35:33 +02:00
stat.h
statfs.h add f_flags to struct statfs(64) 2010-08-09 16:48:44 -04:00
string.h
suspend.h PM / Hibernate: Remove arch_prepare_suspend() 2011-05-24 23:35:55 +02:00
swab.h MIPS: Define __arch_swab64 for all mips r2 cpus 2009-07-03 15:45:25 +01:00
sysmips.h
system.h MIPS: Get rid of branches to .subsections. 2010-10-29 19:08:24 +01:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h MIPS: Add return value checks to user_termio_to_kernel_termios() 2009-01-30 21:32:57 +00:00
thread_info.h freezer: remove now unused TIF_FREEZE 2011-11-21 12:32:25 -08:00
time.h mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
timex.h
titan_dep.h
tlb.h
tlbdebug.h
tlbflush.h
tlbmisc.h MIPS: Fix Jazz 64-bit build error. 2011-12-07 22:01:45 +00:00
topology.h
traps.h MIPS: Add board_ebase_setup() 2011-12-07 22:03:18 +00:00
txx9irq.h
txx9pio.h
txx9tmr.h
types.h Merge branch 'for-next' of git://git.infradead.org/users/dhowells/linux-headers 2012-01-14 18:03:30 -08:00
uaccess.h MIPS: Make TASK_SIZE reflect proper size for both 32 and 64 bit processes. 2010-10-29 19:08:53 +01:00
uasm.h MIPS: Add uasm UASM_i_SRL_SAFE macro. 2011-07-26 06:47:36 +01:00
ucontext.h MIPS: Use generic ucontext.h 2010-02-27 12:53:27 +01:00
unaligned.h MIPS: Avoid spurious make includecheck message 2009-09-30 21:47:02 +02:00
unistd.h MIPS: Hook up process_vm_readv and process_vm_writev system calls. 2011-11-09 00:07:56 +00:00
user.h
vdso.h MIPS: Preliminary VDSO 2010-04-12 17:26:14 +01:00
vga.h
vpe.h
war.h Fix common misspellings 2011-03-31 11:26:23 -03:00
watch.h
wbflush.h
xor.h