mbox series

[0/2,B/snapdragon,SRU] Dragonboard hangs after SMMU init

Message ID 20190829123214.15565-1-paolo.pisati@canonical.com
Headers show
Series Dragonboard hangs after SMMU init | expand

Message

Paolo Pisati Aug. 29, 2019, 12:32 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1841893

Impact:

Ubuntu-snapdragon-4.15.0-1061.68 hangs during boot:

...
[ 1.856849] arm-smmu da0000.arm,smmu: probing hardware configuration...
[ 1.859296] arm-smmu da0000.arm,smmu: SMMUv2 with:
[ 1.865845] arm-smmu da0000.arm,smmu: stage 1 translation
[ 1.870658] arm-smmu da0000.arm,smmu: address translation ops
[ 1.876121] arm-smmu da0000.arm,smmu: non-coherent table walk
[ 1.881936] arm-smmu da0000.arm,smmu: (IDR0.CTTW overridden by FW configuration)
[ 1.887760] arm-smmu da0000.arm,smmu: stream matching with 4 register groups
[ 1.895337] arm-smmu da0000.arm,smmu: 2 context banks (0 stage-2 only)
[ 1.902455] arm-smmu da0000.arm,smmu: Supported page sizes: 0x63315000
[ 1.908852] arm-smmu da0000.arm,smmu: Stage-1: 32-bit VA -> 36-bit IPA
[hangs here]

Fix:

During the Ubuntu-snapdragon-4.15.0-1061.68, the qcom smmuv2 implementation was replaced with an upstream generic version that didn't explicit clocks, power requirements and early init via IOMMU_OF_DECLARE() - reverting the upstream patch, and reapplying the original qcom patch that was dropped, fixes this hang.

How to test:

Try to boot a patched kernel and see if it reaches userspace.

Regression potential:

None, since the current kernel version doesn't boot at all.


Paolo Pisati (1):
  Revert "iommu/arm-smmu: Add support for qcom,smmu-v2 variant"

Vivek Gautam (1):
  iommu/arm-smmu: Add support for qcom,smmu-v2 variant

 .../devicetree/bindings/iommu/arm,smmu.txt         | 42 ++++++++++++++++++++++
 drivers/iommu/arm-smmu.c                           | 13 ++++++-
 2 files changed, 54 insertions(+), 1 deletion(-)

Comments

Sultan Alsawaf Aug. 29, 2019, 3:10 p.m. UTC | #1
On Thu, Aug 29, 2019 at 02:32:12PM +0200, Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1841893
> 
> Impact:
> 
> Ubuntu-snapdragon-4.15.0-1061.68 hangs during boot:
> 
> ...
> [ 1.856849] arm-smmu da0000.arm,smmu: probing hardware configuration...
> [ 1.859296] arm-smmu da0000.arm,smmu: SMMUv2 with:
> [ 1.865845] arm-smmu da0000.arm,smmu: stage 1 translation
> [ 1.870658] arm-smmu da0000.arm,smmu: address translation ops
> [ 1.876121] arm-smmu da0000.arm,smmu: non-coherent table walk
> [ 1.881936] arm-smmu da0000.arm,smmu: (IDR0.CTTW overridden by FW configuration)
> [ 1.887760] arm-smmu da0000.arm,smmu: stream matching with 4 register groups
> [ 1.895337] arm-smmu da0000.arm,smmu: 2 context banks (0 stage-2 only)
> [ 1.902455] arm-smmu da0000.arm,smmu: Supported page sizes: 0x63315000
> [ 1.908852] arm-smmu da0000.arm,smmu: Stage-1: 32-bit VA -> 36-bit IPA
> [hangs here]
> 
> Fix:
> 
> During the Ubuntu-snapdragon-4.15.0-1061.68, the qcom smmuv2 implementation was replaced with an upstream generic version that didn't explicit clocks, power requirements and early init via IOMMU_OF_DECLARE() - reverting the upstream patch, and reapplying the original qcom patch that was dropped, fixes this hang.
> 
> How to test:
> 
> Try to boot a patched kernel and see if it reaches userspace.
> 
> Regression potential:
> 
> None, since the current kernel version doesn't boot at all.
> 
> 
> Paolo Pisati (1):
>   Revert "iommu/arm-smmu: Add support for qcom,smmu-v2 variant"
> 
> Vivek Gautam (1):
>   iommu/arm-smmu: Add support for qcom,smmu-v2 variant
> 
>  .../devicetree/bindings/iommu/arm,smmu.txt         | 42 ++++++++++++++++++++++
>  drivers/iommu/arm-smmu.c                           | 13 ++++++-
>  2 files changed, 54 insertions(+), 1 deletion(-)
> 
> -- 
> 2.7.4
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Ack for the entire patchset.

