android_kernel_xiaomi_sm8350/arch/sparc64/kernel
FUJITA Tomonori f088025729 sparc64: add the segment boundary checking to IOMMUs while merging SG entries
Some IOMMUs allocate memory areas spanning LLD's segment boundary limit.  It
forces low level drivers to have a workaround to adjust scatter lists that the
IOMMU builds.  We are in the process of making all the IOMMUs respect the
segment boundary limits to remove such work around in LLDs.

SPARC64 IOMMUs were rewritten to use the IOMMU helper functions and the commit
89c94f2f70 made the IOMMUs not allocate memory
areas spanning the segment boundary limit.

However, SPARC64 IOMMUs allocate memory areas first then try to merge them
(while some IOMMUs walk through all the sg entries to see how they can be
merged first and allocate memory areas).  So SPARC64 IOMMUs also need the
boundary limit checking when they try to merge sg entries.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-03-28 15:55:41 -07:00
..
asm-offsets.c
audit.c
auxio.c
binfmt_aout32.c aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT 2008-02-08 09:22:30 -08:00
central.c [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
chmc.c [SPARC64]: Fix memory controller register access when non-SMP. 2007-12-07 01:10:14 -08:00
compat_audit.c
cpu.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c 2008-03-25 21:51:40 -07:00
ds.c [SPARC64]: Use shorter list_splice_init() for brevity. 2008-03-23 22:48:29 -07:00
dtlb_miss.S
dtlb_prot.S
ebus.c
entry.h [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c 2008-03-26 01:52:18 -07:00
entry.S [SPARC64]: Make save_stack_trace() more efficient. 2008-03-24 20:06:24 -07:00
etrap.S
head.S [SPARC64]: Remove most limitations to kernel image size. 2008-03-21 17:01:38 -07:00
hvapi.c
hvtramp.S [SPARC64]: Fix cpu trampoline et al. mismatch warnings. 2008-02-20 22:22:16 -08:00
idprom.c
init_task.c
iommu_common.h sparc64: add the segment boundary checking to IOMMUs while merging SG entries 2008-03-28 15:55:41 -07:00
iommu.c sparc64: add the segment boundary checking to IOMMUs while merging SG entries 2008-03-28 15:55:41 -07:00
irq.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/irq.c 2008-03-26 00:37:51 -07:00
isa.c [SPARC64]: Add missing pci_dev_put 2007-12-05 05:37:57 -08:00
itlb_miss.S
kprobes.c [SPARC64]: Fix sparse warnings wrt. __show_regs(). 2008-02-19 20:48:58 -08:00
ktlb.S [SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled. 2008-01-12 21:52:16 -08:00
ldc.c [SPARC64]: Missing mdesc_release() in ldc_init(). 2007-12-05 05:37:55 -08:00
Makefile [SPARC64]: Make use of the new fs/compat_binfmt_elf.c 2008-02-08 00:08:10 -08:00
mdesc.c [SPARC64]: Fix section mismatchs from dr_cpu_data 2008-02-24 19:47:51 -08:00
module.c [SPARC]: Remove duplicate includes. 2007-11-06 21:23:11 -08:00
of_device.c [SPARC]: Remove of_platform_device_create 2008-02-09 03:49:58 -08:00
pci_common.c [SPARC64]: Check of_get_property() return in pci_determine_mem_io_space(). 2007-10-17 16:25:10 -07:00
pci_fire.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
pci_impl.h
pci_msi.c [SPARC64]: Stop using __do_IRQ(). 2007-10-22 02:16:45 -07:00
pci_psycho.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
pci_sabre.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
pci_schizo.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
pci_sun4v_asm.S
pci_sun4v.c sparc64: add the segment boundary checking to IOMMUs while merging SG entries 2008-03-28 15:55:41 -07:00
pci_sun4v.h
pci.c [SPARC64]: Kill pcic_present(). 2008-02-18 16:40:10 -08:00
power.c [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off(). 2008-02-19 20:39:18 -08:00
process.c [SPARC64]: exec PT_DTRACE 2008-03-23 22:50:16 -07:00
prom.c [SPARC64]: Always register a PROM based early console. 2008-02-17 23:22:50 -08:00
ptrace.c [SPARC64]: flush_ptrace_access() needs preemption disable. 2008-03-26 04:51:12 -07:00
rtrap.S
sbus.c
semaphore.c [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
setup.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c 2008-03-25 21:51:40 -07:00
signal32.c
signal.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c 2008-03-26 01:52:18 -07:00
smp.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c 2008-03-26 01:11:55 -07:00
sparc64_ksyms.c [SPARC]: Kill 'prom_palette'. 2008-02-18 15:28:16 -08:00
sstate.c
stacktrace.c [SPARC64]: Make save_stack_trace() more efficient. 2008-03-24 20:06:24 -07:00
starfire.c
sun4v_ivec.S [SPARC64]: Use sun4v VIRQ interfaces as intended. 2007-10-13 21:53:16 -07:00
sun4v_tlb_miss.S [SPARC64]: Fix hypervisor TLB operation error reporting. 2008-01-17 06:26:55 -08:00
sunos_ioctl32.c
sys32.S
sys_sparc32.c [SPARC64]: exec PT_DTRACE 2008-03-23 22:50:16 -07:00
sys_sparc.c [SPARC64]: Fix most sparse warnings in arch/sparc64/kernel/sys_sparc.c 2008-03-26 01:43:29 -07:00
sys_sunos32.c [NET] endianness noise: INADDR_ANY 2008-03-17 22:44:53 -07:00
sysfs.c
systbls.h [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c 2008-03-26 01:52:18 -07:00
systbls.S [SPARC64]: Make use of compat_sys_ptrace() 2008-02-07 22:46:09 -08:00
time.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c 2008-03-26 01:11:55 -07:00
trampoline.S [SPARC64]: Remove most limitations to kernel image size. 2008-03-21 17:01:38 -07:00
traps.c [SPARC64]: Fix sparse errors in arch/sparc64/kernel/traps.c 2008-03-26 00:19:43 -07:00
tsb.S
ttable.S
una_asm.S
unaligned.c [SPARC64] arch/sparc64/kernel/unaligned.c: Use time_* macros 2008-02-17 23:24:10 -08:00
us2e_cpufreq.c
us3_cpufreq.c
vio.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
viohs.c
visemul.c
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
winfixup.S