All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Fix and extend Qualcomm IOMMU support
@ 2022-05-27 21:28 ` Konrad Dybcio
  0 siblings, 0 replies; 68+ messages in thread
From: Konrad Dybcio @ 2022-05-27 21:28 UTC (permalink / raw)
  To: ~postmarketos/upstreaming, linux-arm-msm, bjorn.andersson,
	linux-arm-kernel, iommu
  Cc: martin.botka, angelogioacchino.delregno, marijn.suijten,
	jamipkettunen, Konrad Dybcio

Due to Qualcomm's software solutions, genius or otherwise, the IOMMUs on
pre-msm8998-and-sdm630 SoCs are flawed beyond reason, and conviniently
it is all due to an (almost in all cases) irreplaceable hypervisor and TZ
stack. As end users and developers, we have no choice but to adapt to that
and follow whatever the IOMMUs expect.

This series fixes and improves the existing support (adjusts the code flow
to make sure things are written in correct order and adds a way to
properly (i.e. in compliance with the firmware's expectations) reset the
IOMMUs) and extends it with features for the SoCs that came near the end
of an era of what we call "qcom_iommu" upstream, namely 8952 family
(8917, 8937, 8952, 8956/76, 8953 and possibly more) (Aarch64 pagetables
and secured QCIOMMUv2/QCIOMMU_500 ctxs)
and at the same time builds another milestone in getting msm8974/94 IOMMU
support that has been in the works for something like 7 years, and never
got upstreamed in the end (we'll get it one day, eventually...).

The dt-bindings are NOT converted to YAML as a part of this series, that
will come in a later patchset.


AngeloGioacchino Del Regno (6):
  iommu/qcom: Use the asid read from device-tree if specified
  iommu/qcom: Write TCR before TTBRs to fix ASID access behavior
  iommu/qcom: Properly reset the IOMMU context
  iommu/qcom: Add support for AArch64 IOMMU pagetables
  iommu/qcom: Index contexts by asid number to allow asid 0
  iommu/qcom: Add support for QCIOMMUv2 and QCIOMMU-500 secured contexts

 .../devicetree/bindings/iommu/qcom,iommu.txt  |   5 +
 drivers/iommu/arm/arm-smmu/qcom_iommu.c       | 137 ++++++++++++++----
 2 files changed, 114 insertions(+), 28 deletions(-)

-- 
2.36.1


^ permalink raw reply	[flat|nested] 68+ messages in thread
* [PATCH 0/6] Add support for QCOM IOMMU v2 and 500
@ 2019-09-26 12:05 kholk11
  2019-09-26 12:05   ` kholk11
  0 siblings, 1 reply; 68+ messages in thread
From: kholk11 @ 2019-09-26 12:05 UTC (permalink / raw)
  To: linux-arm-msm
  Cc: iommu, marijns95, agross, robdclark, joro, AngeloGioacchino Del Regno

From: AngeloGioacchino Del Regno <kholk11@gmail.com>

Some Qualcomm Family-B SoCs have got a different version of the QCOM
IOMMU, specifically v2 and 500, which perfectly adhere to the current
qcom_iommu driver, but need some variations due to slightly different
hypervisor behavior.

The personal aim is to upstream MSM8956 as much as possible.

This code has been tested on two Sony phones featuring the Qualcomm
MSM8956 SoC.

