linux/arch/s390/mm
Niklas Schnelle 088a200ebf s390: Remove ioremap_wt() and pgprot_writethrough()
[ Upstream commit c94bff63e4 ]

It turns out that while s390 architecture calls its memory-I/O mapping
variants write-through and write-back the implementation of ioremap_wt()
and pgprot_writethrough() does not match Linux notion of ioremap_wt().

In particular Linux expects ioremap_wt() to be weaker still than
ioremap_wc(), allowing not just gathering and re-ordering but also reads
to be served from cache. Instead s390's implementation is equivalent to
normal ioremap() while its ioremap_wc() allows re-ordering.

Note that there are no known users of ioremap_wt() on s390 and the
resulting behavior is in line with asm-generic defining ioremap_wt() as
ioremap(), if undefined, so no breakage is expected.

As s390 does not have a mapping type matching the Linux notion of
ioremap_wt() and pgprot_writethrough(), simply drop them and rely on the
asm-generic fallbacks instead.

Fixes: b02002cc4c ("s390/pci: Implement ioremap_wc/prot() with MIO")
Fixes: b43b3fff04 ("s390: mm: convert to GENERIC_IOREMAP")
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-04-10 14:39:18 +02:00
..
cmm.c s390/mm: Add cond_resched() to cmm_alloc/free_pages() 2024-09-05 15:17:23 +02:00
dump_pagetables.c s390 updates for 6.12 merge window 2024-09-21 09:02:54 -07:00
extable.c s390/fpu: Add fpc exception handler / remove fixup section again 2025-02-17 10:05:44 +01:00
extmem.c s390/extmem: fix virtual vs physical address confusion 2024-02-09 13:58:16 +01:00
fault.c s390/mm/fault: convert do_secure_storage_access() from follow_page() to folio_walk 2024-09-01 20:26:01 -07:00
gmap.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
hugetlbpage.c mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear() 2025-03-13 13:02:17 +01:00
init.c memblock: updates for 6.12-rc1 2024-09-25 11:35:19 -07:00
maccess.c s390/uaccess: Make s390_kernel_write() usable for decompressor 2024-07-23 16:02:31 +02:00
Makefile s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support 2024-03-13 09:23:49 +01:00
mmap.c mm: make arch_get_unmapped_area() take vm_flags by default 2024-09-09 16:39:13 -07:00
page-states.c s390/cmma: rework no-dat handling 2023-11-05 22:34:58 +01:00
pageattr.c s390/pageattr: Implement missing kernel_page_present() 2024-12-05 14:01:11 +01:00
pfault.c s390/pfault: use consistent comment style 2023-07-29 14:57:18 +02:00
pgalloc.c s390 updates for 6.11 merge window 2024-07-18 15:41:45 -07:00
pgtable.c s390: Remove ioremap_wt() and pgprot_writethrough() 2025-04-10 14:39:18 +02:00
physaddr.c s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support 2024-03-13 09:23:49 +01:00
vmem.c s390: Keep inittext section writable 2024-07-31 16:30:20 +02:00