diff options
author | Vinod Koul <vkoul@kernel.org> | 2020-02-11 15:13:44 +0530 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2021-05-20 14:19:18 +0530 |
commit | 52fc51013bdd4461c91f1fb95fddff8ea138b969 (patch) | |
tree | 48cadb2f6f18e2b0f71d03760f77b9a34e0fb62b | |
parent | a34d5cc19a258499ec4c5967595082c5d238517f (diff) |
drm/msm: Add dsc config to msm_drm_private
To support DSC, add msm_display_dsc_config which uses drm_dsc_config to store
the DSC parameters.
Drivers should set this pointer when DSC is enabled
Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index 80ef545efbe5..26661dd43936 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -30,6 +30,7 @@ #include <drm/drm_plane_helper.h> #include <drm/drm_probe_helper.h> #include <drm/drm_fb_helper.h> +#include <drm/drm_dsc.h> #include <drm/msm_drm.h> #include <drm/drm_gem.h> @@ -144,6 +145,24 @@ struct msm_drm_thread { struct kthread_worker *worker; }; +/* DSC config */ +struct msm_display_dsc_config { + struct drm_dsc_config drm; + u8 scr_rev; + + u32 initial_lines; + u32 pkt_per_line; + u32 bytes_in_slice; + u32 bytes_per_pkt; + u32 eol_byte_num; + u32 pclk_per_line; + u32 slice_last_group_size; + u32 slice_per_pkt; + u32 det_thresh_flatness; + u32 extra_width; + u32 pps_delay_ms; +}; + struct msm_drm_private { struct drm_device *dev; @@ -237,6 +256,9 @@ struct msm_drm_private { /* Properties */ struct drm_property *plane_property[PLANE_PROP_MAX_NUM]; + /* DSC configuration */ + struct msm_display_dsc_config *dsc; + /* VRAM carveout, used when no IOMMU: */ struct { unsigned long size; |