drm/amd/display: Add basic ODM description
authorRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Thu, 20 Oct 2022 15:46:59 +0000 (11:46 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 27 Oct 2022 18:45:45 +0000 (14:45 -0400)
Add kernel-doc to some of the ODM-related functions.

Tested-by: Mark Broadworth <mark.broadworth@amd.com>
Reviewed-by: Aurabindo Pillai <Aurabindo.Pillai@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
drivers/gpu/drm/amd/display/dc/inc/hw/stream_encoder.h
drivers/gpu/drm/amd/display/dc/inc/hw/timing_generator.h

index 8224b9b..d0199ec 100644 (file)
@@ -1454,6 +1454,22 @@ enum dc_status dcn20_remove_stream_from_ctx(struct dc *dc, struct dc_state *new_
        return result;
 }
 
+/**
+ * dcn20_split_stream_for_odm - Check if stream can be splited for ODM
+ *
+ * @dc: DC object with resource pool info required for pipe split
+ * @res_ctx: Persistent state of resources
+ * @prev_odm_pipe: Reference to the previous ODM pipe
+ * @next_odm_pipe: Reference to the next ODM pipe
+ *
+ * This function takes a logically active pipe and a logically free pipe and
+ * halves all the scaling parameters that need to be halved while populating
+ * the free pipe with the required resources and configuring the next/previous
+ * ODM pipe pointers.
+ *
+ * Return:
+ * Return true if split stream for ODM is possible, otherwise, return false.
+ */
 bool dcn20_split_stream_for_odm(
                const struct dc *dc,
                struct resource_context *res_ctx,
index 6b3e6de..42db4b7 100644 (file)
@@ -243,6 +243,9 @@ struct stream_encoder_funcs {
                        uint32_t hubp_requestor_id,
                        enum dynamic_metadata_mode dmdata_mode);
 
+       /**
+        * @dp_set_odm_combine: Sets up DP stream encoder for ODM.
+        */
        void (*dp_set_odm_combine)(
                struct stream_encoder *enc,
                bool odm_combine);
index 25a1df4..65f18f9 100644 (file)
@@ -301,6 +301,11 @@ struct timing_generator_funcs {
        void (*get_dsc_status)(struct timing_generator *optc,
                                        uint32_t *dsc_mode);
        void (*set_odm_bypass)(struct timing_generator *optc, const struct dc_crtc_timing *dc_crtc_timing);
+
+       /**
+        * @set_odm_combine: Set up the ODM block to read from the correct
+        * OPP(s) and turn on/off ODM memory.
+        */
        void (*set_odm_combine)(struct timing_generator *optc, int *opp_id, int opp_cnt,
                        struct dc_crtc_timing *timing);
        void (*set_h_timing_div_manual_mode)(struct timing_generator *optc, bool manual_mode);