diff mbox series

[v2] drm/amd/display: fix documentation warnings for mpc.h

Message ID 20240511000203.28505-1-marcelomspessoto@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v2] drm/amd/display: fix documentation warnings for mpc.h | expand

Commit Message

Marcelo Mendes Spessoto Junior May 11, 2024, 12:02 a.m. UTC
Fix most of the display documentation compile warnings by
documenting struct mpc_funcs functions in dc/inc/hw/mpc.h file.

Remove the following warnings:
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'read_mpcc_state' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'mpc_init_single_inst' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'get_mpcc_for_dpp_from_secondary' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'get_mpcc_for_dpp' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'wait_for_idle' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'assert_mpcc_idle_before_connect' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'init_mpcc_list_from_hw' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_denorm' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_denorm_clamp' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_output_csc' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_ocsc_default' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_output_gamma' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'power_on_mpc_mem_pwr' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_dwb_mux' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'disable_dwb_mux' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'is_dwb_idle' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_out_rate_control' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_gamut_remap' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'program_1dlut' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'program_shaper' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'acquire_rmu' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'program_3dlut' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'release_rmu' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'get_mpc_out_mux' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_bg_color' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_mpc_mem_lp_mode' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'set_movable_cm_location' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'update_3dlut_fast_load_select' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'get_3dlut_fast_load_status' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'populate_lut' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'program_lut_read_write_control' not described in 'mpc_funcs'
./drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h:579: warning: Function parameter or struct member 'program_lut_mode' not described in 'mpc_funcs'

Fixes:
b8c1c3a82e75 ("Documentation/gpu: Add kernel doc entry for MPC")

Signed-off-by: Marcelo Mendes Spessoto Junior <marcelomspessoto@gmail.com>
---
 drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h | 689 ++++++++++++++++----
 1 file changed, 576 insertions(+), 113 deletions(-)

Comments

Stephen Rothwell May 11, 2024, 3:37 a.m. UTC | #1
Hi Marcelo,

Thanks for doing this.

I haven't tested it, but just a couple of little things:

On Fri, 10 May 2024 21:02:02 -0300 Marcelo Mendes Spessoto Junior <marcelomspessoto@gmail.com> wrote:
>
> Fix most of the display documentation compile warnings by
> documenting struct mpc_funcs functions in dc/inc/hw/mpc.h file.
> 
	.
	.
	.
> 
> Fixes:
> b8c1c3a82e75 ("Documentation/gpu: Add kernel doc entry for MPC")

Please don't split the Fixes tag line and also don't add blank lines
between tags.

I also appreciate being credited for reporting (unless you got a report
from somewhere else as well, then maybe credit both).

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>

> 
> Signed-off-by: Marcelo Mendes Spessoto Junior <marcelomspessoto@gmail.com>
> ---
Stephen Rothwell May 11, 2024, 4:16 a.m. UTC | #2
Hi Marcelo,

On Sat, 11 May 2024 13:37:17 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> 
> Thanks for doing this.
> 
> I haven't tested it, but just a couple of little things:
> 
> On Fri, 10 May 2024 21:02:02 -0300 Marcelo Mendes Spessoto Junior <marcelomspessoto@gmail.com> wrote:
> >
> > Fix most of the display documentation compile warnings by
> > documenting struct mpc_funcs functions in dc/inc/hw/mpc.h file.
> >   
> 	.
> 	.
> 	.
> > 
> > Fixes:
> > b8c1c3a82e75 ("Documentation/gpu: Add kernel doc entry for MPC")  
> 
> Please don't split the Fixes tag line and also don't add blank lines
> between tags.
> 
> I also appreciate being credited for reporting (unless you got a report
> from somewhere else as well, then maybe credit both).
> 
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>

Now tested.

