diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2016-09-22 17:00:27 -0400 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2016-10-10 09:06:36 -0400 |
commit | 674f823b455cdb94d5773406c1caac170f87e1c4 (patch) | |
tree | 4e01748ad7a5ab9e11990ffa637a39853ec22a49 | |
parent | 9700f8b28f9ba97f5d1b443658d94f09a9d1b6fb (diff) |
drm/i915: SAGV is not SKL-only, so rename a few things
The plan is to introduce intel_has_sagv() and then use it to discover
which platforms actually support it.
I thought about keeping the functions with their current skl names,
but found two problems: (i) skl_has_sagv() would become a very
confusing name, and (ii) intel_atomic_commit_tail() doesn't seem to be
calling any functions whose name start with a platform name, so the
"intel_" naming scheme seems make more sense than the "firstplatorm_"
naming scheme here.
Cc: stable@vger.kernel.org
Reviewed-by: Lyude <cpaul@redhat.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1474578035-424-2-git-send-email-paulo.r.zanoni@intel.com
(cherry picked from commit 16dcdc4edbcf5cb130004737f2548401776170f1)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 26 |
4 files changed, 25 insertions, 25 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index e08001abf1f0..8e1ba3bcfbee 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -1984,11 +1984,11 @@ struct drm_i915_private { | |||
1984 | struct vlv_s0ix_state vlv_s0ix_state; | 1984 | struct vlv_s0ix_state vlv_s0ix_state; |
1985 | 1985 | ||
1986 | enum { | 1986 | enum { |
1987 | I915_SKL_SAGV_UNKNOWN = 0, | 1987 | I915_SAGV_UNKNOWN = 0, |
1988 | I915_SKL_SAGV_DISABLED, | 1988 | I915_SAGV_DISABLED, |
1989 | I915_SKL_SAGV_ENABLED, | 1989 | I915_SAGV_ENABLED, |
1990 | I915_SKL_SAGV_NOT_CONTROLLED | 1990 | I915_SAGV_NOT_CONTROLLED |
1991 | } skl_sagv_status; | 1991 | } sagv_status; |
1992 | 1992 | ||
1993 | struct { | 1993 | struct { |
1994 | /* | 1994 | /* |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 6c9881b9ab47..b74e1a890f86 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -14367,8 +14367,8 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state) | |||
14367 | * SKL workaround: bspec recommends we disable the SAGV when we | 14367 | * SKL workaround: bspec recommends we disable the SAGV when we |
14368 | * have more then one pipe enabled | 14368 | * have more then one pipe enabled |
14369 | */ | 14369 | */ |
14370 | if (IS_SKYLAKE(dev_priv) && !skl_can_enable_sagv(state)) | 14370 | if (IS_SKYLAKE(dev_priv) && !intel_can_enable_sagv(state)) |
14371 | skl_disable_sagv(dev_priv); | 14371 | intel_disable_sagv(dev_priv); |
14372 | 14372 | ||
14373 | intel_modeset_verify_disabled(dev); | 14373 | intel_modeset_verify_disabled(dev); |
14374 | } | 14374 | } |
@@ -14426,8 +14426,8 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state) | |||
14426 | } | 14426 | } |
14427 | 14427 | ||
14428 | if (IS_SKYLAKE(dev_priv) && intel_state->modeset && | 14428 | if (IS_SKYLAKE(dev_priv) && intel_state->modeset && |
14429 | skl_can_enable_sagv(state)) | 14429 | intel_can_enable_sagv(state)) |
14430 | skl_enable_sagv(dev_priv); | 14430 | intel_enable_sagv(dev_priv); |
14431 | 14431 | ||
14432 | drm_atomic_helper_commit_hw_done(state); | 14432 | drm_atomic_helper_commit_hw_done(state); |
14433 | 14433 | ||
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index c3e65e515c9d..a19ec06f9e42 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -1742,9 +1742,9 @@ void ilk_wm_get_hw_state(struct drm_device *dev); | |||
1742 | void skl_wm_get_hw_state(struct drm_device *dev); | 1742 | void skl_wm_get_hw_state(struct drm_device *dev); |
1743 | void skl_ddb_get_hw_state(struct drm_i915_private *dev_priv, | 1743 | void skl_ddb_get_hw_state(struct drm_i915_private *dev_priv, |
1744 | struct skl_ddb_allocation *ddb /* out */); | 1744 | struct skl_ddb_allocation *ddb /* out */); |
1745 | bool skl_can_enable_sagv(struct drm_atomic_state *state); | 1745 | bool intel_can_enable_sagv(struct drm_atomic_state *state); |
1746 | int skl_enable_sagv(struct drm_i915_private *dev_priv); | 1746 | int intel_enable_sagv(struct drm_i915_private *dev_priv); |
1747 | int skl_disable_sagv(struct drm_i915_private *dev_priv); | 1747 | int intel_disable_sagv(struct drm_i915_private *dev_priv); |
1748 | bool skl_ddb_allocation_equals(const struct skl_ddb_allocation *old, | 1748 | bool skl_ddb_allocation_equals(const struct skl_ddb_allocation *old, |
1749 | const struct skl_ddb_allocation *new, | 1749 | const struct skl_ddb_allocation *new, |
1750 | enum pipe pipe); | 1750 | enum pipe pipe); |
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 2df06b703e3d..431b2251dc21 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -2889,12 +2889,12 @@ skl_wm_plane_id(const struct intel_plane *plane) | |||
2889 | * - We're not using an interlaced display configuration | 2889 | * - We're not using an interlaced display configuration |
2890 | */ | 2890 | */ |
2891 | int | 2891 | int |
2892 | skl_enable_sagv(struct drm_i915_private *dev_priv) | 2892 | intel_enable_sagv(struct drm_i915_private *dev_priv) |
2893 | { | 2893 | { |
2894 | int ret; | 2894 | int ret; |
2895 | 2895 | ||
2896 | if (dev_priv->skl_sagv_status == I915_SKL_SAGV_NOT_CONTROLLED || | 2896 | if (dev_priv->sagv_status == I915_SAGV_NOT_CONTROLLED || |
2897 | dev_priv->skl_sagv_status == I915_SKL_SAGV_ENABLED) | 2897 | dev_priv->sagv_status == I915_SAGV_ENABLED) |
2898 | return 0; | 2898 | return 0; |
2899 | 2899 | ||
2900 | DRM_DEBUG_KMS("Enabling the SAGV\n"); | 2900 | DRM_DEBUG_KMS("Enabling the SAGV\n"); |
@@ -2912,19 +2912,19 @@ skl_enable_sagv(struct drm_i915_private *dev_priv) | |||
2912 | */ | 2912 | */ |
2913 | if (ret == -ENXIO) { | 2913 | if (ret == -ENXIO) { |
2914 | DRM_DEBUG_DRIVER("No SAGV found on system, ignoring\n"); | 2914 | DRM_DEBUG_DRIVER("No SAGV found on system, ignoring\n"); |
2915 | dev_priv->skl_sagv_status = I915_SKL_SAGV_NOT_CONTROLLED; | 2915 | dev_priv->sagv_status = I915_SAGV_NOT_CONTROLLED; |
2916 | return 0; | 2916 | return 0; |
2917 | } else if (ret < 0) { | 2917 | } else if (ret < 0) { |
2918 | DRM_ERROR("Failed to enable the SAGV\n"); | 2918 | DRM_ERROR("Failed to enable the SAGV\n"); |
2919 | return ret; | 2919 | return ret; |
2920 | } | 2920 | } |
2921 | 2921 | ||
2922 | dev_priv->skl_sagv_status = I915_SKL_SAGV_ENABLED; | 2922 | dev_priv->sagv_status = I915_SAGV_ENABLED; |
2923 | return 0; | 2923 | return 0; |
2924 | } | 2924 | } |
2925 | 2925 | ||
2926 | static int | 2926 | static int |
2927 | skl_do_sagv_disable(struct drm_i915_private *dev_priv) | 2927 | intel_do_sagv_disable(struct drm_i915_private *dev_priv) |
2928 | { | 2928 | { |
2929 | int ret; | 2929 | int ret; |
2930 | uint32_t temp = GEN9_SAGV_DISABLE; | 2930 | uint32_t temp = GEN9_SAGV_DISABLE; |
@@ -2938,19 +2938,19 @@ skl_do_sagv_disable(struct drm_i915_private *dev_priv) | |||
2938 | } | 2938 | } |
2939 | 2939 | ||
2940 | int | 2940 | int |
2941 | skl_disable_sagv(struct drm_i915_private *dev_priv) | 2941 | intel_disable_sagv(struct drm_i915_private *dev_priv) |
2942 | { | 2942 | { |
2943 | int ret, result; | 2943 | int ret, result; |
2944 | 2944 | ||
2945 | if (dev_priv->skl_sagv_status == I915_SKL_SAGV_NOT_CONTROLLED || | 2945 | if (dev_priv->sagv_status == I915_SAGV_NOT_CONTROLLED || |
2946 | dev_priv->skl_sagv_status == I915_SKL_SAGV_DISABLED) | 2946 | dev_priv->sagv_status == I915_SAGV_DISABLED) |
2947 | return 0; | 2947 | return 0; |
2948 | 2948 | ||
2949 | DRM_DEBUG_KMS("Disabling the SAGV\n"); | 2949 | DRM_DEBUG_KMS("Disabling the SAGV\n"); |
2950 | mutex_lock(&dev_priv->rps.hw_lock); | 2950 | mutex_lock(&dev_priv->rps.hw_lock); |
2951 | 2951 | ||
2952 | /* bspec says to keep retrying for at least 1 ms */ | 2952 | /* bspec says to keep retrying for at least 1 ms */ |
2953 | ret = wait_for(result = skl_do_sagv_disable(dev_priv), 1); | 2953 | ret = wait_for(result = intel_do_sagv_disable(dev_priv), 1); |
2954 | mutex_unlock(&dev_priv->rps.hw_lock); | 2954 | mutex_unlock(&dev_priv->rps.hw_lock); |
2955 | 2955 | ||
2956 | if (ret == -ETIMEDOUT) { | 2956 | if (ret == -ETIMEDOUT) { |
@@ -2964,18 +2964,18 @@ skl_disable_sagv(struct drm_i915_private *dev_priv) | |||
2964 | */ | 2964 | */ |
2965 | if (result == -ENXIO) { | 2965 | if (result == -ENXIO) { |
2966 | DRM_DEBUG_DRIVER("No SAGV found on system, ignoring\n"); | 2966 | DRM_DEBUG_DRIVER("No SAGV found on system, ignoring\n"); |
2967 | dev_priv->skl_sagv_status = I915_SKL_SAGV_NOT_CONTROLLED; | 2967 | dev_priv->sagv_status = I915_SAGV_NOT_CONTROLLED; |
2968 | return 0; | 2968 | return 0; |
2969 | } else if (result < 0) { | 2969 | } else if (result < 0) { |
2970 | DRM_ERROR("Failed to disable the SAGV\n"); | 2970 | DRM_ERROR("Failed to disable the SAGV\n"); |
2971 | return result; | 2971 | return result; |
2972 | } | 2972 | } |
2973 | 2973 | ||
2974 | dev_priv->skl_sagv_status = I915_SKL_SAGV_DISABLED; | 2974 | dev_priv->sagv_status = I915_SAGV_DISABLED; |
2975 | return 0; | 2975 | return 0; |
2976 | } | 2976 | } |
2977 | 2977 | ||
2978 | bool skl_can_enable_sagv(struct drm_atomic_state *state) | 2978 | bool intel_can_enable_sagv(struct drm_atomic_state *state) |
2979 | { | 2979 | { |
2980 | struct drm_device *dev = state->dev; | 2980 | struct drm_device *dev = state->dev; |
2981 | struct drm_i915_private *dev_priv = to_i915(dev); | 2981 | struct drm_i915_private *dev_priv = to_i915(dev); |