[Freedreno] [PATCH v5 0/8] Introduce MSM-specific DSC helpers
Jessica Zhang
quic_jesszhan at quicinc.com
Wed Apr 12 19:09:40 UTC 2023
There are some overlap in calculations for MSM-specific DSC variables
between DP and DSI. In addition, the calculations for initial_scale_value
and det_thresh_flatness that are defined within the DSC 1.2 specifications,
but aren't yet included in drm_dsc_helper.c.
This series moves these calculations to a shared msm_dsc_helper.c file and
defines drm_dsc_helper methods for initial_scale_value and
det_thresh_flatness.
Note: For now, the MSM specific helper methods are only called for the DSI
path, but will called for DP once DSC 1.2 support for DP has been added.
Depends on: "drm/i915: move DSC RC tables to drm_dsc_helper.c" [1]
[1] https://patchwork.freedesktop.org/series/114472/
---
Changes in v5:
- Picked up Reviewed-by tags
- "Fix calculations pkt_per_line" --> "... Fix calculation for pkt_per_line"
- Split dsc->slice_width check into a separate patch
- Picked up Dmitry's msm/dsi patch ("drm/msm/dsi: use new helpers for
DSC setup")
- Simplified MSM DSC helper math
- Removed unused headers in MSM DSC helper files
- Link to v4: https://lore.kernel.org/r/20230329-rfc-msm-dsc-helper-v4-0-1b79c78b30d7@quicinc.com
Changes in v4:
- Changed msm_dsc_get_uncompressed_pclk_per_intf to msm_dsc_get_pclk_per_intf
- Moved pclk_per_intf calculation for dsi_timing_setup to `if
(msm_host->dsc)` block
- Link to v3: https://lore.kernel.org/r/20230329-rfc-msm-dsc-helper-v3-0-6bec0d277a83@quicinc.com
Changes in v3:
- Cleaned up unused parameters
- Reworded some calculations for clarity
- Changed get_bytes_per_soft_slice() to a public method
- Added comment documentation to MSM DSC helpers
- Changed msm_dsc_get_eol_byte_num() to *_get_bytes_per_intf()
- Split dsi_timing_setup() hdisplay calculation to a separate patch
- Dropped 78c8b81d57d8 ("drm/display/dsc: Add flatness and initial scale
value calculations") patch as it was absorbed in Dmitry's DSC series [1]
- Link to v2: https://lore.kernel.org/r/20230329-rfc-msm-dsc-helper-v2-0-3c13ced536b2@quicinc.com
Changes in v2:
- Changed det_thresh_flatness to flatness_det_thresh
- Moved msm_dsc_helper files to msm/ directory
- Fixed type mismatch issues in MSM DSC helpers
- Dropped MSM_DSC_SLICE_PER_PKT macro
- Removed get_comp_ratio() helper
- Style changes to improve readability
- Use drm_dsc_get_bpp_int() instead of DSC_BPP macro
- Picked up Fixes tags for patches 3/5 and 4/5
- Picked up Reviewed-by for patch 4/5
- Split eol_byte_num and pkt_per_line calculation into a separate patch
- Moved pclk_per_line calculation into `if (dsc)` block in
dsi_timing_setup()
- Link to v1: https://lore.kernel.org/r/20230329-rfc-msm-dsc-helper-v1-0-f3e479f59b6d@quicinc.com
---
Dmitry Baryshkov (1):
drm/msm/dsi: use new helpers for DSC setup
Jessica Zhang (7):
drm/msm: Add MSM-specific DSC helper methods
drm/msm/dpu: Use DRM DSC helper for det_thresh_flatness
drm/msm/dpu: Fix slice_last_group_size calculation
drm/msm/dsi: Use MSM and DRM DSC helper methods
drm/msm/dsi: Add check for slice_width in dsi_timing_setup
drm/msm/dsi: update hdisplay calculation for dsi_timing_setup
drm/msm/dsi: Fix calculation for pkt_per_line
drivers/gpu/drm/msm/Makefile | 1 +
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c | 9 ++--
drivers/gpu/drm/msm/dsi/dsi_host.c | 82 +++++++++---------------------
drivers/gpu/drm/msm/msm_dsc_helper.c | 25 +++++++++
drivers/gpu/drm/msm/msm_dsc_helper.h | 75 +++++++++++++++++++++++++++
5 files changed, 131 insertions(+), 61 deletions(-)
---
base-commit: 7417f9c699613f284bd4edc93adccac3ea3ced0f
change-id: 20230329-rfc-msm-dsc-helper-981a95edfbd0
Best regards,
--
Jessica Zhang <quic_jesszhan at quicinc.com>
More information about the Freedreno
mailing list