Explorar el Código

msm: eva: Add missing QOS setting

Fix wrong QoS setting for RGE and GCE.

Change-Id: Ibd156b4133c9027ec7ab7c383c86f81ef9d744e3
Signed-off-by: George Shen <[email protected]>
George Shen hace 1 año
padre
commit
4db4b2a5fa
Se han modificado 4 ficheros con 33 adiciones y 2 borrados
  1. 11 1
      msm/eva/cvp_hfi.c
  2. 10 0
      msm/eva/cvp_hfi_io.h
  3. 1 0
      msm/eva/msm_cvp_internal.h
  4. 11 1
      msm/eva/msm_cvp_platform.c

+ 11 - 1
msm/eva/cvp_hfi.c

@@ -868,12 +868,22 @@ static int __set_registers(struct iris_hfi_device *device)
 				pdata->noc_qos->dangerlut_low);
 	__write_register(device, CVP_NOC_RGE_SAFELUT_LOW,
 				pdata->noc_qos->safelut_low);
+	__write_register(device, CVP_NOC_GCE_PRIORITYLUT_LOW,
+				pdata->noc_qos->prioritylut_low);
+	__write_register(device, CVP_NOC_GCE_PRIORITYLUT_HIGH,
+				pdata->noc_qos->prioritylut_high);
+	__write_register(device, CVP_NOC_GCE_URGENCY_LOW,
+				pdata->noc_qos->urgency_low);
+	__write_register(device, CVP_NOC_GCE_DANGERLUT_LOW,
+				pdata->noc_qos->dangerlut_low);
+	__write_register(device, CVP_NOC_GCE_SAFELUT_LOW,
+				pdata->noc_qos->safelut_low);
 	__write_register(device, CVP_NOC_CDM_PRIORITYLUT_LOW,
 				pdata->noc_qos->prioritylut_low);
 	__write_register(device, CVP_NOC_CDM_PRIORITYLUT_HIGH,
 				pdata->noc_qos->prioritylut_high);
 	__write_register(device, CVP_NOC_CDM_URGENCY_LOW,
-				pdata->noc_qos->urgency_low);
+				pdata->noc_qos->urgency_low_ro);
 	__write_register(device, CVP_NOC_CDM_DANGERLUT_LOW,
 				pdata->noc_qos->dangerlut_low);
 	__write_register(device, CVP_NOC_CDM_SAFELUT_LOW,

+ 10 - 0
msm/eva/cvp_hfi_io.h

@@ -254,6 +254,16 @@
 		(CVP_NOC_CORE_BASE_OFFS + 0x3040)
 #define CVP_NOC_RGE_SAFELUT_LOW \
 		(CVP_NOC_CORE_BASE_OFFS + 0x3048)
+#define CVP_NOC_GCE_PRIORITYLUT_LOW \
+		(CVP_NOC_CORE_BASE_OFFS + 0x3430)
+#define CVP_NOC_GCE_PRIORITYLUT_HIGH \
+		(CVP_NOC_CORE_BASE_OFFS + 0x3434)
+#define CVP_NOC_GCE_URGENCY_LOW \
+		(CVP_NOC_CORE_BASE_OFFS + 0x3438)
+#define CVP_NOC_GCE_DANGERLUT_LOW \
+		(CVP_NOC_CORE_BASE_OFFS + 0x3440)
+#define CVP_NOC_GCE_SAFELUT_LOW \
+		(CVP_NOC_CORE_BASE_OFFS + 0x3448)
 #define CVP_NOC_CDM_PRIORITYLUT_LOW \
 		(CVP_NOC_CORE_BASE_OFFS + 0x3830)
 #define CVP_NOC_CDM_PRIORITYLUT_HIGH \

+ 1 - 0
msm/eva/msm_cvp_internal.h

@@ -115,6 +115,7 @@ struct msm_cvp_qos_setting {
 	u32 prioritylut_low;
 	u32 prioritylut_high;
 	u32 urgency_low;
+	u32 urgency_low_ro;
 	u32 dangerlut_low;
 	u32 safelut_low;
 };

+ 11 - 1
msm/eva/msm_cvp_platform.c

@@ -309,6 +309,16 @@ static struct msm_cvp_qos_setting waipio_noc_qos = {
 	.safelut_low = 0xffff,
 };
 
+static struct msm_cvp_qos_setting lanai_noc_qos = {
+	.axi_qos = 0x99,
+	.prioritylut_low = 0x33333333,
+	.prioritylut_high = 0x33333333,
+	.urgency_low = 0x1033,
+	.urgency_low_ro = 0x1003,
+	.dangerlut_low = 0x0,
+	.safelut_low = 0xffff,
+};
+
 static struct msm_cvp_platform_data default_data = {
 	.common_data = default_common_data,
 	.common_data_length =  ARRAY_SIZE(default_common_data),
@@ -355,7 +365,7 @@ static struct msm_cvp_platform_data sm8650_data = {
 	.sku_version = 0,
 	.vpu_ver = VPU_VERSION_5,
 	.ubwc_config = kona_ubwc_data,	/*Reuse Kona setting*/
-	.noc_qos = &waipio_noc_qos,	/*Reuse Waipio setting*/
+	.noc_qos = &lanai_noc_qos,
 	.vm_id = 1,
 };