[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231028102059.66891-1-justin.he@arm.com>
Date: Sat, 28 Oct 2023 10:20:57 +0000
From: Jia He <justin.he@....com>
To: Christoph Hellwig <hch@....de>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Robin Murphy <robin.murphy@....com>, iommu@...ts.linux.dev
Cc: linux-kernel@...r.kernel.org, nd@....com,
Jia He <justin.he@....com>
Subject: [PATCH v4 0/2] fix dma_addressing_limited() if dma_range_map
This is to fix the hangs at boot. The root cause is the nvme device dma
mapping is failed in the checking path of phys_to_dma() since
dma_max_mapping_size() gave the wrong answer to start with.
---
Changelog:
v1: https://lore.kernel.org/all/20230912084002.2168-1-justin.he@arm.com/
v2:
https://lore.kernel.org/lkml/20231010020835.3678-1-justin.he@arm.com/
- refine the subject and commit msg (By Robin Murphy)
- refactor the checking loop in check_ram_in_range_map() in the pages
unit to avoid wrap to 0 on 32bits platforms (Robin)
v3:
https://lore.kernel.org/lkml/20231016125254.1875-1-justin.he@arm.com/
- move and export dma_addressing_limited() to avoid adding a new
exported helper (by Christoph Hellwig)
v4:
- refine the commit msg in patch01
- address patch02 coding style issues
- add the dma ops check in dma_addressing_limited() (Christoph)
- move dma_direct_all_ram_mapped() to direct.c (Christoph)
Jia He (2):
dma-mapping: move dma_addressing_limited() out of line
dma-mapping: fix dma_addressing_limited() if dma_range_map can't cover
all system RAM
include/linux/dma-mapping.h | 19 +++++------------
kernel/dma/direct.c | 41 +++++++++++++++++++++++++++++++++++++
kernel/dma/direct.h | 1 +
kernel/dma/mapping.c | 23 +++++++++++++++++++++
4 files changed, 70 insertions(+), 14 deletions(-)
--
2.25.1
Powered by blists - more mailing lists