linux-brain/arch/powerpc/platforms/pseries
Nathan Lynch ba5c8a0ee6 powerpc/pseries/dlpar: handle ibm, configure-connector delay status
[ Upstream commit 768d70e19ba525debd571b36e6d0ab19956c63d7 ]

dlpar_configure_connector() has two problems in its handling of
ibm,configure-connector's return status:

1. When the status is -2 (busy, call again), we call
   ibm,configure-connector again immediately without checking whether
   to schedule, which can result in monopolizing the CPU.
2. Extended delay status (9900..9905) goes completely unhandled,
   causing the configuration to unnecessarily terminate.

Fix both of these issues by using rtas_busy_delay().

Fixes: ab519a011c ("powerpc/pseries: Kernel DLPAR Infrastructure")
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Reviewed-by: Tyrel Datwyler <tyreld@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210107025900.410369-1-nathanl@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-04 10:26:33 +01:00
..
Kconfig powerpc/pseries/svm: Force SWIOTLB for secure guests 2019-08-30 09:55:41 +10:00
Makefile powerpc/fadump: introduce callbacks for platform specific operations 2019-09-14 00:04:42 +10:00
cmm.c powerpc/pseries/cmm: Implement release() function for sysfs device 2020-01-04 19:17:51 +01:00
dlpar.c powerpc/pseries/dlpar: handle ibm, configure-connector delay status 2021-03-04 10:26:33 +01:00
dtl.c powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
eeh_pseries.c powerpc/eeh: Convert log messages to eeh_edev_* macros 2019-08-22 23:12:47 +10:00
event_sources.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
firmware.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
hotplug-cpu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
hotplug-memory.c powerpc/memhotplug: Make lmb size 64bit 2020-11-05 11:43:31 +01:00
hvCall.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
hvCall_inst.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
hvconsole.c powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
hvcserver.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ibmebus.c bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
io_event_irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
iommu.c powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW 2020-02-14 16:34:16 -05:00
kexec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
lpar.c powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init() 2020-04-17 10:50:16 +02:00
lparcfg.c powerpc/pseries/lparcfg: Fix display of Maximum Memory 2020-02-24 08:36:57 +01:00
mobility.c powerpc/pseries/mobility: use cond_resched when updating device tree 2019-08-20 21:22:28 +10:00
msi.c powerpc/pseries: Pass MSI affinity to irq_create_mapping() 2020-12-11 13:23:30 +01:00
nvram.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
of_helpers.c pseries/drc-info: Search DRC properties for CPU indexes 2018-01-21 16:21:46 +11:00
of_helpers.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
offline_states.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
papr_scm.c powerpc/papr_scm: Fix leaking 'bus_desc.provider_name' in some paths 2020-02-14 16:34:16 -05:00
pci.c powerpc/eeh: Refactor around eeh_probe_devices() 2019-08-22 23:12:46 +10:00
pci_dlpar.c powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
pmem.c powerpc/pseries/pmem: Fix a set but not used value 2019-04-20 22:02:26 +10:00
power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
pseries.h powerpc/pseries: Read TLB Block Invalidate Characteristics 2019-09-24 19:58:42 +10:00
pseries_energy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ras.c powerpc/pseries: Avoid using addr_to_pfn in real mode 2020-10-29 09:58:00 +01:00
reconfig.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rng.c powerpc/pseries: Fix missing of_node_put() in rng_init() 2020-10-29 09:57:46 +01:00
rtas-fadump.c powerpc/fadump: support holes in kernel boot memory area 2019-09-14 00:04:46 +10:00
rtas-fadump.h powerpc/fadump: support holes in kernel boot memory area 2019-09-14 00:04:46 +10:00
scanlog.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
setup.c powerpc/64s: flush L1D after user accesses 2020-11-22 10:14:10 +01:00
smp.c powerpc/pseries/svm: Disable doorbells in SVM guests 2019-08-30 09:55:41 +10:00
suspend.c powerpc/pseries/hibernation: remove redundant cacheinfo update 2020-12-30 11:51:21 +01:00
svm.c powerpc/pseries/svm: Force SWIOTLB for secure guests 2019-08-30 09:55:41 +10:00
vio.c powerpc/pseries/vio: Fix iommu_table use-after-free refcount warning 2020-02-14 16:34:16 -05:00
vphn.c powerpc/pseries: Move mm/book3s64/vphn.c under platforms/pseries/ 2019-07-04 22:23:38 +10:00