linux/arch/powerpc/platforms/pseries
Nathan Lynch 768d70e19b powerpc/pseries/dlpar: handle ibm, configure-connector delay status
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
2021-02-09 01:09:46 +11:00
..
cmm.c mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
dlpar.c powerpc/pseries/dlpar: handle ibm, configure-connector delay status 2021-02-09 01:09:46 +11:00
dtl.c powerpc64: Break asm/percpu.h vs spinlock_types.h dependency 2020-07-10 12:00:01 +02:00
eeh_pseries.c powerpc/pseries/eeh: Make pseries_send_allow_unfreeze() static 2021-01-30 11:39:31 +11:00
event_sources.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
firmware.c powerpc/book3s64/radix: Add kernel command line option to disable radix GTSE 2020-07-29 21:09:37 +10:00
hotplug-cpu.c powerpc updates for 5.11 2020-12-17 13:34:25 -08:00
hotplug-memory.c powerpc/pseries/memhotplug: Quieten some DLPAR operations 2020-12-15 22:51:40 +11:00
hvCall_inst.c powerpc/pseries: convert to use DEFINE_SEQ_ATTRIBUTE macro 2020-09-18 19:59:43 +10:00
hvCall.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
hvconsole.c powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
hvcserver.c powerpc: Use fallthrough pseudo-keyword 2020-07-29 21:09:37 +10:00
ibmebus.c dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +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/dma: Fallback to dma_ops when persistent memory present 2020-11-27 10:33:42 +01:00
Kconfig powerpc/pseries: Implement paravirt qspinlocks for SPLPAR 2020-07-27 00:01:29 +10:00
kexec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
lpar.c powerpc/book3s64: fix link error with CONFIG_PPC_RADIX_MMU=n 2020-09-18 19:59:43 +10:00
lparcfg.c powerpc/pseries: new lparcfg key/value pair: partition_affinity_score 2020-09-02 11:00:20 +10:00
Makefile powerpc/pseries/Makefile: Remove CONFIG_PPC_PSERIES check 2020-02-19 21:07:08 +11:00
mobility.c powerpc/pseries/mobility: refactor node lookup during DT update 2020-12-08 21:41:03 +11:00
msi.c powerpc/pseries: Pass MSI affinity to irq_create_mapping() 2020-11-30 12:22:04 +01:00
nvram.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
of_helpers.c powerpc/pseries: Fix of_read_drc_info_cell() to point at next record 2020-03-25 12:06:43 +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
papr_scm.c powerpc/papr_scm: Add PAPR command family to pass-through command-set 2020-10-08 12:50:53 +11:00
pci_dlpar.c powerpc/eeh: Remove eeh_dev_phb_init_dynamic() 2020-07-26 23:34:19 +10:00
pci.c powerpc/pcidn: Make IOV setup routines static 2021-01-30 11:39:31 +11:00
pmem.c powerpc/pseries: remove cede offline state for CPUs 2020-07-16 13:12:34 +10:00
power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
pseries_energy.c powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index 2019-11-13 16:57:57 +11:00
pseries.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
ras.c powerpc/pseries/mce: restore msr before returning from handler 2021-02-09 00:10:50 +11:00
reconfig.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
rng.c powerpc/pseries: Fix missing of_node_put() in rng_init() 2020-08-25 01:31:31 +10:00
rtas-fadump.c powerpc: Replace _ALIGN_DOWN() by ALIGN_DOWN() 2020-05-11 23:15:15 +10:00
rtas-fadump.h powerpc/fadump: support holes in kernel boot memory area 2019-09-14 00:04:46 +10:00
scanlog.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
setup.c powerpc/pci: Move PHB discovery for PCI_DN using platforms 2021-02-09 00:01:05 +11:00
smp.c powerpc: Rename is_kvm_guest() to check_kvm_guest() 2020-12-04 01:01:21 +11:00
suspend.c powerpc/pseries/hibernation: remove prepare_late() callback 2020-12-08 21:41:02 +11:00
svm.c powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory 2020-09-14 23:07:14 +10:00
vio.c dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
vphn.c powerpc/vphn: Check for error from hcall_vphn 2020-03-04 22:44:30 +11:00