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: Add additional info from DML

for DMU when applicable on future platforms.

Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
Signed-off-by: Nevenko Stupar <Nevenko.Stupar@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Nevenko Stupar and committed by
Alex Deucher
03282bd2 7dedb906

+14 -11
+10 -8
drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
··· 1833 1833 1834 1834 /* apply feature configuration based on current driver state */ 1835 1835 global_cmd->config.global.features.bits.enable_visual_confirm = dc->debug.visual_confirm == VISUAL_CONFIRM_FAMS2; 1836 - global_cmd->config.global.features.bits.enable = enable; 1836 + global_cmd->config.global.features.bits.enable = enable && context->bw_ctx.bw.dcn.fams2_global_config.features.bits.enable; 1837 + global_cmd->config.global.features.bits.enable_ppt_check = dc->debug.fams2_config.bits.enable_ppt_check; 1837 1838 1838 - if (enable && context->bw_ctx.bw.dcn.fams2_global_config.features.bits.enable) { 1839 + if (enable) { 1839 1840 /* set multi pending for global, and unset for last stream cmd */ 1840 1841 global_cmd->header.multi_cmd_pending = 1; 1841 1842 cmd[2 * context->bw_ctx.bw.dcn.fams2_global_config.num_streams].fams2_config.header.multi_cmd_pending = 0; ··· 1863 1862 cmd.ib_fams2_config.ib_data.src.quad_part = dc->ctx->dmub_srv->dmub->ib_mem_gart.gpu_addr; 1864 1863 cmd.ib_fams2_config.ib_data.size = sizeof(*config); 1865 1864 1866 - if (enable && context->bw_ctx.bw.dcn.fams2_global_config.features.bits.enable) { 1865 + if (enable) { 1866 + /* send global configuration parameters */ 1867 + memcpy(&config->global, &context->bw_ctx.bw.dcn.fams2_global_config, 1868 + sizeof(struct dmub_cmd_fams2_global_config)); 1869 + 1867 1870 /* copy static feature configuration overrides */ 1868 1871 config->global.features.bits.enable_stall_recovery = dc->debug.fams2_config.bits.enable_stall_recovery; 1869 1872 config->global.features.bits.enable_offload_flip = dc->debug.fams2_config.bits.enable_offload_flip; 1870 1873 config->global.features.bits.enable_debug = dc->debug.fams2_config.bits.enable_debug; 1871 - 1872 - /* send global configuration parameters */ 1873 - memcpy(&config->global, &context->bw_ctx.bw.dcn.fams2_global_config, 1874 - sizeof(struct dmub_cmd_fams2_global_config)); 1875 1874 1876 1875 /* construct per-stream configs */ 1877 1876 for (i = 0; i < context->bw_ctx.bw.dcn.fams2_global_config.num_streams; i++) { ··· 1888 1887 } 1889 1888 1890 1889 config->global.features.bits.enable_visual_confirm = dc->debug.visual_confirm == VISUAL_CONFIRM_FAMS2; 1891 - config->global.features.bits.enable = enable; 1890 + config->global.features.bits.enable = enable && context->bw_ctx.bw.dcn.fams2_global_config.features.bits.enable; 1891 + config->global.features.bits.enable_ppt_check = dc->debug.fams2_config.bits.enable_ppt_check; 1892 1892 1893 1893 dm_execute_dmub_cmd_list(dc->ctx, 1, &cmd, DM_DMUB_WAIT_TYPE_WAIT); 1894 1894 }
+4 -3
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
··· 1511 1511 1512 1512 void dcn401_fams2_update_config(struct dc *dc, struct dc_state *context, bool enable) 1513 1513 { 1514 - bool fams2_required; 1514 + bool fams2_info_required; 1515 1515 1516 1516 if (!dc->ctx || !dc->ctx->dmub_srv || !dc->debug.fams2_config.bits.enable) 1517 1517 return; 1518 1518 1519 - fams2_required = context->bw_ctx.bw.dcn.fams2_global_config.features.bits.enable; 1519 + fams2_info_required = context->bw_ctx.bw.dcn.fams2_global_config.features.bits.enable; 1520 + fams2_info_required |= context->bw_ctx.bw.dcn.fams2_global_config.features.bits.legacy_method_no_fams2; 1520 1521 1521 - dc_dmub_srv_fams2_update_config(dc, context, enable && fams2_required); 1522 + dc_dmub_srv_fams2_update_config(dc, context, enable && fams2_info_required); 1522 1523 } 1523 1524 1524 1525 static void update_dsc_for_odm_change(struct dc *dc, struct dc_state *context,