]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Make DSC FGCG a DSC block level function
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Wed, 14 Jan 2026 19:55:38 +0000 (14:55 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 3 Feb 2026 21:39:37 +0000 (16:39 -0500)
[Why]
FGCG shouldn't be called at the DC resource level as part of DSC
creation because dc_create is intended for SW init, not HW init, and
register access is not guaranteed to work at this phase.

[How]
Add a set_fgcg function at the DSC interface level.

Existing ASIC can continue using the function in DC resource to retain
current compatibility but further development should favor calling
the function pointer during init_hw (if it exists).

Reviewed-by: Dillon Varone <dillon.varone@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Wayne Lin <wayne.lin@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dsc/dsc.h

index 81c83d5fe042266dcdb799b010d0b065a20167a5..ad7ef83694ea1fd5b1f1ed46fbc23af58a88a3af 100644 (file)
@@ -115,6 +115,7 @@ struct dsc_funcs {
        void (*dsc_disconnect)(struct display_stream_compressor *dsc);
        void (*dsc_wait_disconnect_pending_clear)(struct display_stream_compressor *dsc);
        void (*dsc_get_single_enc_caps)(struct dsc_enc_caps *dsc_enc_caps, unsigned int max_dscclk_khz);
+       void (*set_fgcg)(struct display_stream_compressor *dsc, bool enable);
 };
 
 #endif