drm/i915/kbl: Use propper ddi buffer translation table for Kabylake ULT and ULX.
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 9 Dec 2015 00:58:37 +0000 (16:58 -0800)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 9 Dec 2015 01:04:32 +0000 (17:04 -0800)
Let's introduce ULT and ULX Kabylake definitions and start
using it for a propper DDI buffer translation.

v2: Remove extra white space. (Paulo)

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_ddi.c

index 5b3830ef44dfccb43c38c52a037a2211c1e9e90c..135759221a79e8518098b57bb38b377c6ca0bad1 100644 (file)
@@ -2488,6 +2488,14 @@ struct drm_i915_cmd_table {
 #define IS_SKL_ULX(dev)                (INTEL_DEVID(dev) == 0x190E || \
                                 INTEL_DEVID(dev) == 0x1915 || \
                                 INTEL_DEVID(dev) == 0x191E)
+#define IS_KBL_ULT(dev)                (INTEL_DEVID(dev) == 0x5906 || \
+                                INTEL_DEVID(dev) == 0x5913 || \
+                                INTEL_DEVID(dev) == 0x5916 || \
+                                INTEL_DEVID(dev) == 0x5921 || \
+                                INTEL_DEVID(dev) == 0x5926)
+#define IS_KBL_ULX(dev)                (INTEL_DEVID(dev) == 0x590E || \
+                                INTEL_DEVID(dev) == 0x5915 || \
+                                INTEL_DEVID(dev) == 0x591E)
 #define IS_SKL_GT3(dev)                (IS_SKYLAKE(dev) && \
                                 (INTEL_DEVID(dev) & 0x00F0) == 0x0020)
 #define IS_SKL_GT4(dev)                (IS_SKYLAKE(dev) && \
index 5d20c64d85669bc334b6dfb1405f5f26370f7681..1fad19eb5533141bbb81dd65768fe42991943eff 100644 (file)
@@ -353,10 +353,10 @@ static const struct ddi_buf_trans *skl_get_buf_trans_dp(struct drm_device *dev,
 {
        const struct ddi_buf_trans *ddi_translations;
 
-       if (IS_SKL_ULX(dev)) {
+       if (IS_SKL_ULX(dev) || IS_KBL_ULX(dev)) {
                ddi_translations = skl_y_ddi_translations_dp;
                *n_entries = ARRAY_SIZE(skl_y_ddi_translations_dp);
-       } else if (IS_SKL_ULT(dev)) {
+       } else if (IS_SKL_ULT(dev) || IS_KBL_ULT(dev)) {
                ddi_translations = skl_u_ddi_translations_dp;
                *n_entries = ARRAY_SIZE(skl_u_ddi_translations_dp);
        } else {
@@ -373,7 +373,7 @@ static const struct ddi_buf_trans *skl_get_buf_trans_edp(struct drm_device *dev,
        struct drm_i915_private *dev_priv = dev->dev_private;
        const struct ddi_buf_trans *ddi_translations;
 
-       if (IS_SKL_ULX(dev)) {
+       if (IS_SKL_ULX(dev) || IS_KBL_ULX(dev)) {
                if (dev_priv->edp_low_vswing) {
                        ddi_translations = skl_y_ddi_translations_edp;
                        *n_entries = ARRAY_SIZE(skl_y_ddi_translations_edp);
@@ -381,7 +381,7 @@ static const struct ddi_buf_trans *skl_get_buf_trans_edp(struct drm_device *dev,
                        ddi_translations = skl_y_ddi_translations_dp;
                        *n_entries = ARRAY_SIZE(skl_y_ddi_translations_dp);
                }
-       } else if (IS_SKL_ULT(dev)) {
+       } else if (IS_SKL_ULT(dev) || IS_KBL_ULT(dev)) {
                if (dev_priv->edp_low_vswing) {
                        ddi_translations = skl_u_ddi_translations_edp;
                        *n_entries = ARRAY_SIZE(skl_u_ddi_translations_edp);
@@ -408,7 +408,7 @@ skl_get_buf_trans_hdmi(struct drm_device *dev,
 {
        const struct ddi_buf_trans *ddi_translations;
 
-       if (IS_SKL_ULX(dev)) {
+       if (IS_SKL_ULX(dev) || IS_KBL_ULX(dev)) {
                ddi_translations = skl_y_ddi_translations_hdmi;
                *n_entries = ARRAY_SIZE(skl_y_ddi_translations_hdmi);
        } else {