All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
@ 2017-06-29 21:10 Manasi Navare
  2017-06-29 21:25 ` ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev2) Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Manasi Navare @ 2017-06-29 21:10 UTC (permalink / raw)
  To: intel-gfx

This patch fixes the DP AUX CH timeouts observed during CI IGT
tests thus fixing the CI failures. This is done by adding a
quirk for a particular PCI device that requires the panel power
cycle delay (T12) to be set to 800ms which is 300msecs more than
the minimum value specified in the eDP spec. So a quirk is
implemented for that specific PCI device.

v3:
* Change some comments, specify the delay as 800 * 10 (Ville)
v2:
* Change the function and variable names to from PPS_T12_
to _T12 since it is a T12 delay (Clint)

Fixes: FDO #101144 #101515 #101154 #101167
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Clinton Taylor <clinton.a.taylor@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h      |  1 +
 drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
 drivers/gpu/drm/i915/intel_dp.c      | 11 +++++++++++
 3 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 427d10c..4327c8a 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1168,6 +1168,7 @@ enum intel_sbi_destination {
 #define QUIRK_INVERT_BRIGHTNESS (1<<2)
 #define QUIRK_BACKLIGHT_PRESENT (1<<3)
 #define QUIRK_PIN_SWIZZLED_PAGES (1<<5)
+#define QUIRK_INCREASE_T12_DELAY (1<<6)
 
 struct intel_fbdev;
 struct intel_fbc_work;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 4e03ca6..87dfde9 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -14765,6 +14765,17 @@ static void quirk_backlight_present(struct drm_device *dev)
 	DRM_INFO("applying backlight present quirk\n");
 }
 
+/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
+ * which is 300 ms greater than eDP spec T12 min.
+ */
+static void quirk_increase_t12_delay(struct drm_device *dev)
+{
+	struct drm_i915_private *dev_priv = to_i915(dev);
+
+	dev_priv->quirks |= QUIRK_INCREASE_T12_DELAY;
+	DRM_INFO("Applying T12 delay quirk\n");
+}
+
 struct intel_quirk {
 	int device;
 	int subsystem_vendor;
@@ -14848,6 +14859,9 @@ static struct intel_quirk intel_quirks[] = {
 
 	/* Dell Chromebook 11 (2015 version) */
 	{ 0x0a16, 0x1028, 0x0a35, quirk_backlight_present },
+
+	/* Toshiba Satellite P50-C-18C */
+	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 67bc8a7a..4d7e510 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5230,6 +5230,17 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
 	intel_pps_dump_state("cur", &cur);
 
 	vbt = dev_priv->vbt.edp.pps;
+	/* On Toshiba Satellite P50-C-18C system the VBT T12 delay
+	 * of 500ms appears to be too short. Ocassionally the panel
+	 * just fails to power back on. Increasing the delay to 800ms
+	 * seems sufficient to avpid this problem.
+	 */
+	if (dev_priv->quirks & QUIRK_INCREASE_T12_DELAY) {
+
+		vbt.t11_t12 = max_t(u16, vbt.t11_t12, 800 * 10);
+		DRM_DEBUG_KMS("Increasing T12 panel delay as per the quirk to %d\n",
+			      vbt.t11_t12);
+	}
 	/* T11_T12 delay is special and actually in units of 100ms, but zero
 	 * based in the hw (so we need to add 100 ms). But the sw vbt
 	 * table multiplies it with 1000 to make it in units of 100usec,
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev2)
  2017-06-29 21:10 [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Manasi Navare
@ 2017-06-29 21:25 ` Patchwork
  2017-06-30 10:32 ` [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Ville Syrjälä
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-06-29 21:25 UTC (permalink / raw)
  To: Navare, Manasi D; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev2)
URL   : https://patchwork.freedesktop.org/series/26518/
State : success

== Summary ==

Series 26518v2 drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
https://patchwork.freedesktop.org/api/1.0/series/26518/revisions/2/mbox/

Test gem_exec_suspend:
        Subgroup basic-s4-devices:
                dmesg-warn -> PASS       (fi-kbl-7560u) fdo#100125
Test kms_busy:
        Subgroup basic-flip-default-a:
                dmesg-warn -> PASS       (fi-skl-6700hq) fdo#101144 +3
Test kms_cursor_legacy:
        Subgroup basic-busy-flip-before-cursor-atomic:
                fail       -> PASS       (fi-skl-6700hq) fdo#101154 +24
Test kms_flip:
        Subgroup basic-flip-vs-modeset:
                skip       -> PASS       (fi-skl-6700hq)
        Subgroup basic-flip-vs-wf_vblank:
                skip       -> PASS       (fi-skl-6700hq)
        Subgroup basic-plain-flip:
                skip       -> PASS       (fi-skl-6700hq)
Test kms_frontbuffer_tracking:
        Subgroup basic:
                skip       -> PASS       (fi-skl-6700hq)
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-b:
                fail       -> PASS       (fi-skl-6700hq) fdo#100461 +1
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                warn       -> PASS       (fi-skl-6700hq) fdo#101518
Test kms_sink_crc_basic:
                fail       -> PASS       (fi-skl-6700hq) fdo#101519
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                skip       -> PASS       (fi-skl-6700hq)
        Subgroup basic-rte:
                skip       -> PASS       (fi-skl-6700hq)

fdo#100125 https://bugs.freedesktop.org/show_bug.cgi?id=100125
fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144
fdo#101154 https://bugs.freedesktop.org/show_bug.cgi?id=101154
fdo#100461 https://bugs.freedesktop.org/show_bug.cgi?id=100461
fdo#101518 https://bugs.freedesktop.org/show_bug.cgi?id=101518
fdo#101519 https://bugs.freedesktop.org/show_bug.cgi?id=101519

fi-bdw-5557u     total:279  pass:264  dwarn:4   dfail:0   fail:0   skip:11  time:441s
fi-bdw-gvtdvm    total:279  pass:257  dwarn:8   dfail:0   fail:0   skip:14  time:426s
fi-blb-e6850     total:279  pass:224  dwarn:1   dfail:0   fail:0   skip:54  time:356s
fi-bsw-n3050     total:279  pass:243  dwarn:0   dfail:0   fail:0   skip:36  time:535s
fi-bxt-j4205     total:279  pass:260  dwarn:0   dfail:0   fail:0   skip:19  time:508s
fi-byt-j1900     total:279  pass:254  dwarn:1   dfail:0   fail:0   skip:24  time:492s
fi-byt-n2820     total:279  pass:250  dwarn:1   dfail:0   fail:0   skip:28  time:487s
fi-glk-2a        total:279  pass:260  dwarn:0   dfail:0   fail:0   skip:19  time:591s
fi-hsw-4770      total:279  pass:259  dwarn:4   dfail:0   fail:0   skip:16  time:432s
fi-hsw-4770r     total:279  pass:259  dwarn:4   dfail:0   fail:0   skip:16  time:418s
fi-ilk-650       total:279  pass:229  dwarn:0   dfail:0   fail:0   skip:50  time:419s
fi-ivb-3520m     total:279  pass:261  dwarn:0   dfail:0   fail:0   skip:18  time:497s
fi-ivb-3770      total:279  pass:261  dwarn:0   dfail:0   fail:0   skip:18  time:478s
fi-kbl-7500u     total:279  pass:261  dwarn:0   dfail:0   fail:0   skip:18  time:466s
fi-kbl-7560u     total:279  pass:269  dwarn:0   dfail:0   fail:0   skip:10  time:574s
fi-kbl-r         total:279  pass:260  dwarn:1   dfail:0   fail:0   skip:18  time:578s
fi-pnv-d510      total:279  pass:223  dwarn:1   dfail:0   fail:0   skip:55  time:567s
fi-skl-6260u     total:279  pass:269  dwarn:0   dfail:0   fail:0   skip:10  time:460s
fi-skl-6700hq    total:279  pass:262  dwarn:0   dfail:0   fail:0   skip:17  time:619s
fi-skl-6700k     total:279  pass:257  dwarn:4   dfail:0   fail:0   skip:18  time:470s
fi-skl-6770hq    total:279  pass:269  dwarn:0   dfail:0   fail:0   skip:10  time:477s
fi-skl-gvtdvm    total:279  pass:266  dwarn:0   dfail:0   fail:0   skip:13  time:439s
fi-snb-2520m     total:279  pass:251  dwarn:0   dfail:0   fail:0   skip:28  time:554s
fi-snb-2600      total:279  pass:250  dwarn:0   dfail:0   fail:0   skip:29  time:403s

1da9a6d8d2402de8798b36d75bdd7d8b49728a5e drm-tip: 2017y-06m-29d-20h-16m-45s UTC integration manifest
9634753 drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_5075/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
  2017-06-29 21:10 [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Manasi Navare
  2017-06-29 21:25 ` ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev2) Patchwork
