]> www.infradead.org Git - nvme.git/commitdiff
drm/amd/display: Add debug option for disabling SLDO optimizations
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Mon, 17 Jun 2024 19:45:51 +0000 (15:45 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 1 Jul 2024 20:10:35 +0000 (16:10 -0400)
[Why]
DM can hook this up to disable SLDO optimizations in firmware during
DMCUB initialization for debug purposes.

[How]
Add the option and pass it through dmub_srv.

Reviewed-by: Hansen Dsouza <hansen.dsouza@amd.com>
Signed-off-by: Jerry Zuo <jerry.zuo@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/dmub_srv.h
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
drivers/gpu/drm/amd/display/dmub/src/dmub_dcn35.c

index 85dcf6b4fe926d8d4f21ae46d532a687d4e5cd5c..6589bb9aea6bc114a8a6bf3dd3d46237b669b72f 100644 (file)
@@ -299,6 +299,7 @@ struct dmub_srv_hw_params {
        enum dmub_memory_access_type mem_access_type;
        enum dmub_ips_disable_type disable_ips;
        bool disallow_phy_access;
+       bool disable_sldo_opt;
 };
 
 /**
index 605dd9d451670a68166bf3b8f201125d914e8aef..5ff0a865705f50628c95921961ef08cd60ab71ce 100644 (file)
@@ -684,7 +684,8 @@ union dmub_fw_boot_options {
                uint32_t ips_pg_disable: 1; /* 1 to disable ONO domains power gating*/
                uint32_t ips_disable: 3; /* options to disable ips support*/
                uint32_t ips_sequential_ono: 1; /**< 1 to enable sequential ONO IPS sequence */
-               uint32_t reserved : 8; /**< reserved */
+               uint32_t disable_sldo_opt: 1; /**< 1 to disable SLDO optimizations */
+               uint32_t reserved : 7; /**< reserved */
        } bits; /**< boot bits */
        uint32_t all; /**< 32-bit access to bits */
 };
index 80da117356c0483e939efe96227390db6b56ece8..916ed022e96b4e7bb24939dd2a7f5afb6a05b1de 100644 (file)
@@ -424,6 +424,7 @@ void dmub_dcn35_enable_dmub_boot_options(struct dmub_srv *dmub, const struct dmu
        boot_options.bits.disable_clk_gate = params->disable_clock_gate;
        boot_options.bits.ips_disable = params->disable_ips;
        boot_options.bits.ips_sequential_ono = params->ips_sequential_ono;
+       boot_options.bits.disable_sldo_opt = params->disable_sldo_opt;
 
        REG_WRITE(DMCUB_SCRATCH14, boot_options.all);
 }