]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/i915/dmc: Set DMC_EVT_CTL_ENABLE for disabled event handlers as well
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 22 Oct 2025 10:07:18 +0000 (13:07 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 22 Oct 2025 18:40:00 +0000 (21:40 +0300)
commit6b1209d158e2c8a56e67f61d65e0f22d3754fb3a
treec528716d044c7f43505f95f7baa87ee0cf2f88e8
parent9c2503beb84f58e87b3de4649dafc113296e06a6
drm/i915/dmc: Set DMC_EVT_CTL_ENABLE for disabled event handlers as well

DMC_EVT_CTL_ENABLE cannot be cleared once set. So currently
any event we never enable will have DMC_EVT_CTL_ENABLE cleared,
whereas any event which has been enabled even once will have
DMC_EVT_CTL_ENABLE set. For that reason assert_dmc_loaded() has
a special case to ignore any mismatches in DMC_EVT_CTL_ENABLE.

Eliminate the special case by always configuring DMC_EVT_CTL_ENABLE
based on the original firmware event definition. Now all
event handlers will have DMC_EVT_CTL_ENABLE set, whether or
not the event has been enabled in the past.

All disabled event handlers will still have the event type set
to DMC_EVENT_FALSE so they will not actually trigger despite
DMC_EVT_CTL_ENABLE being set.

Tested-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20251022100718.24803-4-ville.syrjala@linux.intel.com
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Tested-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/display/intel_dmc.c