Tested-by: Stephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/linux-next/20240130134954.04fcf763@canb.auug.org.au/
Alex Deucher May 13, 2024, 6:59 p.m. UTC | #3
On Sat, May 11, 2024 at 12:22 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi Marcelo,
>
> On Sat, 11 May 2024 13:37:17 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > Thanks for doing this.
> >
> > I haven't tested it, but just a couple of little things:
> >
> > On Fri, 10 May 2024 21:02:02 -0300 Marcelo Mendes Spessoto Junior <marcelomspessoto@gmail.com> wrote:
> > >
> > > Fix most of the display documentation compile warnings by
> > > documenting struct mpc_funcs functions in dc/inc/hw/mpc.h file.
> > >
> >       .
> >       .
> >       .
> > >
> > > Fixes:
> > > b8c1c3a82e75 ("Documentation/gpu: Add kernel doc entry for MPC")
> >
> > Please don't split the Fixes tag line and also don't add blank lines
> > between tags.
> >
> > I also appreciate being credited for reporting (unless you got a report
> > from somewhere else as well, then maybe credit both).
> >
> > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
>
> Now tested.
>
> Tested-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Closes: https://lore.kernel.org/linux-next/20240130134954.04fcf763@canb.auug.org.au/

Applied and added/fixed up tags.

Thanks!

Alex

