diff options
author | Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | 2020-10-22 16:16:56 +0300 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2020-11-04 08:26:26 -0800 |
commit | c40e6c6733a0b6a8bdcf4a7cb0f50697c86723cb (patch) | |
tree | 246f7b9ce891c5cc67e4a87c2364ff2e857f8914 /drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | |
parent | 4369c93cf36bc57d0b317ae0529a440e71d25280 (diff) | |
download | linux-stable-c40e6c6733a0b6a8bdcf4a7cb0f50697c86723cb.tar.gz linux-stable-c40e6c6733a0b6a8bdcf4a7cb0f50697c86723cb.tar.bz2 linux-stable-c40e6c6733a0b6a8bdcf4a7cb0f50697c86723cb.zip |
drm/msm/dpu: handle merge_3d configuration in hw_ctl block
Active HW CTL blocks need separate handling for merge_3d flushes.
Implement necessary merge_3d configuration and flushing.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h')
-rw-r--r-- | drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h index 73378fcba2d1..e93a42ab60b1 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h @@ -37,12 +37,14 @@ struct dpu_hw_stage_cfg { * struct dpu_hw_intf_cfg :Describes how the DPU writes data to output interface * @intf : Interface id * @mode_3d: 3d mux configuration + * @merge_3d: 3d merge block used * @intf_mode_sel: Interface mode, cmd / vid * @stream_sel: Stream selection for multi-stream interfaces */ struct dpu_hw_intf_cfg { enum dpu_intf intf; enum dpu_3d_blend_mode mode_3d; + enum dpu_merge_3d merge_3d; enum dpu_ctl_mode_sel intf_mode_sel; int stream_sel; }; @@ -100,6 +102,15 @@ struct dpu_hw_ctl_ops { enum dpu_intf blk); /** + * OR in the given flushbits to the cached pending_(merge_3d_)flush_mask + * No effect on hardware + * @ctx : ctl path ctx pointer + * @blk : interface block index + */ + void (*update_pending_flush_merge_3d)(struct dpu_hw_ctl *ctx, + enum dpu_merge_3d blk); + + /** * Write the value of the pending_flush_mask to hardware * @ctx : ctl path ctx pointer */ @@ -181,6 +192,7 @@ struct dpu_hw_ctl { const struct dpu_lm_cfg *mixer_hw_caps; u32 pending_flush_mask; u32 pending_intf_flush_mask; + u32 pending_merge_3d_flush_mask; /* ops */ struct dpu_hw_ctl_ops ops; |