linux/arch/sparc64/kernel
Max Dmitrichenko 5769907ade sparc64: Fix PCI resource mapping on sparc64
There is a problem discovered in recent versions of ATI Mach64 driver
in X.org on sparc64 architecture. In short, the driver fails to mmap
MMIO aperture (PCI resource #2).

I've found that kernel's __pci_mmap_make_offset() returns EINVAL. It
checks whether user attempts to mmap more than the resource length,
which is 0x1000 bytes in our case. But PAGE_SIZE on SPARC64 is 0x2000
and this is what actually is being mmaped. So __pci_mmap_make_offset()
failed for this PCI resource.

Signed-off-by: Max Dmitrichenko <dmitrmax@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-02 00:34:10 -07:00
..
asm-offsets.c kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
audit.c sparc64: Kill CONFIG_SPARC32_COMPAT 2008-04-26 21:41:19 -07:00
auxio.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
central.c sparc64: Rewrite central driver. 2008-08-31 20:56:15 -07:00
cherrs.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
chmc.c chmc: Mark %ver register inline asm with __volatile__ 2008-10-12 23:56:12 -07:00
compat_audit.c sparc, sparc64: use arch/sparc/include 2008-07-27 23:00:59 +02:00
cpu.c sparc64: Clean up CPU chip type probing code. 2008-08-31 21:48:12 -07:00
ds.c sparc64: Apply const or __initdata to vio_device_id[] 2008-09-01 01:48:52 -07:00
dtlb_miss.S [SPARC64]: More TLB/TSB handling fixes. 2006-03-20 01:13:34 -08:00
dtlb_prot.S sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
ebus.c sparc: Kill EBUS driver layer. 2008-08-30 00:36:11 -07:00
entry.h sparc64: Clean up CPU chip type probing code. 2008-08-31 21:48:12 -07:00
etrap.S sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
fpu_traps.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
ftrace.c ftrace: store mcount address in rec->ip 2008-06-23 22:10:56 +02:00
getsetcc.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
head.S sparc64: Use ENTRY/ENDPROC in hypervisor asm. 2008-09-01 03:13:17 -07:00
helpers.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
hvapi.c sparc64: Implement SSTATE purely using notifiers and initcalls. 2008-09-02 00:49:38 -07:00
hvcalls.S sparc64: Use ENTRY/ENDPROC in hypervisor asm. 2008-09-01 03:13:17 -07:00
hvtramp.S [SPARC64]: Fix cpu trampoline et al. mismatch warnings. 2008-02-20 22:22:16 -08:00
idprom.c sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
init_task.c [PATCH] take init_files to fs/file.c 2008-05-16 17:22:20 -04:00
iommu_common.h sparc64: use iommu_num_pages function in IOMMU code 2008-10-16 11:21:33 -07:00
iommu.c sparc64: use iommu_num_pages function in IOMMU code 2008-10-16 11:21:33 -07:00
irq.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
itlb_miss.S [SPARC64]: Fix _PAGE_EXEC_4U check in sun4u I-TLB miss handler. 2007-05-29 02:50:15 -07:00
ivec.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
kgdb.c sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
kprobes.c kprobes: improve kretprobe scalability with hashed locking 2008-07-25 10:53:30 -07:00
kstack.h sparc64: Handle stack trace attempts before irqstacks are setup. 2008-08-13 17:20:04 -07:00
ktlb.S [SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled. 2008-01-12 21:52:16 -08:00
ldc.c sparc64: Fix lockdep issues in LDC protocol layer. 2008-07-22 22:34:29 -07:00
Makefile sparc64: Start commonizing code common between SABRE and PSYCHO. 2008-09-10 23:11:56 -07:00
mdesc.c [SPARC64]: Initialize MDESC earlier and use lmb_alloc() 2008-04-23 23:32:12 -07:00
misctrap.S sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
module.c [SPARC]: Remove duplicate includes. 2007-11-06 21:23:11 -08:00
of_device.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
pci_common.c sparc64: Record OF device instead of device node pointer in pci_pbm_info. 2008-09-10 23:07:59 -07:00
pci_fire.c sparc64: Kill hand-crafted I/O accessors in PCI controller drivers. 2008-09-10 23:14:46 -07:00
pci_impl.h sparc64: Fix sparse warnings in pci.c 2008-09-11 23:57:40 -07:00
pci_msi.c sparc64: Record OF device instead of device node pointer in pci_pbm_info. 2008-09-10 23:07:59 -07:00
pci_psycho.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-09-16 14:11:43 -07:00
pci_sabre.c sparc64: Kill hand-crafted I/O accessors in PCI controller drivers. 2008-09-10 23:14:46 -07:00
pci_schizo.c sparc64: Kill hand-crafted I/O accessors in PCI controller drivers. 2008-09-10 23:14:46 -07:00
pci_sun4v_asm.S sparc64: Use ENTRY/ENDPROC in PCI SUN4V asm. 2008-09-01 03:18:49 -07:00
pci_sun4v.c sparc64: use iommu_num_pages function in IOMMU code 2008-10-16 11:21:33 -07:00
pci_sun4v.h [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
pci.c sparc64: Fix PCI resource mapping on sparc64 2008-11-02 00:34:10 -07:00
power.c sparc64: Move reboot handling into seperate file and kill power reg programming. 2008-09-02 00:31:11 -07:00
process.c sparc64: Fix sparse warnings in global reg snapshotting. 2008-09-11 23:19:22 -07:00
prom.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-09-16 14:11:43 -07:00
psycho_common.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-09-16 14:11:43 -07:00
psycho_common.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-09-16 14:11:43 -07:00
ptrace.c sparc: Fix user_regset 'n' field values. 2008-09-12 15:55:44 -07:00
reboot.c sysctl: Use header file for sysctl knob declarations on sparc. 2008-09-11 23:33:53 -07:00
rtrap.S sparc64: tracehook: TIF_NOTIFY_RESUME 2008-07-27 17:32:19 -07:00
sbus.c sparc64: Rewrite central driver. 2008-08-31 20:56:15 -07:00
setup.c sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
signal32.c sparc64: tracehook_signal_handler 2008-07-27 17:32:35 -07:00
signal.c arch/sparc64/kernel/signal.c: removed duplicated #include 2008-08-04 13:51:36 -07:00
smp.c sparc64: Add missing notify_cpu_starting() call. 2008-10-12 23:55:47 -07:00
sparc64_ksyms.c sparc: Kill EBUS driver layer. 2008-08-30 00:36:11 -07:00
spiterrs.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
sstate.c sparc64: Implement SSTATE purely using notifiers and initcalls. 2008-09-02 00:49:38 -07:00
stacktrace.c sparc64: Handle stack trace attempts before irqstacks are setup. 2008-08-13 17:20:04 -07:00
starfire.c sparc64: Delete starfire_cpu_setup(). 2008-08-31 01:40:12 -07:00
sun4v_ivec.S [SPARC64]: Use sun4v VIRQ interfaces as intended. 2007-10-13 21:53:16 -07:00
sun4v_tlb_miss.S [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00
sys32.S sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
sys_sparc32.c compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
sys_sparc.c flag parameters: pipe 2008-07-24 10:47:28 -07:00
syscalls.S sparc64: Split syscall_trace() into two functions. 2008-08-24 20:34:31 -07:00
sysfs.c sysdev: Pass the attribute to the low level sysdev show/store function 2008-07-21 21:55:02 -07:00
systbls.h [SPARC]: Remove SunOS and Solaris binary support. 2008-04-21 15:10:15 -07:00
systbls.S compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
time.c sparc64: Add missing null terminating entry to bq4802_match[]. 2008-10-30 22:58:06 -07:00
trampoline.S sparc64: Fix race in arch/sparc64/kernel/trampoline.S 2008-10-22 21:53:40 -07:00
traps.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
tsb.S [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00
ttable.S sparc64: Convert to generic helpers for IPI function calls. 2008-07-17 23:44:50 -07:00
una_asm.S [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
unaligned.c sparc: Use new '%pS' infrastructure to print symbols. 2008-07-17 22:11:32 -07:00
us2e_cpufreq.c [CPUFREQ] move policy's governor initialisation out of low-level drivers into cpufreq core 2007-10-04 18:40:57 -04:00
us3_cpufreq.c cpufreq: remove policy->governor setting in drivers initialization 2008-10-15 16:42:47 -07:00
utrap.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
vio.c sparc64: Fix sparse warnings in vio.c 2008-09-12 00:04:33 -07:00
viohs.c viohs: extern on function definition 2007-07-26 11:11:56 -07:00
visemul.c sparc64: Fix sparse warnings in visemul.c 2008-09-11 23:46:40 -07:00
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
winfixup.S [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00