* [PATCH 3/4] drm/i915: Avoid TP3 on CHV
2015-08-17 12:15 [PATCH 0/4] HBR2 cleanup for CHV/SKL Sivakumar Thulasimani
@ 2015-08-17 12:15 ` Sivakumar Thulasimani
2015-08-17 12:25 ` Jani Nikula
0 siblings, 1 reply; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-17 12:15 UTC (permalink / raw)
To: ville.syrjala, jani.nikula, intel-gfx
From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
This patch removes TP3 support on CHV since there is no support
for HBR2 on this platform.
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 475d8cb..03523b3 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
}
+static bool intel_dp_is_hbr2_supported(struct drm_device *dev)
+{
+ /* WaDisableHBR2:skl */
+ if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
+ return false;
+
+ if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
+ (INTEL_INFO(dev)->gen >= 9))
+ return true;
+ else
+ return false;
+}
+
+
static int
intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
{
@@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
*source_rates = default_rates;
- /* WaDisableHBR2:skl */
- if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
- return (DP_LINK_BW_2_7 >> 3) + 1;
-
- if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
- (INTEL_INFO(dev)->gen >= 9))
+ /* This depends on the fact that 5.4 is last value in the array */
+ if (intel_dp_is_hbr2_supported(dev))
return (DP_LINK_BW_5_4 >> 3) + 1;
else
return (DP_LINK_BW_2_7 >> 3) + 1;
@@ -3926,7 +3936,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
/* Training Pattern 3 support, both source and sink */
if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
- (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
+ intel_dp_is_hbr2_supported(dev)) {
intel_dp->use_tps3 = true;
DRM_DEBUG_KMS("Displayport TPS3 supported\n");
} else
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] drm/i915: Avoid TP3 on CHV
2015-08-17 12:15 ` [PATCH 3/4] drm/i915: Avoid TP3 on CHV Sivakumar Thulasimani
@ 2015-08-17 12:25 ` Jani Nikula
0 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2015-08-17 12:25 UTC (permalink / raw)
To: Sivakumar Thulasimani, ville.syrjala, intel-gfx
On Mon, 17 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
>
> This patch removes TP3 support on CHV since there is no support
> for HBR2 on this platform.
>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 24 +++++++++++++++++-------
> 1 file changed, 17 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 475d8cb..03523b3 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
> return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
> }
>
> +static bool intel_dp_is_hbr2_supported(struct drm_device *dev)
Sorry to be a nitpicker, but I really like how we've started
distinguishing source and sink in such helpers in intel_dp.c, for
example intel_dp_source_rates vs. intel_dp_sink_rates. Similarly I think
you should name this intel_dp_source_supports_hbr2.
BR,
Jani.
> +{
> + /* WaDisableHBR2:skl */
> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> + return false;
> +
> + if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
> + (INTEL_INFO(dev)->gen >= 9))
> + return true;
> + else
> + return false;
> +}
> +
> +
> static int
> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
> {
> @@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>
> *source_rates = default_rates;
>
> - /* WaDisableHBR2:skl */
> - if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> - return (DP_LINK_BW_2_7 >> 3) + 1;
> -
> - if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
> - (INTEL_INFO(dev)->gen >= 9))
> + /* This depends on the fact that 5.4 is last value in the array */
> + if (intel_dp_is_hbr2_supported(dev))
> return (DP_LINK_BW_5_4 >> 3) + 1;
> else
> return (DP_LINK_BW_2_7 >> 3) + 1;
> @@ -3926,7 +3936,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
> /* Training Pattern 3 support, both source and sink */
> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
> intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
> - (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
> + intel_dp_is_hbr2_supported(dev)) {
> intel_dp->use_tps3 = true;
> DRM_DEBUG_KMS("Displayport TPS3 supported\n");
> } else
> --
> 1.7.9.5
>
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 0/4] HBR2 cleanup for CHV/SKL V2
@ 2015-08-18 5:37 Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 1/4] Revert "drm/i915: Add eDP intermediate frequencies for CHV" Sivakumar Thulasimani
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 5:37 UTC (permalink / raw)
To: ville.syrjala, jani.nikula, intel-gfx
From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
This patch series cleans up the code to remove HBR2 support
for CHV since it is not supported on CHV. Also fixes a bug
for SKL platforms where HBR2 is not supported.
V2:
Added RB from Ville Syrjälä
patches 3 & 4 updated with comments from Jani.
Thulasimani,Sivakumar (4):
Revert "drm/i915: Add eDP intermediate frequencies for CHV"
drm/i915: remove HBR2 from chv supported list
drm/i915: Avoid TP3 on CHV
drm/i915: fix link rates reported for SKL
drivers/gpu/drm/i915/intel_dp.c | 43 +++++++++++++++++++++++----------------
1 file changed, 25 insertions(+), 18 deletions(-)
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/4] Revert "drm/i915: Add eDP intermediate frequencies for CHV"
2015-08-18 5:37 [PATCH 0/4] HBR2 cleanup for CHV/SKL V2 Sivakumar Thulasimani
@ 2015-08-18 5:37 ` Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 2/4] drm/i915: remove HBR2 from chv supported list Sivakumar Thulasimani
` (2 subsequent siblings)
3 siblings, 0 replies; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 5:37 UTC (permalink / raw)
To: ville.syrjala, jani.nikula, intel-gfx
From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
This reverts
commit fe51bfb95c996733150c44d21e1c9f4b6322a326.
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date: Thu Mar 12 17:10:38 2015 +0200
CHV does not support intermediate frequencies so reverting the
patch that added it in the first place
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index b905c19..bfe0567 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -95,9 +95,6 @@ static const int bxt_rates[] = { 162000, 216000, 243000, 270000,
324000, 432000, 540000 };
static const int skl_rates[] = { 162000, 216000, 270000,
324000, 432000, 540000 };
-static const int chv_rates[] = { 162000, 202500, 210000, 216000,
- 243000, 270000, 324000, 405000,
- 420000, 432000, 540000 };
static const int default_rates[] = { 162000, 270000, 540000 };
/**
@@ -1219,9 +1216,6 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
} else if (IS_SKYLAKE(dev)) {
*source_rates = skl_rates;
return ARRAY_SIZE(skl_rates);
- } else if (IS_CHERRYVIEW(dev)) {
- *source_rates = chv_rates;
- return ARRAY_SIZE(chv_rates);
}
*source_rates = default_rates;
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/4] drm/i915: remove HBR2 from chv supported list
2015-08-18 5:37 [PATCH 0/4] HBR2 cleanup for CHV/SKL V2 Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 1/4] Revert "drm/i915: Add eDP intermediate frequencies for CHV" Sivakumar Thulasimani
@ 2015-08-18 5:37 ` Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 3/4] drm/i915: Avoid TP3 on CHV Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 4/4] drm/i915: fix link rates reported for SKL Sivakumar Thulasimani
3 siblings, 0 replies; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 5:37 UTC (permalink / raw)
To: ville.syrjala, jani.nikula, intel-gfx
From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
This patch removes 5.4Gbps from supported link rate for CHV since
it is not supported in it.
v2: change the ordering for better readability (Ville)
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index bfe0567..475d8cb 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1220,11 +1220,12 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
*source_rates = default_rates;
+ /* WaDisableHBR2:skl */
if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
- /* WaDisableHBR2:skl */
return (DP_LINK_BW_2_7 >> 3) + 1;
- else if (INTEL_INFO(dev)->gen >= 8 ||
- (IS_HASWELL(dev) && !IS_HSW_ULX(dev)))
+
+ if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
+ (INTEL_INFO(dev)->gen >= 9))
return (DP_LINK_BW_5_4 >> 3) + 1;
else
return (DP_LINK_BW_2_7 >> 3) + 1;
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/4] drm/i915: Avoid TP3 on CHV
2015-08-18 5:37 [PATCH 0/4] HBR2 cleanup for CHV/SKL V2 Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 1/4] Revert "drm/i915: Add eDP intermediate frequencies for CHV" Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 2/4] drm/i915: remove HBR2 from chv supported list Sivakumar Thulasimani
@ 2015-08-18 5:37 ` Sivakumar Thulasimani
2015-08-18 6:44 ` Jani Nikula
2015-08-18 5:37 ` [PATCH 4/4] drm/i915: fix link rates reported for SKL Sivakumar Thulasimani
3 siblings, 1 reply; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 5:37 UTC (permalink / raw)
To: ville.syrjala, jani.nikula, intel-gfx
From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
This patch removes TP3 support on CHV since there is no support
for HBR2 on this platform.
v2: rename the function to indicate it checks source rates (Jani)
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 475d8cb..8bc6361 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
}
+static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
+{
+ /* WaDisableHBR2:skl */
+ if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
+ return false;
+
+ if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
+ (INTEL_INFO(dev)->gen >= 9))
+ return true;
+ else
+ return false;
+}
+
+
static int
intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
{
@@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
*source_rates = default_rates;
- /* WaDisableHBR2:skl */
- if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
- return (DP_LINK_BW_2_7 >> 3) + 1;
-
- if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
- (INTEL_INFO(dev)->gen >= 9))
+ /* This depends on the fact that 5.4 is last value in the array */
+ if (intel_dp_source_supports_hbr2(dev))
return (DP_LINK_BW_5_4 >> 3) + 1;
else
return (DP_LINK_BW_2_7 >> 3) + 1;
@@ -3926,7 +3936,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
/* Training Pattern 3 support, both source and sink */
if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
- (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
+ intel_dp_source_supports_hbr2(dev)) {
intel_dp->use_tps3 = true;
DRM_DEBUG_KMS("Displayport TPS3 supported\n");
} else
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/4] drm/i915: fix link rates reported for SKL
2015-08-18 5:37 [PATCH 0/4] HBR2 cleanup for CHV/SKL V2 Sivakumar Thulasimani
` (2 preceding siblings ...)
2015-08-18 5:37 ` [PATCH 3/4] drm/i915: Avoid TP3 on CHV Sivakumar Thulasimani
@ 2015-08-18 5:37 ` Sivakumar Thulasimani
2015-08-24 7:40 ` Jani Nikula
2015-08-27 8:16 ` shuang.he
3 siblings, 2 replies; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 5:37 UTC (permalink / raw)
To: ville.syrjala, jani.nikula, intel-gfx
From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
This patch fixes the bug that SKL SKUs before B0 might return
HBR2 as supported even though it is not supposed to be enabled
on such platforms.
v2: optimize if else condition (Jani)
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 8bc6361..32bf961 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1224,21 +1224,24 @@ static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
static int
intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
{
+ int size;
+
if (IS_BROXTON(dev)) {
*source_rates = bxt_rates;
- return ARRAY_SIZE(bxt_rates);
+ size = ARRAY_SIZE(bxt_rates);
} else if (IS_SKYLAKE(dev)) {
*source_rates = skl_rates;
- return ARRAY_SIZE(skl_rates);
+ size = ARRAY_SIZE(skl_rates);
+ } else {
+ *source_rates = default_rates;
+ size = ARRAY_SIZE(default_rates);
}
- *source_rates = default_rates;
-
/* This depends on the fact that 5.4 is last value in the array */
- if (intel_dp_source_supports_hbr2(dev))
- return (DP_LINK_BW_5_4 >> 3) + 1;
- else
- return (DP_LINK_BW_2_7 >> 3) + 1;
+ if (!intel_dp_source_supports_hbr2(dev))
+ size--;
+
+ return size;
}
static void
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] drm/i915: Avoid TP3 on CHV
2015-08-18 5:37 ` [PATCH 3/4] drm/i915: Avoid TP3 on CHV Sivakumar Thulasimani
@ 2015-08-18 6:44 ` Jani Nikula
2015-08-18 6:56 ` Sivakumar Thulasimani
0 siblings, 1 reply; 15+ messages in thread
From: Jani Nikula @ 2015-08-18 6:44 UTC (permalink / raw)
To: Sivakumar Thulasimani, ville.syrjala, intel-gfx
On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
>
> This patch removes TP3 support on CHV since there is no support
> for HBR2 on this platform.
>
> v2: rename the function to indicate it checks source rates (Jani)
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 24 +++++++++++++++++-------
> 1 file changed, 17 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 475d8cb..8bc6361 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
> return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
> }
>
> +static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
> +{
> + /* WaDisableHBR2:skl */
> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> + return false;
> +
> + if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
> + (INTEL_INFO(dev)->gen >= 9))
> + return true;
> + else
> + return false;
> +}
> +
> +
> static int
> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
> {
> @@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>
> *source_rates = default_rates;
>
> - /* WaDisableHBR2:skl */
> - if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> - return (DP_LINK_BW_2_7 >> 3) + 1;
> -
> - if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
> - (INTEL_INFO(dev)->gen >= 9))
> + /* This depends on the fact that 5.4 is last value in the array */
> + if (intel_dp_source_supports_hbr2(dev))
> return (DP_LINK_BW_5_4 >> 3) + 1;
> else
> return (DP_LINK_BW_2_7 >> 3) + 1;
> @@ -3926,7 +3936,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
> /* Training Pattern 3 support, both source and sink */
> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
> intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
> - (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
> + intel_dp_source_supports_hbr2(dev)) {
hbr2 is not the same as tps3, is it? It's possible to use tps3 without
using hbr2, right?
BR,
Jani.
> intel_dp->use_tps3 = true;
> DRM_DEBUG_KMS("Displayport TPS3 supported\n");
> } else
> --
> 1.7.9.5
>
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] drm/i915: Avoid TP3 on CHV
2015-08-18 6:44 ` Jani Nikula
@ 2015-08-18 6:56 ` Sivakumar Thulasimani
2015-08-18 7:12 ` Jani Nikula
0 siblings, 1 reply; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 6:56 UTC (permalink / raw)
To: Jani Nikula, ville.syrjala, intel-gfx
On 8/18/2015 12:14 PM, Jani Nikula wrote:
> On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
>> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
>>
>> This patch removes TP3 support on CHV since there is no support
>> for HBR2 on this platform.
>>
>> v2: rename the function to indicate it checks source rates (Jani)
>>
>> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
>> ---
>> drivers/gpu/drm/i915/intel_dp.c | 24 +++++++++++++++++-------
>> 1 file changed, 17 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index 475d8cb..8bc6361 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
>> return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
>> }
>>
>> +static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
>> +{
>> + /* WaDisableHBR2:skl */
>> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>> + return false;
>> +
>> + if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
>> + (INTEL_INFO(dev)->gen >= 9))
>> + return true;
>> + else
>> + return false;
>> +}
>> +
>> +
>> static int
>> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>> {
>> @@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>>
>> *source_rates = default_rates;
>>
>> - /* WaDisableHBR2:skl */
>> - if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>> - return (DP_LINK_BW_2_7 >> 3) + 1;
>> -
>> - if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
>> - (INTEL_INFO(dev)->gen >= 9))
>> + /* This depends on the fact that 5.4 is last value in the array */
>> + if (intel_dp_source_supports_hbr2(dev))
>> return (DP_LINK_BW_5_4 >> 3) + 1;
>> else
>> return (DP_LINK_BW_2_7 >> 3) + 1;
>> @@ -3926,7 +3936,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
>> /* Training Pattern 3 support, both source and sink */
>> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
>> intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
>> - (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
>> + intel_dp_source_supports_hbr2(dev)) {
> hbr2 is not the same as tps3, is it? It's possible to use tps3 without
> using hbr2, right?
>
> BR,
> Jani.
Yes, TP3 can be supported on panels that does not support HBR2 as well, but
the check here is for hardware capability. Intel platforms that does not
support
HBR2 cannot support TP3 as well, so we should treat them both the same.
(the only exception here seems to be SKL <B0 where WA is in place)
>
>> intel_dp->use_tps3 = true;
>> DRM_DEBUG_KMS("Displayport TPS3 supported\n");
>> } else
>> --
>> 1.7.9.5
>>
--
regards,
Sivakumar
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] drm/i915: Avoid TP3 on CHV
2015-08-18 6:56 ` Sivakumar Thulasimani
@ 2015-08-18 7:12 ` Jani Nikula
2015-08-18 10:00 ` [PATCH] " Sivakumar Thulasimani
2015-08-18 11:58 ` [PATCH 3/4] " Sivakumar Thulasimani
0 siblings, 2 replies; 15+ messages in thread
From: Jani Nikula @ 2015-08-18 7:12 UTC (permalink / raw)
To: Sivakumar Thulasimani, ville.syrjala, intel-gfx
On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
> On 8/18/2015 12:14 PM, Jani Nikula wrote:
>> On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
>>> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
>>>
>>> This patch removes TP3 support on CHV since there is no support
>>> for HBR2 on this platform.
>>>
>>> v2: rename the function to indicate it checks source rates (Jani)
>>>
>>> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_dp.c | 24 +++++++++++++++++-------
>>> 1 file changed, 17 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>>> index 475d8cb..8bc6361 100644
>>> --- a/drivers/gpu/drm/i915/intel_dp.c
>>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>>> @@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
>>> return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
>>> }
>>>
>>> +static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
>>> +{
>>> + /* WaDisableHBR2:skl */
>>> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>>> + return false;
>>> +
>>> + if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
>>> + (INTEL_INFO(dev)->gen >= 9))
>>> + return true;
>>> + else
>>> + return false;
>>> +}
>>> +
>>> +
>>> static int
>>> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>>> {
>>> @@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>>>
>>> *source_rates = default_rates;
>>>
>>> - /* WaDisableHBR2:skl */
>>> - if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>>> - return (DP_LINK_BW_2_7 >> 3) + 1;
>>> -
>>> - if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
>>> - (INTEL_INFO(dev)->gen >= 9))
>>> + /* This depends on the fact that 5.4 is last value in the array */
>>> + if (intel_dp_source_supports_hbr2(dev))
>>> return (DP_LINK_BW_5_4 >> 3) + 1;
>>> else
>>> return (DP_LINK_BW_2_7 >> 3) + 1;
>>> @@ -3926,7 +3936,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
>>> /* Training Pattern 3 support, both source and sink */
>>> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
>>> intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
>>> - (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
>>> + intel_dp_source_supports_hbr2(dev)) {
>> hbr2 is not the same as tps3, is it? It's possible to use tps3 without
>> using hbr2, right?
>>
>> BR,
>> Jani.
> Yes, TP3 can be supported on panels that does not support HBR2 as well, but
> the check here is for hardware capability. Intel platforms that does not
> support
> HBR2 cannot support TP3 as well, so we should treat them both the same.
> (the only exception here seems to be SKL <B0 where WA is in place)
Okay, please at least add a comment to that effect.
Alternatively you add a separate intel_dp_source_supports_tps3, and
modify intel_dp_source_supports_hbr2 to be
(intel_dp_source_supports_tps3 && !WaDisableHBR2:skl). *shrug*.
BR,
Jani.
>
>>
>>> intel_dp->use_tps3 = true;
>>> DRM_DEBUG_KMS("Displayport TPS3 supported\n");
>>> } else
>>> --
>>> 1.7.9.5
>>>
>
> --
> regards,
> Sivakumar
>
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH] drm/i915: Avoid TP3 on CHV
2015-08-18 7:12 ` Jani Nikula
@ 2015-08-18 10:00 ` Sivakumar Thulasimani
2015-08-19 8:20 ` Jani Nikula
2015-08-18 11:58 ` [PATCH 3/4] " Sivakumar Thulasimani
1 sibling, 1 reply; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 10:00 UTC (permalink / raw)
To: ville.syrjala, jani.nikula, intel-gfx
From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
This patch removes TP3 support on CHV since there is no support
for HBR2 on this platform.
v2: rename the function to indicate it checks source rates (Jani)
v3: update comment to indicate TP3 dependancy on HBR2 supported
hardware (Jani)
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 31 +++++++++++++++++++++++--------
1 file changed, 23 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 475d8cb..051614a 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
}
+static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
+{
+ /* WaDisableHBR2:skl */
+ if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
+ return false;
+
+ if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
+ (INTEL_INFO(dev)->gen >= 9))
+ return true;
+ else
+ return false;
+}
+
+
static int
intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
{
@@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
*source_rates = default_rates;
- /* WaDisableHBR2:skl */
- if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
- return (DP_LINK_BW_2_7 >> 3) + 1;
-
- if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
- (INTEL_INFO(dev)->gen >= 9))
+ /* This depends on the fact that 5.4 is last value in the array */
+ if (intel_dp_source_supports_hbr2(dev))
return (DP_LINK_BW_5_4 >> 3) + 1;
else
return (DP_LINK_BW_2_7 >> 3) + 1;
@@ -3923,10 +3933,15 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
}
}
- /* Training Pattern 3 support, both source and sink */
+ /* Training Pattern 3 support, Intel platforms that support HBR2 alone
+ * have support for TP3 hence that check is used along with dpcd check
+ * to ensure TP3 can be enabled.
+ * SKL < B0: due it's WaDisableHBR2 is the only exception where TP3 is
+ * supported but still not enabled.
+ */
if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
- (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
+ intel_dp_source_supports_hbr2(dev)) {
intel_dp->use_tps3 = true;
DRM_DEBUG_KMS("Displayport TPS3 supported\n");
} else
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 3/4] drm/i915: Avoid TP3 on CHV
2015-08-18 7:12 ` Jani Nikula
2015-08-18 10:00 ` [PATCH] " Sivakumar Thulasimani
@ 2015-08-18 11:58 ` Sivakumar Thulasimani
1 sibling, 0 replies; 15+ messages in thread
From: Sivakumar Thulasimani @ 2015-08-18 11:58 UTC (permalink / raw)
To: Jani Nikula, ville.syrjala, intel-gfx
On 8/18/2015 12:42 PM, Jani Nikula wrote:
> On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
>> On 8/18/2015 12:14 PM, Jani Nikula wrote:
>>> On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
>>>> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
>>>>
>>>> This patch removes TP3 support on CHV since there is no support
>>>> for HBR2 on this platform.
>>>>
>>>> v2: rename the function to indicate it checks source rates (Jani)
>>>>
>>>> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
>>>> ---
>>>> drivers/gpu/drm/i915/intel_dp.c | 24 +++++++++++++++++-------
>>>> 1 file changed, 17 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>>>> index 475d8cb..8bc6361 100644
>>>> --- a/drivers/gpu/drm/i915/intel_dp.c
>>>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>>>> @@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
>>>> return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
>>>> }
>>>>
>>>> +static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
>>>> +{
>>>> + /* WaDisableHBR2:skl */
>>>> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>>>> + return false;
>>>> +
>>>> + if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
>>>> + (INTEL_INFO(dev)->gen >= 9))
>>>> + return true;
>>>> + else
>>>> + return false;
>>>> +}
>>>> +
>>>> +
>>>> static int
>>>> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>>>> {
>>>> @@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>>>>
>>>> *source_rates = default_rates;
>>>>
>>>> - /* WaDisableHBR2:skl */
>>>> - if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>>>> - return (DP_LINK_BW_2_7 >> 3) + 1;
>>>> -
>>>> - if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
>>>> - (INTEL_INFO(dev)->gen >= 9))
>>>> + /* This depends on the fact that 5.4 is last value in the array */
>>>> + if (intel_dp_source_supports_hbr2(dev))
>>>> return (DP_LINK_BW_5_4 >> 3) + 1;
>>>> else
>>>> return (DP_LINK_BW_2_7 >> 3) + 1;
>>>> @@ -3926,7 +3936,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
>>>> /* Training Pattern 3 support, both source and sink */
>>>> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
>>>> intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
>>>> - (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
>>>> + intel_dp_source_supports_hbr2(dev)) {
>>> hbr2 is not the same as tps3, is it? It's possible to use tps3 without
>>> using hbr2, right?
>>>
>>> BR,
>>> Jani.
>> Yes, TP3 can be supported on panels that does not support HBR2 as well, but
>> the check here is for hardware capability. Intel platforms that does not
>> support
>> HBR2 cannot support TP3 as well, so we should treat them both the same.
>> (the only exception here seems to be SKL <B0 where WA is in place)
> Okay, please at least add a comment to that effect.
>
> Alternatively you add a separate intel_dp_source_supports_tps3, and
> modify intel_dp_source_supports_hbr2 to be
> (intel_dp_source_supports_tps3 && !WaDisableHBR2:skl). *shrug*.
>
> BR,
> Jani.
>
updated the patch with comments and shared again.
>
>>>> intel_dp->use_tps3 = true;
>>>> DRM_DEBUG_KMS("Displayport TPS3 supported\n");
>>>> } else
>>>> --
>>>> 1.7.9.5
>>>>
>> --
>> regards,
>> Sivakumar
>>
--
regards,
Sivakumar
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] drm/i915: Avoid TP3 on CHV
2015-08-18 10:00 ` [PATCH] " Sivakumar Thulasimani
@ 2015-08-19 8:20 ` Jani Nikula
0 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2015-08-19 8:20 UTC (permalink / raw)
To: Sivakumar Thulasimani, ville.syrjala, intel-gfx
On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
>
> This patch removes TP3 support on CHV since there is no support
> for HBR2 on this platform.
>
> v2: rename the function to indicate it checks source rates (Jani)
> v3: update comment to indicate TP3 dependancy on HBR2 supported
> hardware (Jani)
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
Pushed first three patches in the series to drm-intel-fixes, thanks for
the patches and review. (The last patch is skl specific, I'll pick it up
for v4.3 in drm-intel-next-fixes after a backmerge.)
BR,
Jani.
> ---
> drivers/gpu/drm/i915/intel_dp.c | 31 +++++++++++++++++++++++--------
> 1 file changed, 23 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 475d8cb..051614a 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1207,6 +1207,20 @@ intel_dp_sink_rates(struct intel_dp *intel_dp, const int **sink_rates)
> return (intel_dp_max_link_bw(intel_dp) >> 3) + 1;
> }
>
> +static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
> +{
> + /* WaDisableHBR2:skl */
> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> + return false;
> +
> + if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
> + (INTEL_INFO(dev)->gen >= 9))
> + return true;
> + else
> + return false;
> +}
> +
> +
> static int
> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
> {
> @@ -1220,12 +1234,8 @@ intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
>
> *source_rates = default_rates;
>
> - /* WaDisableHBR2:skl */
> - if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> - return (DP_LINK_BW_2_7 >> 3) + 1;
> -
> - if ((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) || IS_BROADWELL(dev) ||
> - (INTEL_INFO(dev)->gen >= 9))
> + /* This depends on the fact that 5.4 is last value in the array */
> + if (intel_dp_source_supports_hbr2(dev))
> return (DP_LINK_BW_5_4 >> 3) + 1;
> else
> return (DP_LINK_BW_2_7 >> 3) + 1;
> @@ -3923,10 +3933,15 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
> }
> }
>
> - /* Training Pattern 3 support, both source and sink */
> + /* Training Pattern 3 support, Intel platforms that support HBR2 alone
> + * have support for TP3 hence that check is used along with dpcd check
> + * to ensure TP3 can be enabled.
> + * SKL < B0: due it's WaDisableHBR2 is the only exception where TP3 is
> + * supported but still not enabled.
> + */
> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x12 &&
> intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED &&
> - (IS_HASWELL(dev_priv) || INTEL_INFO(dev_priv)->gen >= 8)) {
> + intel_dp_source_supports_hbr2(dev)) {
> intel_dp->use_tps3 = true;
> DRM_DEBUG_KMS("Displayport TPS3 supported\n");
> } else
> --
> 1.7.9.5
>
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/4] drm/i915: fix link rates reported for SKL
2015-08-18 5:37 ` [PATCH 4/4] drm/i915: fix link rates reported for SKL Sivakumar Thulasimani
@ 2015-08-24 7:40 ` Jani Nikula
2015-08-27 8:16 ` shuang.he
1 sibling, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2015-08-24 7:40 UTC (permalink / raw)
To: Sivakumar Thulasimani, ville.syrjala, intel-gfx
On Tue, 18 Aug 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com>
>
> This patch fixes the bug that SKL SKUs before B0 might return
> HBR2 as supported even though it is not supposed to be enabled
> on such platforms.
>
> v2: optimize if else condition (Jani)
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
Pushed to drm-intel-next-fixes, thanks for the patch and review.
BR,
Jani.
> ---
> drivers/gpu/drm/i915/intel_dp.c | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 8bc6361..32bf961 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1224,21 +1224,24 @@ static bool intel_dp_source_supports_hbr2(struct drm_device *dev)
> static int
> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
> {
> + int size;
> +
> if (IS_BROXTON(dev)) {
> *source_rates = bxt_rates;
> - return ARRAY_SIZE(bxt_rates);
> + size = ARRAY_SIZE(bxt_rates);
> } else if (IS_SKYLAKE(dev)) {
> *source_rates = skl_rates;
> - return ARRAY_SIZE(skl_rates);
> + size = ARRAY_SIZE(skl_rates);
> + } else {
> + *source_rates = default_rates;
> + size = ARRAY_SIZE(default_rates);
> }
>
> - *source_rates = default_rates;
> -
> /* This depends on the fact that 5.4 is last value in the array */
> - if (intel_dp_source_supports_hbr2(dev))
> - return (DP_LINK_BW_5_4 >> 3) + 1;
> - else
> - return (DP_LINK_BW_2_7 >> 3) + 1;
> + if (!intel_dp_source_supports_hbr2(dev))
> + size--;
> +
> + return size;
> }
>
> static void
> --
> 1.7.9.5
>
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/4] drm/i915: fix link rates reported for SKL
2015-08-18 5:37 ` [PATCH 4/4] drm/i915: fix link rates reported for SKL Sivakumar Thulasimani
2015-08-24 7:40 ` Jani Nikula
@ 2015-08-27 8:16 ` shuang.he
1 sibling, 0 replies; 15+ messages in thread
From: shuang.he @ 2015-08-27 8:16 UTC (permalink / raw)
To: shuang.he, julianx.dumez, christophe.sureau, lei.a.liu, intel-gfx,
sivakumar.thulasimani
Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 7225
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
ILK -1 302/302 301/302
SNB 315/315 315/315
IVB 336/336 336/336
BYT 283/283 283/283
HSW 378/378 378/378
-------------------------------------Detailed-------------------------------------
Platform Test drm-intel-nightly Series Applied
*ILK igt@kms_flip@wf_vblank-vs-modeset-interruptible PASS(1) DMESG_WARN(1)
Note: You need to pay more attention to line start with '*'
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2015-08-27 8:16 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-18 5:37 [PATCH 0/4] HBR2 cleanup for CHV/SKL V2 Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 1/4] Revert "drm/i915: Add eDP intermediate frequencies for CHV" Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 2/4] drm/i915: remove HBR2 from chv supported list Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 3/4] drm/i915: Avoid TP3 on CHV Sivakumar Thulasimani
2015-08-18 6:44 ` Jani Nikula
2015-08-18 6:56 ` Sivakumar Thulasimani
2015-08-18 7:12 ` Jani Nikula
2015-08-18 10:00 ` [PATCH] " Sivakumar Thulasimani
2015-08-19 8:20 ` Jani Nikula
2015-08-18 11:58 ` [PATCH 3/4] " Sivakumar Thulasimani
2015-08-18 5:37 ` [PATCH 4/4] drm/i915: fix link rates reported for SKL Sivakumar Thulasimani
2015-08-24 7:40 ` Jani Nikula
2015-08-27 8:16 ` shuang.he
-- strict thread matches above, loose matches on Subject: below --
2015-08-17 12:15 [PATCH 0/4] HBR2 cleanup for CHV/SKL Sivakumar Thulasimani
2015-08-17 12:15 ` [PATCH 3/4] drm/i915: Avoid TP3 on CHV Sivakumar Thulasimani
2015-08-17 12:25 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).