[Freedreno] [PATCH v5 0/8] drm/i915: move DSC RC tables to drm_dsc_helper.c
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Tue May 16 12:59:27 UTC 2023
On 15/05/2023 12:12, Jani Nikula wrote:
> On Thu, 04 May 2023, Dmitry Baryshkov <dmitry.baryshkov at linaro.org> wrote:
>> Other platforms (msm) will benefit from sharing the DSC config setup
>> functions. This series moves parts of static DSC config data from the
>> i915 driver to the common helpers to be used by other drivers.
>>
>> Note: the RC parameters were cross-checked against config files found in
>> DSC model 2021062, 20161212 (and 20150914). The first patch modifies
>> tables according to those config files, while preserving parameter
>> values using the code. I have not changed one of the values in the
>> pre-SCR config file as it clearly looks like a typo in the config file,
>> considering the table E in DSC 1.1 and in the DSC 1.1 SCR.
>
> As I believe I've said before, I think it's fine to merge these either
> via drm-intel or drm-misc. Which do you prefer?
No strong preference. Maybe drm-misc would be easier for us to
back-merge it into msm/next. Otherwise it is up to you.
>
> BR,
> Jani.
>
>
>
>>
>> Chances since v4:
>> - Rebased on top of drm-intel-next
>> - Cut the first 8 patches of the series to ease merging. The rest of the
>> patches will go afterwards.
>>
>> Chances since v3:
>> - Rebased on top of drm-intel-next
>> - Dropped the msm patch to make patchset fully mergeable through
>> drm-intel
>> - Made drm_dsc_set_const_params() ignore rc_model_size, picked up
>> drm_dsc_set_initial_scale_value() patch by Jessica and switched
>> intel_vdsc.c to use those two helpers.
>> - Added a patch to make i915 actually use rc_tgt_offset_high,
>> rc_tgt_offset_low and rc_edge_factor from struct drm_dsc_config.
>>
>> Chances since v2:
>> - Rebased on top of drm-intel-next
>>
>> Chances since v1:
>> - Made drm_dsc_rc_buf_thresh static rather than exporting it
>> - Switched drm_dsc_rc_buf_thresh loop to use ARRAY_SIZE. Added
>> BUILD_BUG_ON's to be sure that array sizes are correct
>> - Fixed rc_parameters_data indentation to be logical and tidy
>> - Fixed drm_dsc_setup_rc_params() kerneldoc
>> - Added a clause to drm_dsc_setup_rc_params() to verify bpp and bpc
>> being set.
>> - Fixed range_bpg_offset programming in calculate_rc_params()
>> - Fixed bpp vs bpc bug in intel_dsc_compute_params()
>> - Added FIXME comment next to the customizations in
>> intel_dsc_compute_params().
>>
>> Dmitry Baryshkov (8):
>> drm/i915/dsc: change DSC param tables to follow the DSC model
>> drm/i915/dsc: move rc_buf_thresh values to common helper
>> drm/i915/dsc: move DSC tables to DRM DSC helper
>> drm/i915/dsc: stop using interim structure for calculated params
>> drm/display/dsc: use flat array for rc_parameters lookup
>> drm/display/dsc: split DSC 1.2 and DSC 1.1 (pre-SCR) parameters
>> drm/display/dsc: include the rest of pre-SCR parameters
>> drm/display/dsc: add YCbCr 4:2:2 and 4:2:0 RC parameters
>>
>> drivers/gpu/drm/display/drm_dsc_helper.c | 986 ++++++++++++++++++++++
>> drivers/gpu/drm/i915/display/intel_vdsc.c | 443 ++--------
>> include/drm/display/drm_dsc_helper.h | 9 +
>> 3 files changed, 1042 insertions(+), 396 deletions(-)
>
--
With best wishes
Dmitry
More information about the Freedreno
mailing list