[PATCH v12 3/9] drm/display/dsc: Add drm_dsc_get_bpp_int helper
Jessica Zhang
quic_jesszhan at quicinc.com
Mon May 22 21:16:36 UTC 2023
On 5/22/2023 2:35 AM, Jani Nikula wrote:
> On Wed, 17 May 2023, Jessica Zhang <quic_jesszhan at quicinc.com> wrote:
>> Add helper to get the integer value of drm_dsc_config.bits_per_pixel
>>
>> Reviewed-by: Marijn Suijten <marijn.suijten at somainline.org>
>> Signed-off-by: Jessica Zhang <quic_jesszhan at quicinc.com>
>> ---
>> include/drm/display/drm_dsc_helper.h | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/include/drm/display/drm_dsc_helper.h b/include/drm/display/drm_dsc_helper.h
>> index e0cbc38ada26..7bf7e8ff8eb4 100644
>> --- a/include/drm/display/drm_dsc_helper.h
>> +++ b/include/drm/display/drm_dsc_helper.h
>> @@ -9,6 +9,7 @@
>> #define DRM_DSC_HELPER_H_
>>
>> #include <drm/display/drm_dsc.h>
>> +#include <linux/bug.h>
>
> Seems like a small thing, adding static inlines in headers usually leads
> to more header dependencies like this, and gradually slows down build.
>
> Does it need to be a static inline?
Hi Jani,
Good point about the dependencies. Will make this a non-inline function.
Thanks,
Jessica Zhang
>
> BR,
> Jani.
>
>>
>> enum drm_dsc_params_type {
>> DRM_DSC_1_2_444,
>> @@ -26,6 +27,12 @@ void drm_dsc_set_rc_buf_thresh(struct drm_dsc_config *vdsc_cfg);
>> int drm_dsc_setup_rc_params(struct drm_dsc_config *vdsc_cfg, enum drm_dsc_params_type type);
>> int drm_dsc_compute_rc_parameters(struct drm_dsc_config *vdsc_cfg);
>>
>> +static inline u32 drm_dsc_get_bpp_int(const struct drm_dsc_config *dsc)
>> +{
>> + WARN_ON_ONCE(dsc->bits_per_pixel & 0xf);
>> + return dsc->bits_per_pixel >> 4;
>> +}
>> +
>> static inline u8 drm_dsc_initial_scale_value(const struct drm_dsc_config *dsc)
>> {
>> return 8 * dsc->rc_model_size / (dsc->rc_model_size - dsc->initial_offset);
>
> --
> Jani Nikula, Intel Open Source Graphics Center
More information about the dri-devel
mailing list