Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/display: Document pipe split policy

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>

authored by

Rodrigo Siqueira and committed by
Alex Deucher
ea76895f c620e79b

+35
+35
drivers/gpu/drm/amd/display/dc/dc.h
··· 386 386 DCC_HALF_REQ_DISALBE = 2, 387 387 }; 388 388 389 + /** 390 + * enum pipe_split_policy - Pipe split strategy supported by DCN 391 + * 392 + * This enum is used to define the pipe split policy supported by DCN. By 393 + * default, DC favors MPC_SPLIT_DYNAMIC. 394 + */ 389 395 enum pipe_split_policy { 396 + /** 397 + * @MPC_SPLIT_DYNAMIC: DC will automatically decide how to split the 398 + * pipe in order to bring the best trade-off between performance and 399 + * power consumption. This is the recommended option. 400 + */ 390 401 MPC_SPLIT_DYNAMIC = 0, 402 + 403 + /** 404 + * @MPC_SPLIT_DYNAMIC: Avoid pipe split, which means that DC will not 405 + * try any sort of split optimization. 406 + */ 391 407 MPC_SPLIT_AVOID = 1, 408 + 409 + /** 410 + * @MPC_SPLIT_DYNAMIC: With this option, DC will only try to optimize 411 + * the pipe utilization when using a single display; if the user 412 + * connects to a second display, DC will avoid pipe split. 413 + */ 392 414 MPC_SPLIT_AVOID_MULT_DISP = 2, 393 415 }; 394 416 ··· 645 623 struct resource_pool; 646 624 struct dce_hwseq; 647 625 626 + /** 627 + * struct dc_debug_options - DC debug struct 628 + * 629 + * This struct provides a simple mechanism for developers to change some 630 + * configurations, enable/disable features, and activate extra debug options. 631 + * This can be very handy to narrow down whether some specific feature is 632 + * causing an issue or not. 633 + */ 648 634 struct dc_debug_options { 649 635 bool native422_support; 650 636 bool disable_dsc; ··· 672 642 bool disable_stutter; 673 643 bool use_max_lb; 674 644 enum dcc_option disable_dcc; 645 + 646 + /** 647 + * @pipe_split_policy: Define which pipe split policy is used by the 648 + * display core. 649 + */ 675 650 enum pipe_split_policy pipe_split_policy; 676 651 bool force_single_disp_pipe_split; 677 652 bool voltage_align_fclk;