mbox series

[v3,0/6] Add support for Qualcomm's legacy IOMMU v2

Message ID 20221115101122.155440-1-angelogioacchino.delregno@collabora.com
Headers show
Series Add support for Qualcomm's legacy IOMMU v2 | expand

Message

AngeloGioacchino Del Regno Nov. 15, 2022, 10:11 a.m. UTC
This series adds support for handling "v2" firmware's IOMMU, found
on at least MSM8956 and MSM8976 (some other SoCs also need the same
but I honestly don't remember which ones precisely).

This is strictly required to get functional IOMMUs on these SoCs.

I'm sorry for not performing a much needed schema conversion on
qcom,iommu.txt, but I really didn't have time to do that :-(

This series was tested on Sony Xperia X and X Compact (MSM8956):
ADSP, LPASS, Venus, MSS, MDP and GPU are happy :-)


Changes in v3:
 - Removed useless FSRRESTORE reset and definition as pointed
   out in Robin Murphy's review
 - Fixed qcom,iommu.txt changes: squashed MSM8976 compatible
   string addition with msm-iommu-v2 generics addition

Changes in v2:
 - Added back Marijn's notes (sorry man!)
 - Added ARM_SMMU_CB_FSRRESTORE definition
 - Changed context bank reset to properly set FSR and FSRRESTORE

AngeloGioacchino Del Regno (6):
  dt-bindings: iommu: qcom,iommu: Document qcom,ctx-num property
  iommu/qcom: Use the asid read from device-tree if specified
  iommu/qcom: Properly reset the IOMMU context
  iommu/qcom: Index contexts by asid number to allow asid 0
  dt-bindings: iommu: qcom,iommu: Document QSMMUv2 and MSM8976
    compatibles
  iommu/qcom: Add support for QSMMUv2 and QSMMU-500 secured contexts

 .../devicetree/bindings/iommu/qcom,iommu.txt  |  9 +++
 drivers/iommu/arm/arm-smmu/qcom_iommu.c       | 78 +++++++++++++++----
 2 files changed, 70 insertions(+), 17 deletions(-)

Comments

Luca Weiss June 19, 2023, 9:42 p.m. UTC | #1
On Mittwoch, 22. Februar 2023 10:57:47 CEST AngeloGioacchino Del Regno wrote:
> Il 15/11/22 11:11, AngeloGioacchino Del Regno ha scritto:
> > This series adds support for handling "v2" firmware's IOMMU, found
> > on at least MSM8956 and MSM8976 (some other SoCs also need the same
> > but I honestly don't remember which ones precisely).
> > 
> > This is strictly required to get functional IOMMUs on these SoCs.
> > 
> > I'm sorry for not performing a much needed schema conversion on
> > qcom,iommu.txt, but I really didn't have time to do that :-(
> > 
> > This series was tested on Sony Xperia X and X Compact (MSM8956):
> > ADSP, LPASS, Venus, MSS, MDP and GPU are happy :-)
> 
> Hello,
> this series is really old and got sent and resent many times.
> The first time I've sent this one was .. I think in 2019, then, at the
> end of 2022, I had some time to actually respin it and send another
> three versions. It's been 3 long years :-)
> The third version got the last comments addressed.
> 
> Since this didn't get any more feedback for 3 months, I'm worried that it
> will be forgotten again, hence:
> 
> Is there any more feedback? Anything else to fix?
> If not, can this be picked, please?

Hi Angelo,

there's some open review comments since March now on this series. Since some 
of these patches are also needed for msm8953 and msm8974 IOMMU it would be 
nice if you could respin :)

Regards
Luca