@ 2017-06-30 10:32 ` Ville Syrjälä
  2017-06-30 13:25   ` Jani Nikula
  2017-06-30 16:33 ` [PATCH v4] " Manasi Navare
  2017-06-30 16:47 ` ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev3) Patchwork
  3 siblings, 1 reply; 9+ messages in thread
From: Ville Syrjälä @ 2017-06-30 10:32 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

On Thu, Jun 29, 2017 at 02:10:38PM -0700, Manasi Navare wrote:
> This patch fixes the DP AUX CH timeouts observed during CI IGT
> tests thus fixing the CI failures. This is done by adding a
> quirk for a particular PCI device that requires the panel power
> cycle delay (T12) to be set to 800ms which is 300msecs more than
> the minimum value specified in the eDP spec. So a quirk is
> implemented for that specific PCI device.
> 
> v3:
> * Change some comments, specify the delay as 800 * 10 (Ville)
> v2:
> * Change the function and variable names to from PPS_T12_
> to _T12 since it is a T12 delay (Clint)
> 
> Fixes: FDO #101144 #101515 #101154 #101167

That's not how we do it.

Also please look into git send-email --in-reply-to option. Review is
easier if the patches aren't spread all over the mailbox.

> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Clinton Taylor <clinton.a.taylor@intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>  drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
>  drivers/gpu/drm/i915/intel_dp.c      | 11 +++++++++++
>  3 files changed, 26 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 427d10c..4327c8a 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1168,6 +1168,7 @@ enum intel_sbi_destination {
>  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
>  #define QUIRK_BACKLIGHT_PRESENT (1<<3)
>  #define QUIRK_PIN_SWIZZLED_PAGES (1<<5)
> +#define QUIRK_INCREASE_T12_DELAY (1<<6)
>  
>  struct intel_fbdev;
>  struct intel_fbc_work;
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 4e03ca6..87dfde9 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14765,6 +14765,17 @@ static void quirk_backlight_present(struct drm_device *dev)
>  	DRM_INFO("applying backlight present quirk\n");
>  }
>  
> +/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
> + * which is 300 ms greater than eDP spec T12 min.
> + */
> +static void quirk_increase_t12_delay(struct drm_device *dev)
> +{
> +	struct drm_i915_private *dev_priv = to_i915(dev);
> +
> +	dev_priv->quirks |= QUIRK_INCREASE_T12_DELAY;
> +	DRM_INFO("Applying T12 delay quirk\n");
> +}
> +
>  struct intel_quirk {
>  	int device;
>  	int subsystem_vendor;
> @@ -14848,6 +14859,9 @@ static struct intel_quirk intel_quirks[] = {
>  
>  	/* Dell Chromebook 11 (2015 version) */
>  	{ 0x0a16, 0x1028, 0x0a35, quirk_backlight_present },
> +
> +	/* Toshiba Satellite P50-C-18C */
> +	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay },
>  };
>  
>  static void intel_init_quirks(struct drm_device *dev)
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 67bc8a7a..4d7e510 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5230,6 +5230,17 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
>  	intel_pps_dump_state("cur", &cur);
>  
>  	vbt = dev_priv->vbt.edp.pps;
> +	/* On Toshiba Satellite P50-C-18C system the VBT T12 delay
> +	 * of 500ms appears to be too short. Ocassionally the panel
> +	 * just fails to power back on. Increasing the delay to 800ms
> +	 * seems sufficient to avpid this problem.a
                                 ^
typo

Otherwise looks OK to me.

> +	 */
> +	if (dev_priv->quirks & QUIRK_INCREASE_T12_DELAY) {
> +
> +		vbt.t11_t12 = max_t(u16, vbt.t11_t12, 800 * 10);
> +		DRM_DEBUG_KMS("Increasing T12 panel delay as per the quirk to %d\n",
> +			      vbt.t11_t12);
> +	}
>  	/* T11_T12 delay is special and actually in units of 100ms, but zero
>  	 * based in the hw (so we need to add 100 ms). But the sw vbt
>  	 * table multiplies it with 1000 to make it in units of 100usec,
> -- 
> 2.1.4

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
  2017-06-30 10:32 ` [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Ville Syrjälä
@ 2017-06-30 13:25   ` Jani Nikula
  0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2017-06-30 13:25 UTC (permalink / raw)
  To: Ville Syrjälä, Manasi Navare; +Cc: intel-gfx

On Fri, 30 Jun 2017, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, Jun 29, 2017 at 02:10:38PM -0700, Manasi Navare wrote:
>> This patch fixes the DP AUX CH timeouts observed during CI IGT
>> tests thus fixing the CI failures. This is done by adding a
>> quirk for a particular PCI device that requires the panel power
>> cycle delay (T12) to be set to 800ms which is 300msecs more than
>> the minimum value specified in the eDP spec. So a quirk is
>> implemented for that specific PCI device.
>> 
>> v3:
>> * Change some comments, specify the delay as 800 * 10 (Ville)
>> v2:
>> * Change the function and variable names to from PPS_T12_
>> to _T12 since it is a T12 delay (Clint)
>> 
>> Fixes: FDO #101144 #101515 #101154 #101167
>
> That's not how we do it.

Indeed.

Fixes: is used to indicate another commit that this patch fixes. See
Documentation/process/submitting-patches.rst. Does one exist here?

Bugzilla links are tagged using:

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101144
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101154
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101167
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101515

See git log for examples.

BR,
Jani.

>
> Also please look into git send-email --in-reply-to option. Review is
> easier if the patches aren't spread all over the mailbox.
>
>> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
>> Cc: Clinton Taylor <clinton.a.taylor@intel.com>
>> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
>> Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>>  drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
>>  drivers/gpu/drm/i915/intel_dp.c      | 11 +++++++++++
>>  3 files changed, 26 insertions(+)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 427d10c..4327c8a 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -1168,6 +1168,7 @@ enum intel_sbi_destination {
>>  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
>>  #define QUIRK_BACKLIGHT_PRESENT (1<<3)
>>  #define QUIRK_PIN_SWIZZLED_PAGES (1<<5)
>> +#define QUIRK_INCREASE_T12_DELAY (1<<6)
>>  
>>  struct intel_fbdev;
>>  struct intel_fbc_work;
>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>> index 4e03ca6..87dfde9 100644
>> --- a/drivers/gpu/drm/i915/intel_display.c
>> +++ b/drivers/gpu/drm/i915/intel_display.c
>> @@ -14765,6 +14765,17 @@ static void quirk_backlight_present(struct drm_device *dev)
>>  	DRM_INFO("applying backlight present quirk\n");
>>  }
>>  
>> +/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
>> + * which is 300 ms greater than eDP spec T12 min.
>> + */
>> +static void quirk_increase_t12_delay(struct drm_device *dev)
>> +{
>> +	struct drm_i915_private *dev_priv = to_i915(dev);
>> +
>> +	dev_priv->quirks |= QUIRK_INCREASE_T12_DELAY;
>> +	DRM_INFO("Applying T12 delay quirk\n");
>> +}
>> +
>>  struct intel_quirk {
>>  	int device;
>>  	int subsystem_vendor;
>> @@ -14848,6 +14859,9 @@ static struct intel_quirk intel_quirks[] = {
>>  
>>  	/* Dell Chromebook 11 (2015 version) */
>>  	{ 0x0a16, 0x1028, 0x0a35, quirk_backlight_present },
>> +
>> +	/* Toshiba Satellite P50-C-18C */
>> +	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay },
>>  };
>>  
>>  static void intel_init_quirks(struct drm_device *dev)
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index 67bc8a7a..4d7e510 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -5230,6 +5230,17 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
>>  	intel_pps_dump_state("cur", &cur);
>>  
>>  	vbt = dev_priv->vbt.edp.pps;
>> +	/* On Toshiba Satellite P50-C-18C system the VBT T12 delay
>> +	 * of 500ms appears to be too short. Ocassionally the panel
>> +	 * just fails to power back on. Increasing the delay to 800ms
>> +	 * seems sufficient to avpid this problem.a
>                                  ^
> typo
>
> Otherwise looks OK to me.
>
>> +	 */
>> +	if (dev_priv->quirks & QUIRK_INCREASE_T12_DELAY) {
>> +
>> +		vbt.t11_t12 = max_t(u16, vbt.t11_t12, 800 * 10);
>> +		DRM_DEBUG_KMS("Increasing T12 panel delay as per the quirk to %d\n",
>> +			      vbt.t11_t12);
>> +	}
>>  	/* T11_T12 delay is special and actually in units of 100ms, but zero
>>  	 * based in the hw (so we need to add 100 ms). But the sw vbt
>>  	 * table multiplies it with 1000 to make it in units of 100usec,
>> -- 
>> 2.1.4

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
  2017-06-29 21:10 [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Manasi Navare
  2017-06-29 21:25 ` ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev2) Patchwork
  2017-06-30 10:32 ` [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Ville Syrjälä
@ 2017-06-30 16:33 ` Manasi Navare
  2017-07-04 14:42   ` Ville Syrjälä
  2017-06-30 16:47 ` ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev3) Patchwork
  3 siblings, 1 reply; 9+ messages in thread
From: Manasi Navare @ 2017-06-30 16:33 UTC (permalink / raw)
  To: intel-gfx

This patch fixes the DP AUX CH timeouts observed during CI IGT
tests thus fixing the CI failures. This is done by adding a
quirk for a particular PCI device that requires the panel power
cycle delay (T12) to be set to 800ms which is 300msecs more than
the minimum value specified in the eDP spec. So a quirk is
implemented for that specific PCI device.

v4:
* Add Bugzilla links for FDO bugs in the commit message (Ville, Jani)
v3:
* Change some comments, specify the delay as 800 * 10 (Ville)
v2:
* Change the function and variable names to from PPS_T12_
to _T12 since it is a T12 delay (Clint)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101144
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101154
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101167
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101515
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Clinton Taylor <clinton.a.taylor@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
Acked-by: Ville Syrjala <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h      |  1 +
 drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
 drivers/gpu/drm/i915/intel_dp.c      | 11 +++++++++++
 3 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index effbe4f..4bef5d3 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1167,6 +1167,7 @@ enum intel_sbi_destination {
 #define QUIRK_INVERT_BRIGHTNESS (1<<2)
 #define QUIRK_BACKLIGHT_PRESENT (1<<3)
 #define QUIRK_PIN_SWIZZLED_PAGES (1<<5)
+#define QUIRK_INCREASE_T12_DELAY (1<<6)
 
 struct intel_fbdev;
 struct intel_fbc_work;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 4e03ca6..87dfde9 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -14765,6 +14765,17 @@ static void quirk_backlight_present(struct drm_device *dev)
 	DRM_INFO("applying backlight present quirk\n");
 }
 
+/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
+ * which is 300 ms greater than eDP spec T12 min.
+ */
+static void quirk_increase_t12_delay(struct drm_device *dev)
+{
+	struct drm_i915_private *dev_priv = to_i915(dev);
+
+	dev_priv->quirks |= QUIRK_INCREASE_T12_DELAY;
+	DRM_INFO("Applying T12 delay quirk\n");
+}
+
 struct intel_quirk {
 	int device;
 	int subsystem_vendor;
@@ -14848,6 +14859,9 @@ static struct intel_quirk intel_quirks[] = {
 
 	/* Dell Chromebook 11 (2015 version) */
 	{ 0x0a16, 0x1028, 0x0a35, quirk_backlight_present },
+
+	/* Toshiba Satellite P50-C-18C */
+	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 67bc8a7a..538950c 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5230,6 +5230,17 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
 	intel_pps_dump_state("cur", &cur);
 
 	vbt = dev_priv->vbt.edp.pps;
+	/* On Toshiba Satellite P50-C-18C system the VBT T12 delay
+	 * of 500ms appears to be too short. Ocassionally the panel
+	 * just fails to power back on. Increasing the delay to 800ms
+	 * seems sufficient to avoid this problem.
+	 */
+	if (dev_priv->quirks & QUIRK_INCREASE_T12_DELAY) {
+
+		vbt.t11_t12 = max_t(u16, vbt.t11_t12, 800 * 10);
+		DRM_DEBUG_KMS("Increasing T12 panel delay as per the quirk to %d\n",
+			      vbt.t11_t12);
+	}
 	/* T11_T12 delay is special and actually in units of 100ms, but zero
 	 * based in the hw (so we need to add 100 ms). But the sw vbt
 	 * table multiplies it with 1000 to make it in units of 100usec,
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev3)
  2017-06-29 21:10 [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Manasi Navare
                   ` (2 preceding siblings ...)
  2017-06-30 16:33 ` [PATCH v4] " Manasi Navare
@ 2017-06-30 16:47 ` Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-06-30 16:47 UTC (permalink / raw)
  To: Navare, Manasi D; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev3)
URL   : https://patchwork.freedesktop.org/series/26518/
State : success

== Summary ==

Series 26518v3 drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
https://patchwork.freedesktop.org/api/1.0/series/26518/revisions/3/mbox/

Test kms_busy:
        Subgroup basic-flip-default-b:
                fail       -> PASS       (fi-skl-6700hq) fdo#101144 +2
Test kms_cursor_legacy:
        Subgroup basic-busy-flip-before-cursor-atomic:
                fail       -> PASS       (fi-skl-6700hq) fdo#101154 +24
Test kms_flip:
        Subgroup basic-flip-vs-modeset:
                skip       -> PASS       (fi-skl-6700hq)
        Subgroup basic-flip-vs-wf_vblank:
                skip       -> PASS       (fi-skl-6700hq)
        Subgroup basic-plain-flip:
                skip       -> PASS       (fi-skl-6700hq)
Test kms_frontbuffer_tracking:
        Subgroup basic:
                skip       -> PASS       (fi-skl-6700hq)
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-a:
                dmesg-warn -> PASS       (fi-pnv-d510) fdo#101597
        Subgroup suspend-read-crc-pipe-b:
                pass       -> DMESG-WARN (fi-byt-j1900) fdo#101516
                fail       -> PASS       (fi-skl-6700hq) fdo#100461 +1
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                warn       -> PASS       (fi-skl-6700hq) fdo#101518
Test kms_sink_crc_basic:
                fail       -> PASS       (fi-skl-6700hq) fdo#101519
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                skip       -> PASS       (fi-skl-6700hq)
        Subgroup basic-rte:
                skip       -> PASS       (fi-skl-6700hq)

fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144
fdo#101154 https://bugs.freedesktop.org/show_bug.cgi?id=101154
fdo#101597 https://bugs.freedesktop.org/show_bug.cgi?id=101597
fdo#101516 https://bugs.freedesktop.org/show_bug.cgi?id=101516
fdo#100461 https://bugs.freedesktop.org/show_bug.cgi?id=100461
fdo#101518 https://bugs.freedesktop.org/show_bug.cgi?id=101518
fdo#101519 https://bugs.freedesktop.org/show_bug.cgi?id=101519

fi-bdw-5557u     total:279  pass:264  dwarn:0   dfail:0   fail:3   skip:11  time:446s
fi-bdw-gvtdvm    total:279  pass:257  dwarn:8   dfail:0   fail:0   skip:14  time:435s
fi-blb-e6850     total:279  pass:224  dwarn:1   dfail:0   fail:0   skip:54  time:355s
fi-bsw-n3050     total:279  pass:239  dwarn:0   dfail:0   fail:3   skip:36  time:513s
fi-bxt-j4205     total:279  pass:256  dwarn:0   dfail:0   fail:3   skip:19  time:504s
fi-byt-j1900     total:279  pass:250  dwarn:1   dfail:0   fail:3   skip:24  time:477s
fi-byt-n2820     total:279  pass:246  dwarn:1   dfail:0   fail:3   skip:28  time:476s
fi-glk-2a        total:279  pass:256  dwarn:0   dfail:0   fail:3   skip:19  time:583s
fi-hsw-4770      total:279  pass:259  dwarn:0   dfail:0   fail:3   skip:16  time:431s
fi-hsw-4770r     total:279  pass:259  dwarn:0   dfail:0   fail:3   skip:16  time:413s
fi-ilk-650       total:279  pass:225  dwarn:0   dfail:0   fail:3   skip:50  time:412s
fi-ivb-3520m     total:279  pass:257  dwarn:0   dfail:0   fail:3   skip:18  time:495s
fi-ivb-3770      total:279  pass:257  dwarn:0   dfail:0   fail:3   skip:18  time:472s
fi-kbl-7500u     total:279  pass:257  dwarn:0   dfail:0   fail:3   skip:18  time:459s
fi-kbl-7560u     total:279  pass:264  dwarn:1   dfail:0   fail:3   skip:10  time:560s
fi-kbl-r         total:279  pass:256  dwarn:1   dfail:0   fail:3   skip:18  time:573s
fi-pnv-d510      total:279  pass:222  dwarn:2   dfail:0   fail:0   skip:55  time:552s
fi-skl-6260u     total:279  pass:265  dwarn:0   dfail:0   fail:3   skip:10  time:450s
fi-skl-6700hq    total:279  pass:257  dwarn:1   dfail:0   fail:3   skip:17  time:606s
fi-skl-6700k     total:279  pass:257  dwarn:0   dfail:0   fail:3   skip:18  time:460s
fi-skl-6770hq    total:279  pass:265  dwarn:0   dfail:0   fail:3   skip:10  time:476s
fi-skl-gvtdvm    total:279  pass:266  dwarn:0   dfail:0   fail:0   skip:13  time:432s
fi-snb-2520m     total:279  pass:247  dwarn:0   dfail:0   fail:3   skip:28  time:536s
fi-snb-2600      total:279  pass:246  dwarn:0   dfail:0   fail:3   skip:29  time:400s

6412bcb8e279d62b9d8ae2840712d6c85806369b drm-tip: 2017y-06m-30d-14h-56m-41s UTC integration manifest
1bda2ed drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_5080/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
  2017-06-30 16:33 ` [PATCH v4] " Manasi Navare
@ 2017-07-04 14:42   ` Ville Syrjälä
  2017-07-05 18:25     ` Navare, Manasi D
  0 siblings, 1 reply; 9+ messages in thread
From: Ville Syrjälä @ 2017-07-04 14:42 UTC (permalink / raw)
  To: Manasi Navare; +Cc: intel-gfx

On Fri, Jun 30, 2017 at 09:33:48AM -0700, Manasi Navare wrote:
> This patch fixes the DP AUX CH timeouts observed during CI IGT
> tests thus fixing the CI failures. This is done by adding a
> quirk for a particular PCI device that requires the panel power
> cycle delay (T12) to be set to 800ms which is 300msecs more than
> the minimum value specified in the eDP spec. So a quirk is
> implemented for that specific PCI device.
> 
> v4:
> * Add Bugzilla links for FDO bugs in the commit message (Ville, Jani)
> v3:
> * Change some comments, specify the delay as 800 * 10 (Ville)
> v2:
> * Change the function and variable names to from PPS_T12_
> to _T12 since it is a T12 delay (Clint)
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101144
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101154
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101167
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101515
> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Clinton Taylor <clinton.a.taylor@intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
> Acked-by: Ville Syrjala <ville.syrjala@linux.intel.com>

I don't recall ever stating that explicitly. Please don't invent acks/rbs.

I also fixed up a checkpatch warning about an empty line being present
where none was supposed to be. Please review all checkpatch warnings when
submitting patches.

Anyways this is now pushed to dinq. Thanks for the patch.

> ---
>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>  drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
>  drivers/gpu/drm/i915/intel_dp.c      | 11 +++++++++++
>  3 files changed, 26 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index effbe4f..4bef5d3 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1167,6 +1167,7 @@ enum intel_sbi_destination {
>  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
>  #define QUIRK_BACKLIGHT_PRESENT (1<<3)
>  #define QUIRK_PIN_SWIZZLED_PAGES (1<<5)
> +#define QUIRK_INCREASE_T12_DELAY (1<<6)
>  
>  struct intel_fbdev;
>  struct intel_fbc_work;
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 4e03ca6..87dfde9 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14765,6 +14765,17 @@ static void quirk_backlight_present(struct drm_device *dev)
>  	DRM_INFO("applying backlight present quirk\n");
>  }
>  
> +/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
> + * which is 300 ms greater than eDP spec T12 min.
> + */
> +static void quirk_increase_t12_delay(struct drm_device *dev)
> +{
> +	struct drm_i915_private *dev_priv = to_i915(dev);
> +
> +	dev_priv->quirks |= QUIRK_INCREASE_T12_DELAY;
> +	DRM_INFO("Applying T12 delay quirk\n");
> +}
> +
>  struct intel_quirk {
>  	int device;
>  	int subsystem_vendor;
> @@ -14848,6 +14859,9 @@ static struct intel_quirk intel_quirks[] = {
>  
>  	/* Dell Chromebook 11 (2015 version) */
>  	{ 0x0a16, 0x1028, 0x0a35, quirk_backlight_present },
> +
> +	/* Toshiba Satellite P50-C-18C */
> +	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay },
>  };
>  
>  static void intel_init_quirks(struct drm_device *dev)
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 67bc8a7a..538950c 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5230,6 +5230,17 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
>  	intel_pps_dump_state("cur", &cur);
>  
>  	vbt = dev_priv->vbt.edp.pps;
> +	/* On Toshiba Satellite P50-C-18C system the VBT T12 delay
> +	 * of 500ms appears to be too short. Ocassionally the panel
> +	 * just fails to power back on. Increasing the delay to 800ms
> +	 * seems sufficient to avoid this problem.
> +	 */
> +	if (dev_priv->quirks & QUIRK_INCREASE_T12_DELAY) {
> +
> +		vbt.t11_t12 = max_t(u16, vbt.t11_t12, 800 * 10);
> +		DRM_DEBUG_KMS("Increasing T12 panel delay as per the quirk to %d\n",
> +			      vbt.t11_t12);
> +	}
>  	/* T11_T12 delay is special and actually in units of 100ms, but zero
>  	 * based in the hw (so we need to add 100 ms). But the sw vbt
>  	 * table multiplies it with 1000 to make it in units of 100usec,
> -- 
> 2.1.4

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
  2017-07-04 14:42   ` Ville Syrjälä
@ 2017-07-05 18:25     ` Navare, Manasi D
  2017-07-05 20:01       ` Ville Syrjälä
  0 siblings, 1 reply; 9+ messages in thread
From: Navare, Manasi D @ 2017-07-05 18:25 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Fri, Jun 30, 2017 at 09:33:48AM -0700, Manasi Navare wrote:
> This patch fixes the DP AUX CH timeouts observed during CI IGT tests 
> thus fixing the CI failures. This is done by adding a quirk for a 
> particular PCI device that requires the panel power cycle delay (T12) 
> to be set to 800ms which is 300msecs more than the minimum value 
> specified in the eDP spec. So a quirk is implemented for that specific 
> PCI device.
> 
> v4:
> * Add Bugzilla links for FDO bugs in the commit message (Ville, Jani)
> v3:
> * Change some comments, specify the delay as 800 * 10 (Ville)
> v2:
> * Change the function and variable names to from PPS_T12_ to _T12 
> since it is a T12 delay (Clint)
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101144
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101154
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101167
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101515
> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Clinton Taylor <clinton.a.taylor@intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
> Acked-by: Ville Syrjala <ville.syrjala@linux.intel.com>

I don't recall ever stating that explicitly. Please don't invent acks/rbs.

You had said "Looks good to me" on the previous version.  Doesn't that mean its Acked By you?


I also fixed up a checkpatch warning about an empty line being present where none was supposed to be. Please review all checkpatch warnings when submitting patches.

Thanks for fixing this, sorry must have missed this while respinning. Else I always have been checking for checkpatch
Warnings.

Manasi

Anyways this is now pushed to dinq. Thanks for the patch.

> ---
>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>  drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
>  drivers/gpu/drm/i915/intel_dp.c      | 11 +++++++++++
>  3 files changed, 26 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h 
> b/drivers/gpu/drm/i915/i915_drv.h index effbe4f..4bef5d3 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1167,6 +1167,7 @@ enum intel_sbi_destination {  #define 
> QUIRK_INVERT_BRIGHTNESS (1<<2)  #define QUIRK_BACKLIGHT_PRESENT (1<<3)  
> #define QUIRK_PIN_SWIZZLED_PAGES (1<<5)
> +#define QUIRK_INCREASE_T12_DELAY (1<<6)
>  
>  struct intel_fbdev;
>  struct intel_fbc_work;
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 4e03ca6..87dfde9 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14765,6 +14765,17 @@ static void quirk_backlight_present(struct drm_device *dev)
>  	DRM_INFO("applying backlight present quirk\n");  }
>  
> +/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
> + * which is 300 ms greater than eDP spec T12 min.
> + */
> +static void quirk_increase_t12_delay(struct drm_device *dev) {
> +	struct drm_i915_private *dev_priv = to_i915(dev);
> +
> +	dev_priv->quirks |= QUIRK_INCREASE_T12_DELAY;
> +	DRM_INFO("Applying T12 delay quirk\n"); }
> +
>  struct intel_quirk {
>  	int device;
>  	int subsystem_vendor;
> @@ -14848,6 +14859,9 @@ static struct intel_quirk intel_quirks[] = {
>  
>  	/* Dell Chromebook 11 (2015 version) */
>  	{ 0x0a16, 0x1028, 0x0a35, quirk_backlight_present },
> +
> +	/* Toshiba Satellite P50-C-18C */
> +	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay },
>  };
>  
>  static void intel_init_quirks(struct drm_device *dev) diff --git 
> a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c 
> index 67bc8a7a..538950c 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5230,6 +5230,17 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
>  	intel_pps_dump_state("cur", &cur);
>  
>  	vbt = dev_priv->vbt.edp.pps;
> +	/* On Toshiba Satellite P50-C-18C system the VBT T12 delay
> +	 * of 500ms appears to be too short. Ocassionally the panel
> +	 * just fails to power back on. Increasing the delay to 800ms
> +	 * seems sufficient to avoid this problem.
> +	 */
> +	if (dev_priv->quirks & QUIRK_INCREASE_T12_DELAY) {
> +
> +		vbt.t11_t12 = max_t(u16, vbt.t11_t12, 800 * 10);
> +		DRM_DEBUG_KMS("Increasing T12 panel delay as per the quirk to %d\n",
> +			      vbt.t11_t12);
> +	}
>  	/* T11_T12 delay is special and actually in units of 100ms, but zero
>  	 * based in the hw (so we need to add 100 ms). But the sw vbt
>  	 * table multiplies it with 1000 to make it in units of 100usec,
> --
> 2.1.4

--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts
  2017-07-05 18:25     ` Navare, Manasi D
@ 2017-07-05 20:01       ` Ville Syrjälä
  0 siblings, 0 replies; 9+ messages in thread
From: Ville Syrjälä @ 2017-07-05 20:01 UTC (permalink / raw)
  To: Navare, Manasi D; +Cc: intel-gfx

On Wed, Jul 05, 2017 at 06:25:30PM +0000, Navare, Manasi D wrote:
> On Fri, Jun 30, 2017 at 09:33:48AM -0700, Manasi Navare wrote:
> > This patch fixes the DP AUX CH timeouts observed during CI IGT tests 
> > thus fixing the CI failures. This is done by adding a quirk for a 
> > particular PCI device that requires the panel power cycle delay (T12) 
> > to be set to 800ms which is 300msecs more than the minimum value 
> > specified in the eDP spec. So a quirk is implemented for that specific 
> > PCI device.
> > 
> > v4:
> > * Add Bugzilla links for FDO bugs in the commit message (Ville, Jani)
> > v3:
> > * Change some comments, specify the delay as 800 * 10 (Ville)
> > v2:
> > * Change the function and variable names to from PPS_T12_ to _T12 
> > since it is a T12 delay (Clint)
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101144
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101154
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101167
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101515
> > Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> > Cc: Clinton Taylor <clinton.a.taylor@intel.com>
> > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com>
> > Acked-by: Ville Syrjala <ville.syrjala@linux.intel.com>
> 
> I don't recall ever stating that explicitly. Please don't invent acks/rbs.
> 
> You had said "Looks good to me" on the previous version.  Doesn't that mean its Acked By you?

I don't generally expect acks/rbs to appear on a patch unless explicitly
stated. I guess sometimes it might be an irc 'ack' or something like
that, but that's as far as I would go in interpreting things.

> 
> 
> I also fixed up a checkpatch warning about an empty line being present where none was supposed to be. Please review all checkpatch warnings when submitting patches.
> 
> Thanks for fixing this, sorry must have missed this while respinning. Else I always have been checking for checkpatch
> Warnings.
> 
> Manasi
> 
> Anyways this is now pushed to dinq. Thanks for the patch.
> 
> > ---
> >  drivers/gpu/drm/i915/i915_drv.h      |  1 +
> >  drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
> >  drivers/gpu/drm/i915/intel_dp.c      | 11 +++++++++++
> >  3 files changed, 26 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h 
> > b/drivers/gpu/drm/i915/i915_drv.h index effbe4f..4bef5d3 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1167,6 +1167,7 @@ enum intel_sbi_destination {  #define 
> > QUIRK_INVERT_BRIGHTNESS (1<<2)  #define QUIRK_BACKLIGHT_PRESENT (1<<3)  
> > #define QUIRK_PIN_SWIZZLED_PAGES (1<<5)
> > +#define QUIRK_INCREASE_T12_DELAY (1<<6)
> >  
> >  struct intel_fbdev;
> >  struct intel_fbc_work;
> > diff --git a/drivers/gpu/drm/i915/intel_display.c 
> > b/drivers/gpu/drm/i915/intel_display.c
> > index 4e03ca6..87dfde9 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -14765,6 +14765,17 @@ static void quirk_backlight_present(struct drm_device *dev)
> >  	DRM_INFO("applying backlight present quirk\n");  }
> >  
> > +/* Toshiba Satellite P50-C-18C requires T12 delay to be min 800ms
> > + * which is 300 ms greater than eDP spec T12 min.
> > + */
> > +static void quirk_increase_t12_delay(struct drm_device *dev) {
> > +	struct drm_i915_private *dev_priv = to_i915(dev);
> > +
> > +	dev_priv->quirks |= QUIRK_INCREASE_T12_DELAY;
> > +	DRM_INFO("Applying T12 delay quirk\n"); }
> > +
> >  struct intel_quirk {
> >  	int device;
> >  	int subsystem_vendor;
> > @@ -14848,6 +14859,9 @@ static struct intel_quirk intel_quirks[] = {
> >  
> >  	/* Dell Chromebook 11 (2015 version) */
> >  	{ 0x0a16, 0x1028, 0x0a35, quirk_backlight_present },
> > +
> > +	/* Toshiba Satellite P50-C-18C */
> > +	{ 0x191B, 0x1179, 0xF840, quirk_increase_t12_delay },
> >  };
> >  
> >  static void intel_init_quirks(struct drm_device *dev) diff --git 
> > a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c 
> > index 67bc8a7a..538950c 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -5230,6 +5230,17 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
> >  	intel_pps_dump_state("cur", &cur);
> >  
> >  	vbt = dev_priv->vbt.edp.pps;
> > +	/* On Toshiba Satellite P50-C-18C system the VBT T12 delay
> > +	 * of 500ms appears to be too short. Ocassionally the panel
> > +	 * just fails to power back on. Increasing the delay to 800ms
> > +	 * seems sufficient to avoid this problem.
> > +	 */
> > +	if (dev_priv->quirks & QUIRK_INCREASE_T12_DELAY) {
> > +
> > +		vbt.t11_t12 = max_t(u16, vbt.t11_t12, 800 * 10);
> > +		DRM_DEBUG_KMS("Increasing T12 panel delay as per the quirk to %d\n",
> > +			      vbt.t11_t12);
> > +	}
> >  	/* T11_T12 delay is special and actually in units of 100ms, but zero
> >  	 * based in the hw (so we need to add 100 ms). But the sw vbt
> >  	 * table multiplies it with 1000 to make it in units of 100usec,
> > --
> > 2.1.4
> 
> --
> Ville Syrjälä
> Intel OTC

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-07-05 20:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-29 21:10 [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Manasi Navare
2017-06-29 21:25 ` ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev2) Patchwork
2017-06-30 10:32 ` [PATCH v3] drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts Ville Syrjälä
2017-06-30 13:25   ` Jani Nikula
2017-06-30 16:33 ` [PATCH v4] " Manasi Navare
2017-07-04 14:42   ` Ville Syrjälä
2017-07-05 18:25     ` Navare, Manasi D
2017-07-05 20:01       ` Ville Syrjälä
2017-06-30 16:47 ` ✓ Fi.CI.BAT: success for drm/i915/edp: Add a T12 panel delay quirk to fix DP AUX CH timeouts (rev3) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.