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

drm/amd/display: Add support for manual DMUB FAMS trigger

- Add is_drr parameter to indicate DRR is enabled on
the panel to determine whether SubVP MCLK switch
logic should be enabled

- Add DRR manual trigger in FW (instead of driver)
because manual trigger programming triggers DRR
update pending and can block SubVP MCLK switches
from taking place

Acked-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Anthony Koo <Anthony.Koo@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Anthony Koo and committed by
Alex Deucher
81f776b6 1f5dcb73

+8 -1
+8 -1
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
··· 976 976 uint16_t vtotal; 977 977 uint8_t main_pipe_index; 978 978 uint8_t phantom_pipe_index; 979 - uint8_t padding[2]; 979 + uint8_t is_drr; 980 + uint8_t padding; 980 981 } subvp_data; 981 982 982 983 struct { ··· 1580 1579 DMUB_CMD__FAMS_SETUP_FW_CTRL = 0, 1581 1580 DMUB_CMD__FAMS_DRR_UPDATE = 1, 1582 1581 DMUB_CMD__HANDLE_SUBVP_CMD = 2, // specifically for SubVP cmd 1582 + /** 1583 + * For SubVP set manual trigger in FW because it 1584 + * triggers DRR_UPDATE_PENDING which SubVP relies 1585 + * on (for any SubVP cases that use a DRR display) 1586 + */ 1587 + DMUB_CMD__FAMS_SET_MANUAL_TRIGGER = 3, 1583 1588 }; 1584 1589 1585 1590 /**