2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-25 05:34:00 +08:00
linux-next/arch/powerpc/platforms/powernv
Alexey Kardashevskiy 92a8675690 powerpc/powernv: Fix insufficient memory allocation
The pnv_pci_init_ioda_phb() helper allocates a blob to store auxilary
data such PE and M32/M64 segment allocation maps; this single blob has
few partitions, size of each is derived from the PE number -
phb->ioda.total_pe_num.

It was assumed that the minimum PE number is 8, however it is 4 for NPU
so the pe_alloc part was missing in the allocated blob. It was invisible
till recently as we were not tracking used M64 segments and NPUs do not
use M32 segments so the phb->ioda.m32_segmap (which was pointing to the
same address as phb->ioda.pe_alloc) has never been written to leaving
the pe_alloc memory intact.

After commit 401203ac2d "powerpc/powernv: Track M64 segment consumption"
the pe_alloc gets corrupted and PE allocation cannot work. This fixes
the issue by enforcing the minimum PE number to 8.

Fixes: 401203ac2d15 ("powerpc/powernv: Track M64 segment consumption")
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-05-12 19:55:42 +10:00
..
eeh-powernv.c Revert "powerpc/powernv: Exclude root bus in pnv_pci_reset_secondary_bus()" 2016-05-12 19:43:37 +10:00
idle.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
Kconfig powerpc/powernv: Add opal-prd channel 2015-06-05 08:32:21 +10:00
Makefile powerpc/powernv: Remove support for p5ioc2 2016-02-08 22:03:37 +11:00
npu-dma.c powerpc/powernv/npu: Enable NVLink pass through 2016-05-11 21:54:31 +10:00
opal-async.c powerpc/powernv: Reorder OPAL subsystem initialisation 2015-05-22 15:14:37 +10:00
opal-dump.c powernv/opal-dump: Convert to irq domain 2015-05-22 15:14:38 +10:00
opal-elog.c powerpc/powernv: Fix opal-elog interrupt handler 2015-07-06 20:24:36 +10:00
opal-flash.c powerpc/powernv: Add interfaces for flash device access 2015-04-11 20:49:21 +10:00
opal-hmi.c powerpc/powernv: Use the "unknown" checkstop type as a fallback 2016-04-11 20:30:40 +10:00
opal-irqchip.c powerpc/opal-irqchip: Fix deadlock introduced by "Fix double endian conversion" 2015-12-18 22:24:15 +11:00
opal-kmsg.c powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages 2016-01-13 12:35:17 +11:00
opal-lpc.c powerpc/powernv: Properly fix LPC debugfs endianness 2014-10-31 17:09:04 +11:00
opal-memory-errors.c powerpc/powernv: Reorder OPAL subsystem initialisation 2015-05-22 15:14:37 +10:00
opal-msglog.c powerpc/powernv: don't create OPAL msglog sysfs entry if memcons init fails 2016-02-22 20:31:55 +11:00
opal-nvram.c powerpc/powernv: Add pstore support on powernv 2015-03-23 14:06:10 +11:00
opal-power.c powerpc/powernv: Add poweroff (EPOW, DPO) events support for PowerNV platform 2015-07-16 13:34:36 +10:00
opal-prd.c powerpc/powernv: Drop owner assignment from platform_driver 2015-11-24 14:21:28 +11:00
opal-rtc.c powerpc/powernv: Only delay opal_rtc_read() retry when necessary 2015-12-27 19:12:40 +11:00
opal-sensor.c powerpc/powernv: Reorder OPAL subsystem initialisation 2015-05-22 15:14:37 +10:00
opal-sysparam.c powerpc/powernv: convert OPAL codes returned by sysparam calls 2015-06-04 22:27:56 +10:00
opal-tracepoints.c powerpc: Replace __get_cpu_var uses 2014-11-03 12:12:32 +11:00
opal-wrappers.S powerpc/powernv: Add a kmsg_dumper that flushes console output on panic 2015-12-27 19:12:40 +11:00
opal-xscom.c powerpc/powernv: remove FW_FEATURE_OPALv3 and just use FW_FEATURE_OPAL 2015-12-17 22:40:54 +11:00
opal.c powerpc/powernv: new function to access OPAL msglog 2016-02-09 20:27:04 +11:00
pci-ioda.c powerpc/powernv: Fix insufficient memory allocation 2016-05-12 19:55:42 +10:00
pci.c powerpc/powernv: Data type unsigned int for PE number 2016-05-11 21:54:17 +10:00
pci.h powerpc/powernv/npu: Enable NVLink pass through 2016-05-11 21:54:31 +10:00
powernv.h powerpc/powernv: move dma_get_required_mask from pnv_phb to pci_controller_ops 2015-08-18 19:32:11 +10:00
rng.c powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
setup.c powerpc/mm/radix: Add radix callbacks for early init routines 2016-05-01 18:33:00 +10:00
smp.c powerpc/powernv: remove FW_FEATURE_OPALv3 and just use FW_FEATURE_OPAL 2015-12-17 22:40:54 +11:00
subcore-asm.S powerpc/powernv: Add support for POWER8 split core on powernv 2014-05-28 13:35:37 +10:00
subcore.c powerpc/powernv: Create separate subcores CPU feature bit 2016-02-22 20:47:46 +11:00
subcore.h powernv/powerpc: Add winkle support for offline cpus 2014-12-15 10:46:41 +11:00