From 86c892ec3aa3828d5259c0982f5ee7a598da9ab9 Mon Sep 17 00:00:00 2001 From: Pavan Kumar Chilamkurthi Date: Tue, 25 Aug 2020 01:38:54 -0700 Subject: [PATCH] msm: camera: cpas: Add qosgen shaping config Add qosgen shaping configuration setup. These parameters will be tuned for every chipset along with other QoS settings. CRs-Fixed: 2755917 Change-Id: Ia75e7afc9148ebe94c7cf184de1158b91bee7028 Signed-off-by: Pavan Kumar Chilamkurthi --- drivers/cam_cpas/cpas_top/cam_cpastop_hw.h | 6 + drivers/cam_cpas/cpas_top/cpastop_v580_100.h | 258 +++++++++++++++++- .../cam_cpas/cpas_top/cpastop_v580_custom.h | 256 +++++++++++++++++ 3 files changed, 519 insertions(+), 1 deletion(-) diff --git a/drivers/cam_cpas/cpas_top/cam_cpastop_hw.h b/drivers/cam_cpas/cpas_top/cam_cpastop_hw.h index f12010116b..c3ec408c5f 100644 --- a/drivers/cam_cpas/cpas_top/cam_cpastop_hw.h +++ b/drivers/cam_cpas/cpas_top/cam_cpastop_hw.h @@ -160,6 +160,9 @@ enum cam_camnoc_port_type { * @danger_lut: Danger LUT mapping for this connection * @safe_lut: Safe LUT mapping for this connection * @ubwc_ctl: UBWC control settings for this connection + * @qosgen_mainctl: qosgen shaping control configuration for this connection + * @qosgen_shaping_low: qosgen shaping low configuration for this connection + * @qosgen_shaping_high: qosgen shaping high configuration for this connection * */ struct cam_camnoc_specific { @@ -172,6 +175,9 @@ struct cam_camnoc_specific { struct cam_cpas_reg safe_lut; struct cam_cpas_reg ubwc_ctl; struct cam_cpas_reg flag_out_set0_low; + struct cam_cpas_reg qosgen_mainctl; + struct cam_cpas_reg qosgen_shaping_low; + struct cam_cpas_reg qosgen_shaping_high; }; /** diff --git a/drivers/cam_cpas/cpas_top/cpastop_v580_100.h b/drivers/cam_cpas/cpas_top/cpastop_v580_100.h index d79ca4af21..550adc7e08 100644 --- a/drivers/cam_cpas/cpas_top/cpastop_v580_100.h +++ b/drivers/cam_cpas/cpas_top/cpastop_v580_100.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* - * Copyright (c) 2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. */ #ifndef _CPASTOP_V580_100_H_ @@ -263,6 +263,27 @@ static struct cam_camnoc_specific .ubwc_ctl = { .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x408, /* CDM_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x420, /* CDM_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x424, /* CDM_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_LINEAR, @@ -308,6 +329,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xE08, /* IFE_LINEAR_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xE20, /* IFE_LINEAR_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xE24, /* IFE_LINEAR_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_RDI_RD, @@ -353,6 +395,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xF08, /* IFE_RDI_RD_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xF20, /* IFE_RDI_RD_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xF24, /* IFE_RDI_RD_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_RDI_WR, @@ -398,6 +461,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1808, /* IFE_RDI_WR_0_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1820, /* IFE_RDI_WR_0_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1824, /* IFE_RDI_WR_0_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_RDI_WR_1, @@ -443,6 +527,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C08, /* IFE_RDI_WR_1_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C20, /* IFE_RDI_WR_1_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C24, /* IFE_RDI_WR_1_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_UBWC_STATS, @@ -493,6 +598,29 @@ static struct cam_camnoc_specific .offset = 0x1B88, /* IFE_UBWC_STATS_0_ENCCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1908, /* IFE_UBWC_STATS_0_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1920, + /* IFE_UBWC_STATS_0_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1924, + /* IFE_UBWC_STATS_0_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_UBWC_STATS_1, @@ -543,6 +671,29 @@ static struct cam_camnoc_specific .offset = 0x7788, /* IFE_UBWC_STATS_1_ENCCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C88, /* IFE_UBWC_STATS_1_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7CA0, + /* IFE_UBWC_STATS_1_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7CA4, + /* IFE_UBWC_STATS_1_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IPE0_RD, @@ -594,6 +745,27 @@ static struct cam_camnoc_specific .offset = 0x1F08, /* IPE0_RD_DECCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2208, /* IPE0_RD_QOSGEN_MAINCTL */ + .value = 0x2, + }, + .qosgen_shaping_low = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2220, /* IPE0_RD_QOSGEN_SHAPING_LOW */ + .value = 0x13131313, + }, + .qosgen_shaping_high = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2224, /* IPE0_RD_QOSGEN_SHAPING_HIGH */ + .value = 0x13131313, + }, }, { .port_type = CAM_CAMNOC_IPE1_BPS_RD, @@ -645,6 +817,27 @@ static struct cam_camnoc_specific .offset = 0x2508, /* IPE1_BPS_RD_DECCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2308, /* IPE1_BPS_RD_QOSGEN_MAINCTL */ + .value = 0x2, + }, + .qosgen_shaping_low = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2320, /* IPE1_BPS_RD_QOSGEN_SHAPING_LOW */ + .value = 0x24242424, + }, + .qosgen_shaping_high = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2324, /* IPE1_BPS_RD_QOSGEN_SHAPING_HIGH */ + .value = 0x24242424, + }, }, { .port_type = CAM_CAMNOC_IPE_BPS_WR, @@ -696,6 +889,27 @@ static struct cam_camnoc_specific .offset = 0x2988, /* IPE_BPS_WR_ENCCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2C08, /* IPE_BPS_WR_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2C20, /* IPE_BPS_WR_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2C24, /* IPE_BPS_WR_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_JPEG, @@ -738,6 +952,27 @@ static struct cam_camnoc_specific .ubwc_ctl = { .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2D08, /* JPEG_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2D20, /* JPEG_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2D24, /* JPEG_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_ICP, @@ -749,6 +984,27 @@ static struct cam_camnoc_specific .offset = 0x3888, .value = 0x100000, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x3488, /* ICP_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x34A0, /* ICP_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x34A4, /* ICP_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, }; diff --git a/drivers/cam_cpas/cpas_top/cpastop_v580_custom.h b/drivers/cam_cpas/cpas_top/cpastop_v580_custom.h index 4b97ee206e..1e1c6a7595 100644 --- a/drivers/cam_cpas/cpas_top/cpastop_v580_custom.h +++ b/drivers/cam_cpas/cpas_top/cpastop_v580_custom.h @@ -263,6 +263,27 @@ static struct cam_camnoc_specific .ubwc_ctl = { .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x408, /* CDM_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x420, /* CDM_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x424, /* CDM_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_LINEAR, @@ -308,6 +329,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xE08, /* IFE_LINEAR_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xE20, /* IFE_LINEAR_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xE24, /* IFE_LINEAR_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_RDI_RD, @@ -353,6 +395,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xF08, /* IFE_RDI_RD_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xF20, /* IFE_RDI_RD_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0xF24, /* IFE_RDI_RD_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_RDI_WR, @@ -398,6 +461,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1808, /* IFE_RDI_WR_0_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1820, /* IFE_RDI_WR_0_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1824, /* IFE_RDI_WR_0_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_RDI_WR_1, @@ -443,6 +527,27 @@ static struct cam_camnoc_specific */ .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C08, /* IFE_RDI_WR_1_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C20, /* IFE_RDI_WR_1_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C24, /* IFE_RDI_WR_1_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_UBWC_STATS, @@ -493,6 +598,29 @@ static struct cam_camnoc_specific .offset = 0x1B88, /* IFE_UBWC_STATS_0_ENCCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1908, /* IFE_UBWC_STATS_0_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1920, + /* IFE_UBWC_STATS_0_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x1924, + /* IFE_UBWC_STATS_0_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IFE_UBWC_STATS_1, @@ -543,6 +671,29 @@ static struct cam_camnoc_specific .offset = 0x7788, /* IFE_UBWC_STATS_1_ENCCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7C88, /* IFE_UBWC_STATS_1_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7CA0, + /* IFE_UBWC_STATS_1_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x7CA4, + /* IFE_UBWC_STATS_1_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_IPE0_RD, @@ -594,6 +745,27 @@ static struct cam_camnoc_specific .offset = 0x1F08, /* IPE0_RD_DECCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2208, /* IPE0_RD_QOSGEN_MAINCTL */ + .value = 0x2, + }, + .qosgen_shaping_low = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2220, /* IPE0_RD_QOSGEN_SHAPING_LOW */ + .value = 0x13131313, + }, + .qosgen_shaping_high = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2224, /* IPE0_RD_QOSGEN_SHAPING_HIGH */ + .value = 0x13131313, + }, }, { .port_type = CAM_CAMNOC_IPE1_BPS_RD, @@ -645,6 +817,27 @@ static struct cam_camnoc_specific .offset = 0x2508, /* IPE1_BPS_RD_DECCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2308, /* IPE1_BPS_RD_QOSGEN_MAINCTL */ + .value = 0x2, + }, + .qosgen_shaping_low = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2320, /* IPE1_BPS_RD_QOSGEN_SHAPING_LOW */ + .value = 0x24242424, + }, + .qosgen_shaping_high = { + .enable = true, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2324, /* IPE1_BPS_RD_QOSGEN_SHAPING_HIGH */ + .value = 0x24242424, + }, }, { .port_type = CAM_CAMNOC_IPE_BPS_WR, @@ -696,6 +889,27 @@ static struct cam_camnoc_specific .offset = 0x2988, /* IPE_BPS_WR_ENCCTL_LOW */ .value = 1, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2C08, /* IPE_BPS_WR_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2C20, /* IPE_BPS_WR_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2C24, /* IPE_BPS_WR_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_JPEG, @@ -738,6 +952,27 @@ static struct cam_camnoc_specific .ubwc_ctl = { .enable = false, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2D08, /* JPEG_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2D20, /* JPEG_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x2D24, /* JPEG_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, { .port_type = CAM_CAMNOC_ICP, @@ -749,6 +984,27 @@ static struct cam_camnoc_specific .offset = 0x3888, .value = 0x100000, }, + .qosgen_mainctl = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x3488, /* ICP_QOSGEN_MAINCTL */ + .value = 0x0, + }, + .qosgen_shaping_low = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x34A0, /* ICP_QOSGEN_SHAPING_LOW */ + .value = 0x0, + }, + .qosgen_shaping_high = { + .enable = false, + .access_type = CAM_REG_TYPE_READ_WRITE, + .masked_value = 0, + .offset = 0x34A4, /* ICP_QOSGEN_SHAPING_HIGH */ + .value = 0x0, + }, }, };