linux/arch/powerpc/platforms/pseries
Haren Myneni 716d7a2e37 powerpc/pseries/vas: Modify reconfig open/close functions for migration
VAS is a hardware engine stays on the chip. So when the partition
migrates, all VAS windows on the source system have to be closed
and reopen them on the destination after migration.

The kernel has to consider both DLPAR CPU and migration events to
take action on VAS windows. So using VAS_WIN_NO_CRED_CLOSE and
VAS_WIN_MIGRATE_CLOSE status bits and windows will be reopened
after migration only after both status bits are cleared.

This patch make changes to the current reconfig_open/close_windows
functions to support migration:
- Set VAS_WIN_MIGRATE_CLOSE to the window status when closes and
  reopen windows with the same status during resume.
- Continue to close all windows even if deallocate HCALL failed
  (should not happen) since no way to stop migration with the
  current LPM implementation.
- If the DLPAR CPU event happens while migration is in progress,
  set VAS_WIN_NO_CRED_CLOSE to the window status. Close window
  happens with the first event (migration or DLPAR) and Reopen
  window happens only with the last event (migration or DLPAR).

Signed-off-by: Haren Myneni <haren@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/0aad580387cb58379496b4cbbd7c5596e9ea70be.camel@linux.ibm.com
2022-03-08 00:04:56 +11:00
..
cc_platform.c powerpc/pseries/svm: Add a powerpc version of cc_platform_has() 2021-10-04 11:46:33 +02:00
cmm.c mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
dlpar.c powerpc/pseries/dlpar: use rtas_get_sensor() 2021-06-25 14:47:20 +10:00
dtl.c powerpc: rename powerpc_debugfs_root to arch_debugfs_dir 2021-08-13 22:04:26 +10:00
eeh_pseries.c pseries/eeh: Fix the kdump kernel crash during eeh_pseries_init 2021-10-07 23:37:22 +11:00
event_sources.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
firmware.c powerpc/pseries: Add support for FORM2 associativity 2021-08-13 22:04:27 +10:00
hotplug-cpu.c powerpc/pseries: use slab context cpumask allocation in CPU hotplug init 2021-12-16 21:31:46 +11:00
hotplug-memory.c Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
hvCall_inst.c powerpc/pseries: Make symbol '__pcpu_scope_hcall_stats' static 2021-04-14 23:04:17 +10:00
hvCall.S powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
hvconsole.c
hvcserver.c powerpc: Use fallthrough pseudo-keyword 2020-07-29 21:09:37 +10:00
ibmebus.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
io_event_irq.c
iommu.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
Kconfig powerpc/pseries: Stop selecting PPC_HASH_MMU_NATIVE 2021-12-02 22:57:23 +11:00
kexec.c
lpar.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
lparcfg.c powerpc/pseries: read the lpar name from the firmware 2022-02-02 20:32:10 +11:00
Makefile powerpc/pseries/vas: sysfs interface to export capabilities 2022-03-08 00:04:56 +11:00
mobility.c powerpc/pseries: make pseries_devicetree_update() static 2022-02-12 22:47:44 +11:00
msi.c powerpc/pseries/msi: Let core code check for contiguous entries 2021-12-16 22:16:40 +01:00
nvram.c
of_helpers.c
of_helpers.h
papr_scm.c powerpc/papr_scm: Implement initial support for injecting smart errors 2022-02-16 23:10:47 +11:00
pci_dlpar.c powerpc/pseries/pci: Add support of MSI domains to PHB hotplug 2021-08-10 23:14:58 +10:00
pci.c powerpc/powernv: remove the nvlink support 2021-05-02 23:35:32 +10:00
pmem.c powerpc/pseries/pmem: Make symbol 'drc_pmem_match' static 2021-04-14 23:04:17 +10:00
power.c
pseries_energy.c
pseries.h powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
ras.c powerpc/64s: Move hash MMU support code under CONFIG_PPC_64S_HASH_MMU 2021-12-09 22:41:13 +11:00
reconfig.c
rng.c powerpc/pseries: Fix missing of_node_put() in rng_init() 2020-08-25 01:31:31 +10:00
rtas-fadump.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
rtas-fadump.h
setup.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
smp.c powerpc/preempt: Don't touch the idle task's preempt_count during hotplug 2021-07-08 23:38:10 +10:00
suspend.c powerpc/pseries/hibernation: remove prepare_late() callback 2020-12-08 21:41:02 +11:00
svm.c Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
vas-sysfs.c powerpc/pseries/vas: Add 'update_total_credits' entry for QoS capabilities 2022-03-08 00:04:56 +11:00
vas.c powerpc/pseries/vas: Modify reconfig open/close functions for migration 2022-03-08 00:04:56 +11:00
vas.h powerpc/pseries/vas: Add 'update_total_credits' entry for QoS capabilities 2022-03-08 00:04:56 +11:00
vio.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
vphn.c