drm/dsc: Add kernel documentation for DRM DP DSC helpers
This patch adds appropriate kernel documentation for DRM DP helpers used for enabling Display Stream compression functionality in drm_dp_helper.h and drm_dp_helper.c as well as for the DSC spec related structure definitions and helpers in drm_dsc.c and drm_dsc.h Also add links between the functions and structures in the documentation. v3: * Fix the checkpatch warnings (Sean Paul) v2: * Add inline comments for longer structs (Daniel Vetter) * Split the summary and description (Daniel Vetter) Suggested-by: Daniel Vetter <daniel.vetter@intel.com> Suggested-by: Sean Paul <sean@poorly.run> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Sean Paul <sean@poorly.run> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Acked-by: Sean Paul <sean@poorly.run> Reviewed-by: Daniel Vetter <daniel.vetter@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190206213148.21390-1-manasi.d.navare@intel.com
This commit is contained in:
@@ -1360,7 +1360,20 @@ int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc,
|
||||
EXPORT_SYMBOL(drm_dp_read_desc);
|
||||
|
||||
/**
|
||||
* DRM DP Helpers for DSC
|
||||
* drm_dp_dsc_sink_max_slice_count() - Get the max slice count
|
||||
* supported by the DSC sink.
|
||||
* @dsc_dpcd: DSC capabilities from DPCD
|
||||
* @is_edp: true if its eDP, false for DP
|
||||
*
|
||||
* Read the slice capabilities DPCD register from DSC sink to get
|
||||
* the maximum slice count supported. This is used to populate
|
||||
* the DSC parameters in the &struct drm_dsc_config by the driver.
|
||||
* Driver creates an infoframe using these parameters to populate
|
||||
* &struct drm_dsc_pps_infoframe. These are sent to the sink using DSC
|
||||
* infoframe using the helper function drm_dsc_pps_infoframe_pack()
|
||||
*
|
||||
* Returns:
|
||||
* Maximum slice count supported by DSC sink or 0 its invalid
|
||||
*/
|
||||
u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
|
||||
bool is_edp)
|
||||
@@ -1405,6 +1418,21 @@ u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
|
||||
}
|
||||
EXPORT_SYMBOL(drm_dp_dsc_sink_max_slice_count);
|
||||
|
||||
/**
|
||||
* drm_dp_dsc_sink_line_buf_depth() - Get the line buffer depth in bits
|
||||
* @dsc_dpcd: DSC capabilities from DPCD
|
||||
*
|
||||
* Read the DSC DPCD register to parse the line buffer depth in bits which is
|
||||
* number of bits of precision within the decoder line buffer supported by
|
||||
* the DSC sink. This is used to populate the DSC parameters in the
|
||||
* &struct drm_dsc_config by the driver.
|
||||
* Driver creates an infoframe using these parameters to populate
|
||||
* &struct drm_dsc_pps_infoframe. These are sent to the sink using DSC
|
||||
* infoframe using the helper function drm_dsc_pps_infoframe_pack()
|
||||
*
|
||||
* Returns:
|
||||
* Line buffer depth supported by DSC panel or 0 its invalid
|
||||
*/
|
||||
u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
|
||||
{
|
||||
u8 line_buf_depth = dsc_dpcd[DP_DSC_LINE_BUF_BIT_DEPTH - DP_DSC_SUPPORT];
|
||||
@@ -1434,6 +1462,23 @@ u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
|
||||
}
|
||||
EXPORT_SYMBOL(drm_dp_dsc_sink_line_buf_depth);
|
||||
|
||||
/**
|
||||
* drm_dp_dsc_sink_supported_input_bpcs() - Get all the input bits per component
|
||||
* values supported by the DSC sink.
|
||||
* @dsc_dpcd: DSC capabilities from DPCD
|
||||
* @dsc_bpc: An array to be filled by this helper with supported
|
||||
* input bpcs.
|
||||
*
|
||||
* Read the DSC DPCD from the sink device to parse the supported bits per
|
||||
* component values. This is used to populate the DSC parameters
|
||||
* in the &struct drm_dsc_config by the driver.
|
||||
* Driver creates an infoframe using these parameters to populate
|
||||
* &struct drm_dsc_pps_infoframe. These are sent to the sink using DSC
|
||||
* infoframe using the helper function drm_dsc_pps_infoframe_pack()
|
||||
*
|
||||
* Returns:
|
||||
* Number of input BPC values parsed from the DPCD
|
||||
*/
|
||||
int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
|
||||
u8 dsc_bpc[3])
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user