|
@@ -441,6 +441,7 @@ enum {
|
|
WB_ID,
|
|
WB_ID,
|
|
WB_XIN_ID,
|
|
WB_XIN_ID,
|
|
WB_CLK_CTRL,
|
|
WB_CLK_CTRL,
|
|
|
|
+ WB_CLK_STATUS,
|
|
WB_PROP_MAX,
|
|
WB_PROP_MAX,
|
|
};
|
|
};
|
|
|
|
|
|
@@ -832,6 +833,8 @@ static struct sde_prop_type wb_prop[] = {
|
|
{WB_XIN_ID, "qcom,sde-wb-xin-id", false, PROP_TYPE_U32_ARRAY},
|
|
{WB_XIN_ID, "qcom,sde-wb-xin-id", false, PROP_TYPE_U32_ARRAY},
|
|
{WB_CLK_CTRL, "qcom,sde-wb-clk-ctrl", false,
|
|
{WB_CLK_CTRL, "qcom,sde-wb-clk-ctrl", false,
|
|
PROP_TYPE_BIT_OFFSET_ARRAY},
|
|
PROP_TYPE_BIT_OFFSET_ARRAY},
|
|
|
|
+ {WB_CLK_STATUS, "qcom,sde-wb-clk-status", false,
|
|
|
|
+ PROP_TYPE_BIT_OFFSET_ARRAY},
|
|
};
|
|
};
|
|
|
|
|
|
static struct sde_prop_type vbif_prop[] = {
|
|
static struct sde_prop_type vbif_prop[] = {
|
|
@@ -881,7 +884,7 @@ static struct sde_prop_type reg_dma_prop[REG_DMA_PROP_MAX] = {
|
|
"qcom,sde-reg-dma-broadcast-disabled", false, PROP_TYPE_BOOL},
|
|
"qcom,sde-reg-dma-broadcast-disabled", false, PROP_TYPE_BOOL},
|
|
[REG_DMA_XIN_ID] = {REG_DMA_XIN_ID,
|
|
[REG_DMA_XIN_ID] = {REG_DMA_XIN_ID,
|
|
"qcom,sde-reg-dma-xin-id", false, PROP_TYPE_U32},
|
|
"qcom,sde-reg-dma-xin-id", false, PROP_TYPE_U32},
|
|
- [REG_DMA_CLK_CTRL] = {REG_DMA_XIN_ID,
|
|
|
|
|
|
+ [REG_DMA_CLK_CTRL] = {REG_DMA_CLK_CTRL,
|
|
"qcom,sde-reg-dma-clk-ctrl", false, PROP_TYPE_BIT_OFFSET_ARRAY},
|
|
"qcom,sde-reg-dma-clk-ctrl", false, PROP_TYPE_BIT_OFFSET_ARRAY},
|
|
};
|
|
};
|
|
|
|
|
|
@@ -1842,6 +1845,12 @@ static int _sde_sspp_setup_cmn(struct device_node *np,
|
|
sde_cfg->mdp[j].clk_ctrls[sspp->clk_ctrl].bit_off =
|
|
sde_cfg->mdp[j].clk_ctrls[sspp->clk_ctrl].bit_off =
|
|
PROP_BITVALUE_ACCESS(props->values,
|
|
PROP_BITVALUE_ACCESS(props->values,
|
|
SSPP_CLK_CTRL, i, 1);
|
|
SSPP_CLK_CTRL, i, 1);
|
|
|
|
+ sde_cfg->mdp[j].clk_status[sspp->clk_ctrl].reg_off =
|
|
|
|
+ PROP_BITVALUE_ACCESS(props->values,
|
|
|
|
+ SSPP_CLK_STATUS, i, 0);
|
|
|
|
+ sde_cfg->mdp[j].clk_status[sspp->clk_ctrl].bit_off =
|
|
|
|
+ PROP_BITVALUE_ACCESS(props->values,
|
|
|
|
+ SSPP_CLK_STATUS, i, 1);
|
|
}
|
|
}
|
|
|
|
|
|
SDE_DEBUG("xin:%d ram:%d clk%d:%x/%d\n",
|
|
SDE_DEBUG("xin:%d ram:%d clk%d:%x/%d\n",
|
|
@@ -2354,6 +2363,12 @@ static int sde_wb_parse_dt(struct device_node *np, struct sde_mdss_cfg *sde_cfg)
|
|
sde_cfg->mdp[j].clk_ctrls[wb->clk_ctrl].bit_off =
|
|
sde_cfg->mdp[j].clk_ctrls[wb->clk_ctrl].bit_off =
|
|
PROP_BITVALUE_ACCESS(prop_value,
|
|
PROP_BITVALUE_ACCESS(prop_value,
|
|
WB_CLK_CTRL, i, 1);
|
|
WB_CLK_CTRL, i, 1);
|
|
|
|
+ sde_cfg->mdp[j].clk_status[wb->clk_ctrl].reg_off =
|
|
|
|
+ PROP_BITVALUE_ACCESS(prop_value,
|
|
|
|
+ WB_CLK_STATUS, i, 0);
|
|
|
|
+ sde_cfg->mdp[j].clk_status[wb->clk_ctrl].bit_off =
|
|
|
|
+ PROP_BITVALUE_ACCESS(prop_value,
|
|
|
|
+ WB_CLK_STATUS, i, 1);
|
|
}
|
|
}
|
|
|
|
|
|
wb->format_list = sde_cfg->wb_formats;
|
|
wb->format_list = sde_cfg->wb_formats;
|