AngeloGioacchino Del Regno (6):
  iommu/qcom: Use the asid read from device-tree if specified
  iommu/qcom: Write TCR before TTBRs to fix ASID access behavior
  iommu/qcom: Properly reset the IOMMU context
  iommu/qcom: Add support for AArch64 IOMMU pagetables
  iommu/qcom: Index contexts by asid number to allow asid 0
  iommu/qcom: Add support for QCIOMMUv2 and QCIOMMU-500 secured contexts

 .../devicetree/bindings/iommu/qcom,iommu.txt  |   5 +
 drivers/iommu/qcom_iommu.c                    | 133 ++++++++++++++----
 2 files changed, 111 insertions(+), 27 deletions(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 68+ messages in thread

end of thread, other threads:[~2022-06-08 11:04 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-27 21:28 [PATCH 0/6] Fix and extend Qualcomm IOMMU support Konrad Dybcio
2022-05-27 21:28 ` Konrad Dybcio
2022-05-27 21:28 ` Konrad Dybcio
2022-05-27 21:28 ` [PATCH 1/6] iommu/qcom: Use the asid read from device-tree if specified Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-31 15:46   ` Will Deacon
2022-05-31 15:46     ` Will Deacon
2022-05-31 15:46     ` Will Deacon
2022-05-31 16:15     ` Rob Clark
2022-05-31 16:15       ` Rob Clark
2022-05-31 16:15       ` Rob Clark
2022-05-31 16:19       ` Will Deacon
2022-05-31 16:19         ` Will Deacon
2022-05-31 16:19         ` Will Deacon
2022-05-31 20:57         ` Rob Clark
2022-05-31 20:57           ` Rob Clark
2022-05-31 20:57           ` Rob Clark
2022-06-03 18:03           ` Konrad Dybcio
2022-06-03 18:03             ` Konrad Dybcio
2022-06-03 18:03             ` Konrad Dybcio
2022-06-08 10:25             ` AngeloGioacchino Del Regno
2022-06-08 10:25               ` AngeloGioacchino Del Regno
2022-06-08 10:25               ` AngeloGioacchino Del Regno
2022-05-27 21:28 ` [PATCH 2/6] iommu/qcom: Write TCR before TTBRs to fix ASID access behavior Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-31 15:55   ` Will Deacon
2022-05-31 15:55     ` Will Deacon
2022-05-31 15:55     ` Will Deacon
2022-05-31 16:26     ` Robin Murphy
2022-05-31 16:26       ` Robin Murphy
2022-05-31 16:26       ` Robin Murphy
2022-06-05 22:06     ` Marijn Suijten
2022-06-05 22:06       ` Marijn Suijten
2022-06-05 22:06       ` Marijn Suijten
2022-06-08 10:27       ` AngeloGioacchino Del Regno
2022-06-08 10:27         ` AngeloGioacchino Del Regno
2022-06-08 10:27         ` AngeloGioacchino Del Regno
2022-06-08 10:54         ` Robin Murphy
2022-06-08 10:54           ` Robin Murphy
2022-06-08 10:54           ` Robin Murphy
2022-06-08 11:03           ` AngeloGioacchino Del Regno
2022-06-08 11:03             ` AngeloGioacchino Del Regno
2022-06-08 11:03             ` AngeloGioacchino Del Regno
2022-05-27 21:28 ` [PATCH 3/6] iommu/qcom: Properly reset the IOMMU context Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-27 21:28 ` [PATCH 4/6] iommu/qcom: Add support for AArch64 IOMMU pagetables Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-27 21:28   ` Konrad Dybcio
2022-05-28  2:03   ` kernel test robot
2022-05-28  2:03     ` kernel test robot
2022-05-28  2:03     ` kernel test robot
2022-06-02 14:17   ` Rob Herring
2022-06-02 14:17     ` Rob Herring
2022-06-02 14:17     ` Rob Herring
2022-05-27 21:29 ` [PATCH 5/6] iommu/qcom: Index contexts by asid number to allow asid 0 Konrad Dybcio
2022-05-27 21:29   ` Konrad Dybcio
2022-05-27 21:29   ` Konrad Dybcio
2022-06-03 15:14   ` Brian Masney
2022-06-03 15:14     ` Brian Masney
2022-06-03 15:14     ` Brian Masney
2022-05-27 21:29 ` [PATCH 6/6] iommu/qcom: Add support for QCIOMMUv2 and QCIOMMU-500 secured contexts Konrad Dybcio
2022-05-27 21:29   ` Konrad Dybcio
2022-05-27 21:29   ` Konrad Dybcio
  -- strict thread matches above, loose matches on Subject: below --
2019-09-26 12:05 [PATCH 0/6] Add support for QCOM IOMMU v2 and 500 kholk11
2019-09-26 12:05 ` [PATCH 5/6] iommu/qcom: Index contexts by asid number to allow asid 0 kholk11
2019-09-26 12:05   ` kholk11

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.