>
> --
> Cheers,
> Stephen Rothwell
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
index dd786600668f..14813891baa4 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
@@ -1,4 +1,5 @@ 
-/* Copyright 2012-15 Advanced Micro Devices, Inc.
+/*
+ * Copyright 2012-15 Advanced Micro Devices, Inc.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -306,33 +307,48 @@  struct mpcc_state {
  * struct mpc_funcs - funcs
  */
 struct mpc_funcs {
+	/**
+	* @read_mpcc_state:
+	*
+	* Read register content from given MPCC physical instance.
+	*
+	* Parameters:
+	*
+	* - [in/out] mpc - MPC context
+	* - [in] mpcc_instance - MPC context instance
+	* - [in] mpcc_state - MPC context state
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*read_mpcc_state)(
 			struct mpc *mpc,
 			int mpcc_inst,
 			struct mpcc_state *s);
 
 	/**
-	 * @insert_plane:
-	 *
-	 * Insert DPP into MPC tree based on specified blending position.
-	 * Only used for planes that are part of blending chain for OPP output
-	 *
-	 * Parameters:
-	 *
-	 * - [in/out] mpc  - MPC context.
-	 * - [in/out] tree - MPC tree structure that plane will be added to.
-	 * - [in] blnd_cfg - MPCC blending configuration for the new blending layer.
-	 * - [in] sm_cfg   - MPCC stereo mix configuration for the new blending layer.
-	 *                   stereo mix must disable for the very bottom layer of the tree config.
-	 * - [in] insert_above_mpcc - Insert new plane above this MPCC.
-	 *                          If NULL, insert as bottom plane.
-	 * - [in] dpp_id  - DPP instance for the plane to be added.
-	 * - [in] mpcc_id - The MPCC physical instance to use for blending.
-	 *
-	 * Return:
-	 *
-	 * struct mpcc* - MPCC that was added.
-	 */
+	* @insert_plane:
+	*
+	* Insert DPP into MPC tree based on specified blending position.
+	* Only used for planes that are part of blending chain for OPP output
+	*
+	* Parameters:
+	*
+	* - [in/out] mpc  - MPC context.
+	* - [in/out] tree - MPC tree structure that plane will be added to.
+	* - [in] blnd_cfg - MPCC blending configuration for the new blending layer.
+	* - [in] sm_cfg   - MPCC stereo mix configuration for the new blending layer.
+	*                   stereo mix must disable for the very bottom layer of the tree config.
+	* - [in] insert_above_mpcc - Insert new plane above this MPCC.
+	*                          If NULL, insert as bottom plane.
+	* - [in] dpp_id  - DPP instance for the plane to be added.
+	* - [in] mpcc_id - The MPCC physical instance to use for blending.
+	*
+	* Return:
+	*
+	* struct mpcc* - MPCC that was added.
+	*/
 	struct mpcc* (*insert_plane)(
 			struct mpc *mpc,
 			struct mpc_tree *tree,
@@ -343,107 +359,117 @@  struct mpc_funcs {
 			int mpcc_id);
 
 	/**
-	 * @remove_mpcc:
-	 *
-	 * Remove a specified MPCC from the MPC tree.
-	 *
-	 * Parameters:
-	 *
-	 * - [in/out] mpc   - MPC context.
-	 * - [in/out] tree  - MPC tree structure that plane will be removed from.
-	 * - [in/out] mpcc  - MPCC to be removed from tree.
-	 *
-	 * Return:
-	 *
-	 * void
-	 */
+	* @remove_mpcc:
+	*
+	* Remove a specified MPCC from the MPC tree.
+	*
+	* Parameters:
+	*
+	* - [in/out] mpc   - MPC context.
+	* - [in/out] tree  - MPC tree structure that plane will be removed from.
+	* - [in/out] mpcc  - MPCC to be removed from tree.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*remove_mpcc)(
 			struct mpc *mpc,
 			struct mpc_tree *tree,
 			struct mpcc *mpcc);
 
 	/**
-	 * @mpc_init:
-	 *
-	 * Reset the MPCC HW status by disconnecting all muxes.
-	 *
-	 * Parameters:
-	 *
-	 * - [in/out] mpc - MPC context.
-	 *
-	 * Return:
-	 *
-	 * void
-	 */
+	* @mpc_init:
+	*
+	* Reset the MPCC HW status by disconnecting all muxes.
+	*
+	* Parameters:
+	*
+	* - [in/out] mpc - MPC context.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*mpc_init)(struct mpc *mpc);
+
+	/**
+	* @mpc_init_single_inst:
+	*
+	* Initialize given MPCC physical instance.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] mpcc_id - The MPCC physical instance to be initialized.
+	*/
 	void (*mpc_init_single_inst)(
 			struct mpc *mpc,
 			unsigned int mpcc_id);
 
 	/**
-	 * @update_blending:
-	 *
-	 * Update the blending configuration for a specified MPCC.
-	 *
-	 * Parameters:
-	 *
-	 * - [in/out] mpc - MPC context.
-	 * - [in] blnd_cfg - MPCC blending configuration.
-	 * - [in] mpcc_id  - The MPCC physical instance.
-	 *
-	 * Return:
-	 *
-	 * void
-	 */
+	* @update_blending:
+	*
+	* Update the blending configuration for a specified MPCC.
+	*
+	* Parameters:
+	*
+	* - [in/out] mpc - MPC context.
+	* - [in] blnd_cfg - MPCC blending configuration.
+	* - [in] mpcc_id  - The MPCC physical instance.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*update_blending)(
 		struct mpc *mpc,
 		struct mpcc_blnd_cfg *blnd_cfg,
 		int mpcc_id);
 
 	/**
-	 * @cursor_lock:
-	 *
-	 * Lock cursor updates for the specified OPP. OPP defines the set of
-	 * MPCC that are locked together for cursor.
-	 *
-	 * Parameters:
-	 *
-	 * - [in] mpc - MPC context.
-	 * - [in] opp_id  - The OPP to lock cursor updates on
-	 * - [in] lock - lock/unlock the OPP
-	 *
-	 * Return:
-	 *
-	 * void
-	 */
+	* @cursor_lock:
+	*
+	* Lock cursor updates for the specified OPP. OPP defines the set of
+	* MPCC that are locked together for cursor.
+	*
+	* Parameters:
+	*
+	* - [in] mpc - MPC context.
+	* - [in] opp_id  - The OPP to lock cursor updates on
+	* - [in] lock - lock/unlock the OPP
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*cursor_lock)(
 			struct mpc *mpc,
 			int opp_id,
 			bool lock);
 
 	/**
-	 * @insert_plane_to_secondary:
-	 *
-	 * Add DPP into secondary MPC tree based on specified blending
-	 * position.  Only used for planes that are part of blending chain for
-	 * DWB output
-	 *
-	 * Parameters:
-	 *
-	 * - [in/out] mpc  - MPC context.
-	 * - [in/out] tree - MPC tree structure that plane will be added to.
-	 * - [in] blnd_cfg - MPCC blending configuration for the new blending layer.
-	 * - [in] sm_cfg   - MPCC stereo mix configuration for the new blending layer.
-	 *	    stereo mix must disable for the very bottom layer of the tree config.
-	 * - [in] insert_above_mpcc - Insert new plane above this MPCC.  If
-	 *          NULL, insert as bottom plane.
-	 * - [in] dpp_id - DPP instance for the plane to be added.
-	 * - [in] mpcc_id - The MPCC physical instance to use for blending.
-	 *
-	 * Return:
-	 *
-	 * struct mpcc* - MPCC that was added.
-	 */
+	* @insert_plane_to_secondary:
+	*
+	* Add DPP into secondary MPC tree based on specified blending
+	* position.  Only used for planes that are part of blending chain for
+	* DWB output
+	*
+	* Parameters:
+	*
+	* - [in/out] mpc  - MPC context.
+	* - [in/out] tree - MPC tree structure that plane will be added to.
+	* - [in] blnd_cfg - MPCC blending configuration for the new blending layer.
+	* - [in] sm_cfg   - MPCC stereo mix configuration for the new blending layer.
+	*	    stereo mix must disable for the very bottom layer of the tree config.
+	* - [in] insert_above_mpcc - Insert new plane above this MPCC.  If
+	*          NULL, insert as bottom plane.
+	* - [in] dpp_id - DPP instance for the plane to be added.
+	* - [in] mpcc_id - The MPCC physical instance to use for blending.
+	*
+	* Return:
+	*
+	* struct mpcc* - MPCC that was added.
+	*/
 	struct mpcc* (*insert_plane_to_secondary)(
 			struct mpc *mpc,
 			struct mpc_tree *tree,
@@ -454,81 +480,301 @@  struct mpc_funcs {
 			int mpcc_id);
 
 	/**
-	 * @remove_mpcc_from_secondary:
-	 *
-	 * Remove a specified DPP from the 'secondary' MPC tree.
-	 *
-	 * Parameters:
-	 *
-	 * - [in/out] mpc  - MPC context.
-	 * - [in/out] tree - MPC tree structure that plane will be removed from.
-	 * - [in]     mpcc - MPCC to be removed from tree.
-	 *
-	 * Return:
-	 *
-	 * void
-	 */
+	* @remove_mpcc_from_secondary:
+	*
+	* Remove a specified DPP from the 'secondary' MPC tree.
+	*
+	* Parameters:
+	*
+	* - [in/out] mpc  - MPC context.
+	* - [in/out] tree - MPC tree structure that plane will be removed from.
+	* - [in]     mpcc - MPCC to be removed from tree.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*remove_mpcc_from_secondary)(
 			struct mpc *mpc,
 			struct mpc_tree *tree,
 			struct mpcc *mpcc);
 