> 
> Thank you.
> 
> Best regards,
> Angelo
> 
> > Changes in v3:
> >   - Removed useless FSRRESTORE reset and definition as pointed
> >   
> >     out in Robin Murphy's review
> >   
> >   - Fixed qcom,iommu.txt changes: squashed MSM8976 compatible
> >   
> >     string addition with msm-iommu-v2 generics addition
> > 
> > Changes in v2:
> >   - Added back Marijn's notes (sorry man!)
> >   - Added ARM_SMMU_CB_FSRRESTORE definition
> >   - Changed context bank reset to properly set FSR and FSRRESTORE
> > 
> > AngeloGioacchino Del Regno (6):
> >    dt-bindings: iommu: qcom,iommu: Document qcom,ctx-num property
> >    iommu/qcom: Use the asid read from device-tree if specified
> >    iommu/qcom: Properly reset the IOMMU context
> >    iommu/qcom: Index contexts by asid number to allow asid 0
> >    dt-bindings: iommu: qcom,iommu: Document QSMMUv2 and MSM8976
> >    
> >      compatibles
> >    
> >    iommu/qcom: Add support for QSMMUv2 and QSMMU-500 secured contexts
> >   
> >   .../devicetree/bindings/iommu/qcom,iommu.txt  |  9 +++
> >   drivers/iommu/arm/arm-smmu/qcom_iommu.c       | 78 +++++++++++++++----
> >   2 files changed, 70 insertions(+), 17 deletions(-)
AngeloGioacchino Del Regno June 20, 2023, 10:02 a.m. UTC | #2
Il 19/06/23 23:42, Luca Weiss ha scritto:
> On Mittwoch, 22. Februar 2023 10:57:47 CEST AngeloGioacchino Del Regno wrote:
>> Il 15/11/22 11:11, AngeloGioacchino Del Regno ha scritto:
>>> This series adds support for handling "v2" firmware's IOMMU, found
>>> on at least MSM8956 and MSM8976 (some other SoCs also need the same
>>> but I honestly don't remember which ones precisely).
>>>
>>> This is strictly required to get functional IOMMUs on these SoCs.
>>>
>>> I'm sorry for not performing a much needed schema conversion on
>>> qcom,iommu.txt, but I really didn't have time to do that :-(
>>>
>>> This series was tested on Sony Xperia X and X Compact (MSM8956):
>>> ADSP, LPASS, Venus, MSS, MDP and GPU are happy :-)
>>
>> Hello,
>> this series is really old and got sent and resent many times.
>> The first time I've sent this one was .. I think in 2019, then, at the
>> end of 2022, I had some time to actually respin it and send another
>> three versions. It's been 3 long years :-)
>> The third version got the last comments addressed.
>>
>> Since this didn't get any more feedback for 3 months, I'm worried that it
>> will be forgotten again, hence:
>>
>> Is there any more feedback? Anything else to fix?
>> If not, can this be picked, please?
> 
> Hi Angelo,
> 
> there's some open review comments since March now on this series. Since some
> of these patches are also needed for msm8953 and msm8974 IOMMU it would be
> nice if you could respin :)
> 

Hello Luca,

I've just sent a v4, but I'm sorry I forgot to Cc you. Please find it at [1].

[1]: 
https://lore.kernel.org/all/20230620095127.96600-1-angelogioacchino.delregno@collabora.com/

Cheers,
Angelo

> Regards
> Luca
> 
>>
>> Thank you.
>>
>> Best regards,
>> Angelo
>>
>>> Changes in v3:
>>>    - Removed useless FSRRESTORE reset and definition as pointed
>>>    
>>>      out in Robin Murphy's review
>>>    
>>>    - Fixed qcom,iommu.txt changes: squashed MSM8976 compatible
>>>    
>>>      string addition with msm-iommu-v2 generics addition
>>>
>>> Changes in v2:
>>>    - Added back Marijn's notes (sorry man!)
>>>    - Added ARM_SMMU_CB_FSRRESTORE definition
>>>    - Changed context bank reset to properly set FSR and FSRRESTORE
>>>
>>> AngeloGioacchino Del Regno (6):
>>>     dt-bindings: iommu: qcom,iommu: Document qcom,ctx-num property
>>>     iommu/qcom: Use the asid read from device-tree if specified
>>>     iommu/qcom: Properly reset the IOMMU context
>>>     iommu/qcom: Index contexts by asid number to allow asid 0
>>>     dt-bindings: iommu: qcom,iommu: Document QSMMUv2 and MSM8976
>>>     
>>>       compatibles
>>>     
>>>     iommu/qcom: Add support for QSMMUv2 and QSMMU-500 secured contexts
>>>    
>>>    .../devicetree/bindings/iommu/qcom,iommu.txt  |  9 +++
>>>    drivers/iommu/arm/arm-smmu/qcom_iommu.c       | 78 +++++++++++++++----
>>>    2 files changed, 70 insertions(+), 17 deletions(-)
> 
> 
> 
> 
>