disp: msm: sde: add dt property for QSEED scalar HW revision

QSEED scalar block HW revision is constant for a given MDSS revision.
Both SSPP and DS HW files invoke this API to read the revision register
at various points of time. Expose this revision information through
DT binding and maintain in the catalog to avoid repeated register
reads.

Change-Id: I95c0a5242cfda0aaa4ec5c2ff5c7cc0bed191b59
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
このコミットが含まれているのは:
Jeykumar Sankaran
2020-06-12 11:36:48 -07:00
コミット fdf88f7853
9個のファイルの変更16行の追加53行の削除

ファイルの表示

@@ -613,16 +613,6 @@ static void sde_hw_sspp_setup_pre_downscale(struct sde_hw_pipe *ctx,
SDE_REG_WRITE(&ctx->hw, SSPP_PRE_DOWN_SCALE + idx, val);
}
static u32 _sde_hw_sspp_get_scaler3_ver(struct sde_hw_pipe *ctx)
{
u32 idx;
if (!ctx || _sspp_subblk_offset(ctx, SDE_SSPP_SCALER_QSEED3, &idx))
return 0;
return sde_hw_get_scaler3_ver(&ctx->hw, idx);
}
/**
* sde_hw_sspp_setup_rects()
*/
@@ -1247,7 +1237,6 @@ static void _setup_layer_ops(struct sde_hw_pipe *c,
if (test_bit(SDE_SSPP_SCALER_QSEED3, &features) ||
test_bit(SDE_SSPP_SCALER_QSEED3LITE, &features)) {
c->ops.setup_scaler = _sde_hw_sspp_setup_scaler3;
c->ops.get_scaler_ver = _sde_hw_sspp_get_scaler3_ver;
c->ops.setup_scaler_lut = is_qseed3_rev_qseed3lite(
c->catalog) ? reg_dmav1_setup_scaler3lite_lut
: reg_dmav1_setup_scaler3_lut;
@@ -1346,10 +1335,9 @@ struct sde_hw_pipe *sde_hw_sspp_init(enum sde_sspp idx,
_setup_layer_ops(hw_pipe, hw_pipe->cap->features,
hw_pipe->cap->perf_features, is_virtual_pipe);
if (hw_pipe->ops.get_scaler_ver) {
if (catalog->qseed_hw_version)
sde_init_scaler_blk(&hw_pipe->cap->sblk->scaler_blk,
hw_pipe->ops.get_scaler_ver(hw_pipe));
}
catalog->qseed_hw_version);
rc = sde_hw_blk_init(&hw_pipe->base, SDE_HW_BLK_SSPP, idx, &sde_hw_ops);
if (rc) {