+	/**
+	* @get_mpcc_for_dpp_from_secondary:
+	*
+	* Find, if it exists, a MPCC from a given 'secondary' MPC tree that
+	* is associated with specified plane.
+	*
+	* Parameters:
+	* - [in/out] tree - MPC tree structure to search for plane.
+	* - [in] dpp_id - DPP to be searched.
+	*
+	* Return:
+	*
+	* struct mpcc* - pointer to plane or NULL if no plane found.
+	*/
 	struct mpcc* (*get_mpcc_for_dpp_from_secondary)(
 			struct mpc_tree *tree,
 			int dpp_id);
 
+	/**
+	* @get_mpcc_for_dpp:
+	*
+	* Find, if it exists, a MPCC from a given MPC tree that
+	* is associated with specified plane.
+	*
+	* Parameters:
+	* - [in/out] tree - MPC tree structure to search for plane.
+	* - [in] dpp_id - DPP to be searched.
+	*
+	* Return:
+	*
+	* struct mpcc* - pointer to plane or NULL if no plane found.
+	*/
 	struct mpcc* (*get_mpcc_for_dpp)(
 			struct mpc_tree *tree,
 			int dpp_id);
 
+	/**
+	* @wait_for_idle:
+	*
+	* Wait for a MPCC in MPC context to enter idle state.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC Context.
+	* - [in] id - MPCC to wait for idle state.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*wait_for_idle)(struct mpc *mpc, int id);
 
+	/**
+	* @assert_mpcc_idle_before_connect:
+	*
+	* Assert if MPCC in MPC context is in idle state.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] id - MPCC to assert idle state.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*assert_mpcc_idle_before_connect)(struct mpc *mpc, int mpcc_id);
 
+	/**
+	* @init_mpcc_list_from_hw:
+	*
+	* Iterate through the MPCC array from a given MPC context struct
+	* and configure each MPCC according to its registers' values.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context to initialize MPCC array.
+	* - [in/out] tree - MPC tree structure containing MPCC contexts to initialize.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*init_mpcc_list_from_hw)(
 		struct mpc *mpc,
 		struct mpc_tree *tree);
 
+	/**
+	* @set_denorm:
+	*
+	* Set corresponding OPP DENORM_CONTROL register value to specific denorm_mode
+	* based on given color depth.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] opp_id - Corresponding OPP to update register.
+	* - [in] output_depth - Arbitrary color depth to set denorm_mode.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*set_denorm)(struct mpc *mpc,
 			int opp_id,
 			enum dc_color_depth output_depth);
 
+	/**
+	* @set_denorm_clamp:
+	*
+	* Set denorm clamp values on corresponding OPP DENORM CONTROL register.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] opp_id - Corresponding OPP to update register.
+	* - [in] denorm_clamp - Arbitrary denorm clamp to be set.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*set_denorm_clamp)(
 			struct mpc *mpc,
 			int opp_id,
 			struct mpc_denorm_clamp denorm_clamp);
 
+	/**
+	* @set_output_csc:
+	*
+	* Set the Output Color Space Conversion matrix
+	* with given values and mode.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] opp_id - Corresponding OPP to update register.
+	* - [in] regval - Values to set in CSC matrix.
+	* - [in] ocsc_mode - Mode to set CSC.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*set_output_csc)(struct mpc *mpc,
 			int opp_id,
 			const uint16_t *regval,
 			enum mpc_output_csc_mode ocsc_mode);
 
+	/**
+	* @set_ocsc_default:
+	*
+	* Set the Output Color Space Conversion matrix
+	* to default values according to color space.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] opp_id - Corresponding OPP to update register.
+	* - [in] color_space - OCSC color space.
+	* - [in] ocsc_mode - Mode to set CSC.
+	*
+	* Return:
+	*
+	* void
+	*
+	*/
 	void (*set_ocsc_default)(struct mpc *mpc,
 			int opp_id,
 			enum dc_color_space color_space,
 			enum mpc_output_csc_mode ocsc_mode);
 
