summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdkfd/kfd_process.c
diff options
context:
space:
mode:
authorGustavo Sousa <gustavo.sousa@intel.com>2025-01-24 16:12:34 -0300
committerGustavo Sousa <gustavo.sousa@intel.com>2025-02-05 10:50:58 -0300
commitbdcdb913c2d36447ea49d33774e5d6093c55d6f7 (patch)
treeb9f8f1fb3fe573075b6dfce61cc9a0d3c3c85dde /drivers/gpu/drm/amd/amdkfd/kfd_process.c
parentebac36ea8ad55b7c08ceaef0e3fa408c8cffacc6 (diff)
drm/i915/dmc_wl: Do not check for DMC payload
Enabling and disabling of DMC wakelock is already coupled with enabling and disabling of dynamic DC states, which already depend on the DMC being properly loaded. As such, we do not need to check if we already have a DMC payload parsed in __intel_dmc_wl_supported(). Furthermore, the presence of such a check causes inconsistencies in the refcount if the following sequence of events happen: 1. A call to one of the register accessors from intel_de.h is done before the DMC payload is parsed. That causes intel_dmc_wl_get() to be called. Suppose the register offset qualifies as needing the wakelock. In normal circumstances, the refcount would be incremented, but, because __intel_dmc_wl_supported() returns false, the refcount is untouched. 2. In a separate worker thread, the DMC firmware is parsed. Parsing of the DMC payload is finished before the corresponding intel_dmc_wl_put() from (1) is called. 3. When in the context of (1), intel_dmc_wl_put() gets called, now we have __intel_dmc_wl_supported() returning true and we hit the warning, because the code doesn't expect a zero refcount. Let's remove that check, since it is unnecessary and causes the inconsistency illustrated above. Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-by: Luca Coelho <luciano.coelho@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250124191250.56833-1-gustavo.sousa@intel.com Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdkfd/kfd_process.c')
0 files changed, 0 insertions, 0 deletions