drm/i915/dmc_wl: Use enum values for enable_dmc_wl

Currently, after sanitization, enable_dmc_wl will behave like a boolean
parameter (enabled vs disabled). However, in upcoming changes, we will
allow more values for debugging purposes. For that, let's make the
sanitized value an enumeration.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Reviewed-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241219221429.109668-2-gustavo.sousa@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
This commit is contained in:
Gustavo Sousa
2024-12-19 19:14:13 -03:00
committed by Matt Roper
parent 1513358246
commit 47ad909215

View File

@@ -50,6 +50,15 @@
#define DMC_WAKELOCK_CTL_TIMEOUT_US 5000
#define DMC_WAKELOCK_HOLD_TIME 50
/*
* Possible non-negative values for the enable_dmc_wl param.
*/
enum {
ENABLE_DMC_WL_DISABLED,
ENABLE_DMC_WL_ENABLED,
ENABLE_DMC_WL_MAX,
};
struct intel_dmc_wl_range {
u32 start;
u32 end;
@@ -270,12 +279,20 @@ static bool __intel_dmc_wl_supported(struct intel_display *display)
static void intel_dmc_wl_sanitize_param(struct intel_display *display)
{
if (!HAS_DMC_WAKELOCK(display))
display->params.enable_dmc_wl = 0;
else if (display->params.enable_dmc_wl >= 0)
display->params.enable_dmc_wl = !!display->params.enable_dmc_wl;
else
display->params.enable_dmc_wl = DISPLAY_VER(display) >= 30;
if (!HAS_DMC_WAKELOCK(display)) {
display->params.enable_dmc_wl = ENABLE_DMC_WL_DISABLED;
} else if (display->params.enable_dmc_wl < 0) {
if (DISPLAY_VER(display) >= 30)
display->params.enable_dmc_wl = ENABLE_DMC_WL_ENABLED;
else
display->params.enable_dmc_wl = ENABLE_DMC_WL_DISABLED;
} else if (display->params.enable_dmc_wl >= ENABLE_DMC_WL_MAX) {
display->params.enable_dmc_wl = ENABLE_DMC_WL_ENABLED;
}
drm_WARN_ON(display->drm,
display->params.enable_dmc_wl < 0 ||
display->params.enable_dmc_wl >= ENABLE_DMC_WL_MAX);
drm_dbg_kms(display->drm, "Sanitized enable_dmc_wl value: %d\n",
display->params.enable_dmc_wl);