+	/**
+	* @set_output_gamma:
+	*
+	* Set Output Gamma with given curve parameters.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] mpcc_id - Corresponding MPC to update registers.
+	* - [in] params - Parameters.
+	*
+	* Return:
+	*
+	* void
+	*
+	*/
 	void (*set_output_gamma)(
 			struct mpc *mpc,
 			int mpcc_id,
 			const struct pwl_params *params);
+	/**
+	* @power_on_mpc_mem_pwr:
+	*
+	* Power on/off memory LUT for given MPCC.
+	* Powering on enables LUT to be updated.
+	* Powering off allows entering low power mode.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] mpcc_id - MPCC to power on.
+	* - [in] power_on
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*power_on_mpc_mem_pwr)(
 			struct mpc *mpc,
 			int mpcc_id,
 			bool power_on);
+	/**
+	* @set_dwb_mux:
+	*
+	* Set corresponding Display Writeback mux
+	* MPC register field to given MPCC id.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] dwb_id - DWB to be set.
+	* - [in] mpcc_id - MPCC id to be stored in DWB mux register.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*set_dwb_mux)(
 			struct mpc *mpc,
 			int dwb_id,
 			int mpcc_id);
 
+	/**
+	* @disable_dwb_mux:
+	*
+	* Reset corresponding Display Writeback mux
+	* MPC register field.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] dwb_id - DWB to be set.
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*disable_dwb_mux)(
 		struct mpc *mpc,
 		int dwb_id);
 
+	/**
+	* @is_dwb_idle:
+	*
+	* Check DWB status on MPC_DWB0_MUX_STATUS register field.
+	* Return if it is null.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] dwb_id - DWB to be checked.
+	*
+	* Return:
+	*
+	* bool - wheter DWB is idle or not
+	*/
 	bool (*is_dwb_idle)(
 		struct mpc *mpc,
 		int dwb_id);
 