Acked-by: Sultan Alsawaf <sultan.alsawaf@canonical.com>
Kleber Sacilotto de Souza Sept. 2, 2019, 1:50 p.m. UTC | #2
On 8/29/19 2:32 PM, Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1841893
> 
> Impact:
> 
> Ubuntu-snapdragon-4.15.0-1061.68 hangs during boot:
> 
> ...
> [ 1.856849] arm-smmu da0000.arm,smmu: probing hardware configuration...
> [ 1.859296] arm-smmu da0000.arm,smmu: SMMUv2 with:
> [ 1.865845] arm-smmu da0000.arm,smmu: stage 1 translation
> [ 1.870658] arm-smmu da0000.arm,smmu: address translation ops
> [ 1.876121] arm-smmu da0000.arm,smmu: non-coherent table walk
> [ 1.881936] arm-smmu da0000.arm,smmu: (IDR0.CTTW overridden by FW configuration)
> [ 1.887760] arm-smmu da0000.arm,smmu: stream matching with 4 register groups
> [ 1.895337] arm-smmu da0000.arm,smmu: 2 context banks (0 stage-2 only)
> [ 1.902455] arm-smmu da0000.arm,smmu: Supported page sizes: 0x63315000
> [ 1.908852] arm-smmu da0000.arm,smmu: Stage-1: 32-bit VA -> 36-bit IPA
> [hangs here]
> 
> Fix:
> 
> During the Ubuntu-snapdragon-4.15.0-1061.68, the qcom smmuv2 implementation was replaced with an upstream generic version that didn't explicit clocks, power requirements and early init via IOMMU_OF_DECLARE() - reverting the upstream patch, and reapplying the original qcom patch that was dropped, fixes this hang.
> 
> How to test:
> 
> Try to boot a patched kernel and see if it reaches userspace.
> 
> Regression potential:
> 
> None, since the current kernel version doesn't boot at all.
> 
> 
> Paolo Pisati (1):
>   Revert "iommu/arm-smmu: Add support for qcom,smmu-v2 variant"
> 
> Vivek Gautam (1):
>   iommu/arm-smmu: Add support for qcom,smmu-v2 variant
> 
>  .../devicetree/bindings/iommu/arm,smmu.txt         | 42 ++++++++++++++++++++++
>  drivers/iommu/arm-smmu.c                           | 13 ++++++-
>  2 files changed, 54 insertions(+), 1 deletion(-)
> 

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Khalid Elmously Sept. 3, 2019, 5:36 a.m. UTC | #3
On 2019-08-29 14:32:12 , Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1841893
> 
> Impact:
> 
> Ubuntu-snapdragon-4.15.0-1061.68 hangs during boot:
> 
> ...
> [ 1.856849] arm-smmu da0000.arm,smmu: probing hardware configuration...
> [ 1.859296] arm-smmu da0000.arm,smmu: SMMUv2 with:
> [ 1.865845] arm-smmu da0000.arm,smmu: stage 1 translation
> [ 1.870658] arm-smmu da0000.arm,smmu: address translation ops
> [ 1.876121] arm-smmu da0000.arm,smmu: non-coherent table walk
> [ 1.881936] arm-smmu da0000.arm,smmu: (IDR0.CTTW overridden by FW configuration)
> [ 1.887760] arm-smmu da0000.arm,smmu: stream matching with 4 register groups
> [ 1.895337] arm-smmu da0000.arm,smmu: 2 context banks (0 stage-2 only)
> [ 1.902455] arm-smmu da0000.arm,smmu: Supported page sizes: 0x63315000
> [ 1.908852] arm-smmu da0000.arm,smmu: Stage-1: 32-bit VA -> 36-bit IPA
> [hangs here]
> 
> Fix:
> 
> During the Ubuntu-snapdragon-4.15.0-1061.68, the qcom smmuv2 implementation was replaced with an upstream generic version that didn't explicit clocks, power requirements and early init via IOMMU_OF_DECLARE() - reverting the upstream patch, and reapplying the original qcom patch that was dropped, fixes this hang.
> 
> How to test:
> 
> Try to boot a patched kernel and see if it reaches userspace.
> 
> Regression potential:
> 
> None, since the current kernel version doesn't boot at all.
> 
> 
> Paolo Pisati (1):
>   Revert "iommu/arm-smmu: Add support for qcom,smmu-v2 variant"
> 
> Vivek Gautam (1):
>   iommu/arm-smmu: Add support for qcom,smmu-v2 variant
> 
>  .../devicetree/bindings/iommu/arm,smmu.txt         | 42 ++++++++++++++++++++++
>  drivers/iommu/arm-smmu.c                           | 13 ++++++-
>  2 files changed, 54 insertions(+), 1 deletion(-)
> 
> -- 
> 2.7.4
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team