From a21573cef0ead79035f682c776c41d460611c689 Mon Sep 17 00:00:00 2001 From: Adrian Herrera Date: Tue, 29 Sep 2020 10:31:49 +0100 Subject: [PATCH] dev-arm: SMMUv3, default CMDQ entries to 128 From Linux 587e6c10a7ce89a5924fdbeff2ec524fbd6a124b, SMMUv3 implementations in 64-bit platforms must report a minimum of 128 CMDQ entries via SMMU_IDR1. Otherwise, the SMMUv3 Linux driver returns -ENXIO. Change-Id: I304aac1b734515b3077003e8d67cc19730afc67f Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35297 Reviewed-by: Giacomo Travaglini Maintainer: Giacomo Travaglini Tested-by: kokoro --- src/dev/arm/SMMUv3.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dev/arm/SMMUv3.py b/src/dev/arm/SMMUv3.py index 29c15682b..f53b8ecab 100644 --- a/src/dev/arm/SMMUv3.py +++ b/src/dev/arm/SMMUv3.py @@ -162,9 +162,9 @@ class SMMUv3(ClockedObject): # [0] S2P = 0b1, Stage 2 translation supported. smmu_idr0 = Param.UInt32(0x094C100F, "SMMU_IDR0 register"); - # [25:21] CMDQS = 0b00101, Maximum number of Command queue entries - # as log 2 (entries) (0b00101 = 32 entries). - smmu_idr1 = Param.UInt32(0x00A00000, "SMMU_IDR1 register"); + # [25:21] CMDQS = 0b00111, Maximum number of Command queue entries + # as log 2 (entries) (0b00111 = 128 entries). + smmu_idr1 = Param.UInt32(0x00E00000, "SMMU_IDR1 register"); smmu_idr2 = Param.UInt32(0, "SMMU_IDR2 register"); smmu_idr3 = Param.UInt32(0, "SMMU_IDR3 register"); -- 2.30.2