+	/**
+	* @set_out_rate_control:
+	*
+	* Set display output rate control.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] opp_id - OPP to be set.
+	* - [in] enable
+	* - [in] rate_2x_mode
+	* - [in] flow_control
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*set_out_rate_control)(
 		struct mpc *mpc,
 		int opp_id,
@@ -536,44 +782,261 @@  struct mpc_funcs {
 		bool rate_2x_mode,
 		struct mpc_dwb_flow_control *flow_control);
 
+	/**
+	* @set_gamut_remap:
+	*
+	* Set post-blending CTM for given MPCC.
+	*
+	* Parameters:
+	* - [in] mpc - MPC context.
+	* - [in] mpcc_id - MPCC to set gamut map.
+	* - [in] adjust
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*set_gamut_remap)(
 			struct mpc *mpc,
 			int mpcc_id,
 			const struct mpc_grph_gamut_adjustment *adjust);
 
+	/**
+	* @program_1dlut:
+	*
+	* Set 1 dimensional Lookup Table.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context
+	* - [in] params - curve parameters for the LUT configuration
+	* - [in] rmu_idx
+	*
+	* bool - wheter LUT was set (set with given parameters) or not (params is NULL and LUT is disabled).
+	*/
 	bool (*program_1dlut)(
 			struct mpc *mpc,
 			const struct pwl_params *params,
 			uint32_t rmu_idx);
 
+	/**
+	* @program_shaper:
+	*
+	* Set shaper.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context
+	* - [in] params - curve parameters to be set
+	* - [in] rmu_idx
+	*
+	* Return:
+	*
+	* bool - wheter shaper was set (set with given parameters) or not (params is NULL and LUT is disabled).
+	*/
 	bool (*program_shaper)(
 			struct mpc *mpc,
 			const struct pwl_params *params,
 			uint32_t rmu_idx);
 
+	/**
+	* @acquire_rmu:
+	*
+	* Set given MPCC to be multiplexed to given RMU unit.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context
+	* - [in] mpcc_id - MPCC
+	* - [in] rmu_idx - Given RMU unit to set MPCC to be multiplexed to.
+	*
+	* Return:
+	*
+	* unit32_t - rmu_idx if operation was successful, -1 else.
+	*/
 	uint32_t (*acquire_rmu)(struct mpc *mpc, int mpcc_id, int rmu_idx);
 
+	/**
+	* @program_3dlut:
+	*
+	* Set 3 dimensional Lookup Table.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context
+	* - [in] params - tetrahedral parameters for the LUT configuration
+	* - [in] rmu_idx
+	*
+	* bool - wheter LUT was set (set with given parameters) or not (params is NULL and LUT is disabled).
+	*/
 	bool (*program_3dlut)(
 			struct mpc *mpc,
 			const struct tetrahedral_params *params,
 			int rmu_idx);
 
