aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2016-09-22 17:00:27 -0400
committerJani Nikula <jani.nikula@intel.com>2016-10-10 09:06:36 -0400
commit674f823b455cdb94d5773406c1caac170f87e1c4 (patch)
tree4e01748ad7a5ab9e11990ffa637a39853ec22a49
parent9700f8b28f9ba97f5d1b443658d94f09a9d1b6fb (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.h10
-rw-r--r--drivers/gpu/drm/i915/intel_display.c8
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h6
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c26
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);
1742void skl_wm_get_hw_state(struct drm_device *dev); 1742void skl_wm_get_hw_state(struct drm_device *dev);
1743void skl_ddb_get_hw_state(struct drm_i915_private *dev_priv, 1743void 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 */);
1745bool skl_can_enable_sagv(struct drm_atomic_state *state); 1745bool intel_can_enable_sagv(struct drm_atomic_state *state);
1746int skl_enable_sagv(struct drm_i915_private *dev_priv); 1746int intel_enable_sagv(struct drm_i915_private *dev_priv);
1747int skl_disable_sagv(struct drm_i915_private *dev_priv); 1747int intel_disable_sagv(struct drm_i915_private *dev_priv);
1748bool skl_ddb_allocation_equals(const struct skl_ddb_allocation *old, 1748bool 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 */
2891int 2891int
2892skl_enable_sagv(struct drm_i915_private *dev_priv) 2892intel_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
2926static int 2926static int
2927skl_do_sagv_disable(struct drm_i915_private *dev_priv) 2927intel_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
2940int 2940int
2941skl_disable_sagv(struct drm_i915_private *dev_priv) 2941intel_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
2978bool skl_can_enable_sagv(struct drm_atomic_state *state) 2978bool 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);