Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1462733d authored by Alan Kwong's avatar Alan Kwong Committed by Narendra Muppalla
Browse files

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: default avatarAlan Kwong <akwong@codeaurora.org>
parent 4411a6d6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -174,6 +174,8 @@ Optional properties:
- qcom,sde-dspp-hist-off:	A u32 offset indicates the hist block offset on dssp.
- qcom,sde-dspp-ad-off:		A u32 offset indicates the ad block offset on dssp.

- qcom,sde-wb-id:		Array of writeback ids corresponding to the
				offsets defined in property: qcom,sde-wb-off.
Bus Scaling Data:
- qcom,msm-bus,name:		String property describing client name.
- qcom,msm-bus,num-cases:	This is the number of Bus Scaling use cases
@@ -324,6 +326,8 @@ Example:
    qcom,sde-dspp-hist-off = <0x100>;
    qcom,sde-dspp-ad-off = <0x100>;

    qcom,sde-wb-id = <2>;

    qcom,platform-supply-entries {
       #address-cells = <1>;
       #size-cells = <0>;
+5 −3
Original line number Diff line number Diff line
@@ -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);