OpenCloudOS-Kernel/arch/powerpc/platforms/pseries
Alexey Kardashevskiy ad3976025b powerpc/pseries/ddw: Do not try direct mapping with persistent memory and one window
There is a possibility of having just one DMA window available with
a limited capacity which the existing code does not handle that well.
If the window is big enough for the system RAM but less than
MAX_PHYSMEM_BITS (which we want when persistent memory is present),
we create 1:1 window and leave persistent memory without DMA.

This disables 1:1 mapping entirely if there is persistent memory and
either:
- the huge DMA window does not cover the entire address space;
- the default DMA window is removed.

This relies on reverted 54fc3c681d
("powerpc/pseries/ddw: Extend upper limit for huge DMA window for persistent memory")
to return the actual amount RAM in ddw_memory_hotplug_max() (posted
separately).

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20211108040320.3857636-4-aik@ozlabs.ru
2021-11-15 15:46:46 +11:00
..
Kconfig powerpc/pseries/svm: Add a powerpc version of cc_platform_has() 2021-10-04 11:46:33 +02:00
Makefile powerpc/pseries/svm: Add a powerpc version of cc_platform_has() 2021-10-04 11:46:33 +02: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
firmware.c powerpc/pseries: Add support for FORM2 associativity 2021-08-13 22:04:27 +10:00
hotplug-cpu.c powerpc/pseries/cpuhp: remove obsolete comment from pseries_cpu_die 2021-10-09 00:16:00 +11:00
hotplug-memory.c Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
hvCall.S powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
hvCall_inst.c powerpc/pseries: Make symbol '__pcpu_scope_hcall_stats' static 2021-04-14 23:04:17 +10: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 bus: Make remove callback return void 2021-07-21 11:53:42 +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/ddw: Do not try direct mapping with persistent memory and one window 2021-11-15 15:46:46 +11:00
kexec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
lpar.c powerpc/pseries: Add a helper for form1 cpu distance 2021-08-13 22:04:27 +10:00
lparcfg.c powerpc/pseries: export LPAR security flavor in lparcfg 2021-03-26 23:19:41 +11:00
mobility.c powerpc/pseries/mobility: ignore ibm, platform-facilities updates 2021-10-22 15:22:06 +11:00
msi.c powerpc/pseries/msi: Add an empty irq_write_msi_msg() handler 2021-10-07 23:33:25 +11: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: trivial: fix typo in a comment 2021-06-25 14:47:19 +10:00
pci.c powerpc/powernv: remove the nvlink support 2021-05-02 23:35:32 +10:00
pci_dlpar.c powerpc/pseries/pci: Add support of MSI domains to PHB hotplug 2021-08-10 23:14:58 +10:00
pmem.c powerpc/pseries/pmem: Make symbol 'drc_pmem_match' static 2021-04-14 23:04:17 +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/pci: Add support of MSI domains to PHB hotplug 2021-08-10 23:14:58 +10:00
pseries_energy.c powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index 2019-11-13 16:57:57 +11:00
ras.c powerpc: Refactor verification of MSR_RI 2021-08-26 21:21:07 +10: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/fadump: make symbol 'rtas_fadump_set_regval' static 2021-04-14 23:04:19 +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 Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07: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.c powerpc/pseries/vas: Declare pseries_vas_fault_thread_fn() as static 2021-08-20 22:17:18 +10:00
vas.h powerpc/pseries/vas: Define VAS/NXGZIP hcalls and structs 2021-06-20 21:58:56 +10:00
vio.c dma-mapping updates for Linux 5.15 2021-09-02 10:32:06 -07:00
vphn.c powerpc/vphn: Check for error from hcall_vphn 2020-03-04 22:44:30 +11:00