Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a5b7991c authored by Rodrigo Vivi's avatar Rodrigo Vivi
Browse files

drm/i915/kbl: Use propper ddi buffer translation table for Kabylake ULT and ULX.



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: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
parent 36146035
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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) && \
+5 −5
Original line number Diff line number Diff line
@@ -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 {