drm/amd/display: Document pipe split policy
authorRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Fri, 1 Apr 2022 18:46:07 +0000 (14:46 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 16 Aug 2022 22:14:31 +0000 (18:14 -0400)
In the DCN code, we can find some references to three different pipe
split policies but no clear description. This commit adds some
kernel-doc that explains more about these options and a little bit of
their impact.

Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dc.h

index 5908b60..8358a9b 100644 (file)
@@ -386,9 +386,31 @@ enum dcc_option {
        DCC_HALF_REQ_DISALBE = 2,
 };
 
+/**
+ * enum pipe_split_policy - Pipe split strategy supported by DCN
+ *
+ * This enum is used to define the pipe split policy supported by DCN. By
+ * default, DC favors MPC_SPLIT_DYNAMIC.
+ */
 enum pipe_split_policy {
+       /**
+        * @MPC_SPLIT_DYNAMIC: DC will automatically decide how to split the
+        * pipe in order to bring the best trade-off between performance and
+        * power consumption. This is the recommended option.
+        */
        MPC_SPLIT_DYNAMIC = 0,
+
+       /**
+        * @MPC_SPLIT_DYNAMIC: Avoid pipe split, which means that DC will not
+        * try any sort of split optimization.
+        */
        MPC_SPLIT_AVOID = 1,
+
+       /**
+        * @MPC_SPLIT_DYNAMIC: With this option, DC will only try to optimize
+        * the pipe utilization when using a single display; if the user
+        * connects to a second display, DC will avoid pipe split.
+        */
        MPC_SPLIT_AVOID_MULT_DISP = 2,
 };
 
@@ -623,6 +645,14 @@ struct dc_state;
 struct resource_pool;
 struct dce_hwseq;
 
+/**
+ * struct dc_debug_options - DC debug struct
+ *
+ * This struct provides a simple mechanism for developers to change some
+ * configurations, enable/disable features, and activate extra debug options.
+ * This can be very handy to narrow down whether some specific feature is
+ * causing an issue or not.
+ */
 struct dc_debug_options {
        bool native422_support;
        bool disable_dsc;
@@ -642,6 +672,11 @@ struct dc_debug_options {
        bool disable_stutter;
        bool use_max_lb;
        enum dcc_option disable_dcc;
+
+       /**
+        * @pipe_split_policy: Define which pipe split policy is used by the
+        * display core.
+        */
        enum pipe_split_policy pipe_split_policy;
        bool force_single_disp_pipe_split;
        bool voltage_align_fclk;