linux_dsm_epyc7002/arch/powerpc/platforms/pseries
Nishanth Aravamudan 71cf1def1a pseries/iommu: Ensure TCEs are cleared with non-huge DDW
There are now two kinds of DMA windows that might be presented by
PowerVM DDW support -- huge windows (that can map all of system memory
regardless of the LPAR configuration) and non-huge windows (which
can't). They are implemented slightly differently in PowerVM, and thus
have different characteristics. The most obvious is that slot isolate
doesn't clear the TCEs/window for us with non-huge windows. Thus, when a
DLPAR operation occurs on a slot using a non-huge window, TCEs are still
present (the notifier chain doesn't currently remove them explicitly)
and the DLPAR fails. Fix this by calling remove_ddw() first, which will
unmap the DDW TCEs.

Note: a corresponding change to drmgr is needed to actually successfully
DLPAR, such that the device-tree update (which causes the notifier chain
to fire) occurs before slot isolate.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-29 11:35:09 +11:00
..
cmm.c
dlpar.c
dtl.c
eeh_cache.c
eeh_dev.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
eeh_driver.c
eeh_event.c
eeh_pe.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
eeh_pseries.c
eeh_sysfs.c
eeh.c powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
event_sources.c
firmware.c powerpc/pseries: Cleanup best_energy_hcall detection 2013-01-10 15:08:37 +11:00
hotplug-cpu.c powerpc: Fix a lazy irq related WARING in arch_local_irq_restore() 2013-01-10 14:43:45 +11:00
hotplug-memory.c
hvCall_inst.c
hvCall.S
hvconsole.c
hvcserver.c
io_event_irq.c
iommu.c pseries/iommu: Ensure TCEs are cleared with non-huge DDW 2013-01-29 11:35:09 +11:00
Kconfig powerpc: Hook up doorbells on server 2013-01-10 15:09:08 +11:00
kexec.c
lpar.c
Makefile powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
mobility.c
msi.c
nvram.c
offline_states.h
pci_dlpar.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pci.c powerpc/pseries/pci: Use NULL instead of 0 for pointers 2013-01-10 17:00:19 +11:00
plpar_wrappers.h powerpc: Add helper functions set the DAWR and CIABR using set_mode 2013-01-10 17:01:36 +11:00
power.c
processor_idle.c
pseries_energy.c powerpc/pseries: Cleanup best_energy_hcall detection 2013-01-10 15:08:37 +11:00
pseries.h
ras.c
reconfig.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-12-18 09:58:09 -08:00
scanlog.c
setup.c powerpc: Add the DAWR support to the set_break() 2013-01-10 17:01:47 +11:00
smp.c powerpc: Hook up doorbells on server 2013-01-10 15:09:08 +11:00
suspend.c