+	/**
+	* @release_rmu:
+	*
+	* For a given MPCC, release the RMU unit it muliplexes to.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context
+	* - [in] mpcc_id - MPCC
+	*
+	* Return:
+	*
+	* int - a valid rmu_idx representing released RMU unit or -1 if there was no RMU unit to release.
+	*/
 	int (*release_rmu)(struct mpc *mpc, int mpcc_id);
 
+	/**
+	* @get_mpc_out_mux:
+	*
+	* Return MPC out mux.
+	*
+	* Parameters:
+	* - [in] mpc - MPC context.
+	* - [in] opp_id - OPP
+	*
+	* Return:
+	*
+	* unsigned int - Out Mux
+	*/
 	unsigned int (*get_mpc_out_mux)(
 				struct mpc *mpc,
 				int opp_id);
 
+	/**
+	* @set_bg_color:
+	*
+	* Find corresponding bottommost MPCC and
+	* set its bg color.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] bg_color - background color to be set.
+	* - [in] mpcc_id
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*set_bg_color)(struct mpc *mpc,
 			struct tg_color *bg_color,
 			int mpcc_id);
+
+	/**
+	* @set_mpc_mem_lp_mode:
+	*
+	* Set mpc_mem_lp_mode.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	*
+	* Return:
+	*
+	* void
+	*/
+
 	void (*set_mpc_mem_lp_mode)(struct mpc *mpc);
+	/**
+	* @set_movable_cm_location:
+	*
+	* Set Movable CM Location.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] location
+	* - [in] mpcc_id
+	*
+	* Return:
+	*
+	* void
+	*/
+
 	void (*set_movable_cm_location)(struct mpc *mpc, enum mpcc_movable_cm_location location, int mpcc_id);
+	/**
+	* @update_3dlut_fast_load_select:
+	*
+	* Update 3D LUT fast load select.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] mpcc_id
+	* - [in] hubp_idx
+	*
+	* Return:
+	*
+	* void
+	*/
+
 	void (*update_3dlut_fast_load_select)(struct mpc *mpc, int mpcc_id, int hubp_idx);
+	/**
+	* @get_3dlut_fast_load_status:
+	*
+	* Get 3D LUT fast load status and reference them with done, soft_underflow and hard_underflow pointers.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] mpcc_id
+	* - [in/out] done
+	* - [in/out] soft_underflow
+	* - [in/out] hard_underflow
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*get_3dlut_fast_load_status)(struct mpc *mpc, int mpcc_id, uint32_t *done, uint32_t *soft_underflow, uint32_t *hard_underflow);
+
+	/**
+	* @populate_lut:
+	*
+	* Populate LUT with given tetrahedral parameters.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] id
+	* - [in] params
+	* - [in] lut_bank_a
+	* - [in] mpcc_id
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*populate_lut)(struct mpc *mpc, const enum MCM_LUT_ID id, const union mcm_lut_params params,
 			bool lut_bank_a, int mpcc_id);
+
+	/**
+	* @program_lut_read_write_control:
+	*
+	* Program LUT RW control.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] id
+	* - [in] lut_bank_a
+	* - [in] mpcc_id
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*program_lut_read_write_control)(struct mpc *mpc, const enum MCM_LUT_ID id, bool lut_bank_a, int mpcc_id);
+
+	/**
+	* @program_lut_mode:
+	*
+	* Program LUT mode.
+	*
+	* Parameters:
+	* - [in/out] mpc - MPC context.
+	* - [in] id
+	* - [in] xable
+	* - [in] lut_bank_a
+	* - [in] mpcc_id
+	*
+	* Return:
+	*
+	* void
+	*/
 	void (*program_lut_mode)(struct mpc *mpc, const enum MCM_LUT_ID id, const enum MCM_LUT_XABLE xable,
 			bool lut_bank_a, int mpcc_id);
 };