From: Ville Syrjälä Date: Tue, 24 Oct 2017 09:52:15 +0000 (+0300) Subject: drm/i915: Sanity check cdclk in vlv_set_cdclk() X-Git-Tag: Ubuntu-5.2.0-15.16~5065^2~31^2~195 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=0c9f353f014e6d88a5af8b305503a5396fe63ff8;p=mirror_ubuntu-eoan-kernel.git drm/i915: Sanity check cdclk in vlv_set_cdclk() chv_set_cdclk() sanity checks that the cdclk frequency is one of the legal values. Do the same in the VLV function. Cc: Mika Kahola Cc: Manasi Navare Cc: Rodrigo Vivi Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20171024095216.1638-10-ville.syrjala@linux.intel.com Reviewed-by: Rodrigo Vivi --- diff --git a/drivers/gpu/drm/i915/intel_cdclk.c b/drivers/gpu/drm/i915/intel_cdclk.c index 4ca4a34b7bfa..fedfe3c720b6 100644 --- a/drivers/gpu/drm/i915/intel_cdclk.c +++ b/drivers/gpu/drm/i915/intel_cdclk.c @@ -520,6 +520,18 @@ static void vlv_set_cdclk(struct drm_i915_private *dev_priv, int cdclk = cdclk_state->cdclk; u32 val, cmd = cdclk_state->voltage_level; + switch (cdclk) { + case 400000: + case 333333: + case 320000: + case 266667: + case 200000: + break; + default: + MISSING_CASE(cdclk); + return; + } + /* There are cases where we can end up here with power domains * off and a CDCLK frequency other than the minimum, like when * issuing a modeset without actually changing any display after