summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAlan Kwong <akwong@codeaurora.org>2016-10-12 16:44:00 -0400
committerAlan Kwong <akwong@codeaurora.org>2016-10-24 19:36:05 -0400
commit8e3226a2fa93a42eac91227c0f95ff5f55b1cfc3 (patch)
tree7ab6c5324f40074295f9afbfeb2b7fd4e710735c /drivers/gpu
parent644936d86529f849005315ee15fa78361b74dc56 (diff)
drm/msm/sde: add writeback id parsing to hardware catalog
Writeback identifier is used to mapped clock control register for each writeback device. Add writeback identifier parsing to hardware catalog. Change-Id: I666072f657dfeb30c6818f3dd25729e891c579ad Signed-off-by: Alan Kwong <akwong@codeaurora.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/msm/sde/sde_hw_catalog.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/msm/sde/sde_hw_catalog.c b/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
index fb75c2a59835..ec7c02b2ec6d 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
+++ b/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
@@ -145,6 +145,7 @@ enum {
enum {
WB_OFF,
WB_LEN,
+ WB_ID,
WB_XIN_ID,
};
@@ -259,6 +260,7 @@ static struct sde_prop_type intf_prop[] = {
static struct sde_prop_type wb_prop[] = {
{WB_OFF, "qcom,sde-wb-off", true, PROP_TYPE_U32_ARRAY},
{WB_LEN, "qcom,sde-wb-size", false, PROP_TYPE_U32},
+ {WB_ID, "qcom,sde-wb-id", true, PROP_TYPE_U32_ARRAY},
{WB_XIN_ID, "qcom,sde-wb-xin-id", false, PROP_TYPE_U32_ARRAY},
};
@@ -833,8 +835,8 @@ static int sde_wb_parse_dt(struct device_node *np, struct sde_mdss_cfg *sde_cfg)
wb->sblk = sblk;
wb->base = prop_value[WB_OFF][i];
- wb->id = WB_0 + i;
- wb->clk_ctrl = SDE_CLK_CTRL_NONE;
+ wb->id = WB_0 + prop_value[WB_ID][i];
+ wb->clk_ctrl = SDE_CLK_CTRL_WB0 + prop_value[WB_ID][i];
wb->xin_id = prop_value[WB_XIN_ID][i];
wb->vbif_idx = VBIF_NRT;
wb->len = prop_value[WB_LEN][0];
@@ -843,7 +845,7 @@ static int sde_wb_parse_dt(struct device_node *np, struct sde_mdss_cfg *sde_cfg)
wb->len = DEFAULT_SDE_HW_BLOCK_LEN;
sblk->maxlinewidth = sde_cfg->max_wb_linewidth;
- if (i >= LINE_MODE_WB_OFFSET)
+ if (wb->id >= LINE_MODE_WB_OFFSET)
set_bit(SDE_WB_LINE_MODE, &wb->features);
else
set_bit(SDE_WB_BLOCK_MODE, &wb->features);