> -----Original Message----- > From: Jani Nikula <jani.nikula@xxxxxxxxx> > Sent: Friday, March 27, 2020 6:12 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: Nikula, Jani <jani.nikula@xxxxxxxxx>; Alex Deucher > <alexdeucher@xxxxxxxxx>; Harry Wentland <hwentlan@xxxxxxx>; Navare, > Manasi D <manasi.d.navare@xxxxxxxxx>; Kulkarni, Vandita > <vandita.kulkarni@xxxxxxxxx> > Subject: [PATCH RESEND 2/7] drm/dsc: add helper for calculating rc buffer size > from DPCD > > Add a helper for calculating the rc buffer size from the DCPD offsets > DP_DSC_RC_BUF_BLK_SIZE and DP_DSC_RC_BUF_SIZE. > > Cc: Alex Deucher <alexdeucher@xxxxxxxxx> > Cc: Harry Wentland <hwentlan@xxxxxxx> > Cc: Manasi Navare <manasi.d.navare@xxxxxxxxx> > Cc: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Looks good to me. Reviewed-by: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > --- > drivers/gpu/drm/drm_dsc.c | 27 +++++++++++++++++++++++++++ > include/drm/drm_dsc.h | 1 + > 2 files changed, 28 insertions(+) > > diff --git a/drivers/gpu/drm/drm_dsc.c b/drivers/gpu/drm/drm_dsc.c index > 09afbc01ea94..ff602f7ec65b 100644 > --- a/drivers/gpu/drm/drm_dsc.c > +++ b/drivers/gpu/drm/drm_dsc.c > @@ -49,6 +49,33 @@ void drm_dsc_dp_pps_header_init(struct dp_sdp_header > *pps_header) } EXPORT_SYMBOL(drm_dsc_dp_pps_header_init); > > +/** > + * drm_dsc_dp_rc_buffer_size - get rc buffer size in bytes > + * @rc_buffer_block_size: block size code, according to DPCD offset 62h > + * @rc_buffer_size: number of blocks - 1, according to DPCD offset 63h > + * > + * return: > + * buffer size in bytes, or 0 on invalid input */ int > +drm_dsc_dp_rc_buffer_size(u8 rc_buffer_block_size, u8 rc_buffer_size) { > + int size = 1024 * (rc_buffer_size + 1); > + > + switch (rc_buffer_block_size) { > + case DP_DSC_RC_BUF_BLK_SIZE_1: > + return 1 * size; > + case DP_DSC_RC_BUF_BLK_SIZE_4: > + return 4 * size; > + case DP_DSC_RC_BUF_BLK_SIZE_16: > + return 16 * size; > + case DP_DSC_RC_BUF_BLK_SIZE_64: > + return 64 * size; > + default: > + return 0; > + } > +} > +EXPORT_SYMBOL(drm_dsc_dp_rc_buffer_size); > + > /** > * drm_dsc_pps_payload_pack() - Populates the DSC PPS > * > diff --git a/include/drm/drm_dsc.h b/include/drm/drm_dsc.h index > 887954cbfc60..537a68330840 100644 > --- a/include/drm/drm_dsc.h > +++ b/include/drm/drm_dsc.h > @@ -602,6 +602,7 @@ struct drm_dsc_pps_infoframe { } __packed; > > void drm_dsc_dp_pps_header_init(struct dp_sdp_header *pps_header); > +int drm_dsc_dp_rc_buffer_size(u8 rc_buffer_block_size, u8 > +rc_buffer_size); > void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set > *pps_sdp, > const struct drm_dsc_config *dsc_cfg); int > drm_dsc_compute_rc_parameters(struct drm_dsc_config *vdsc_cfg); > -- > 2.20.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel