All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: [PATCH 1/2] drm/i915: fix the SDE irq dmesg warnings properly
Date: Thu, 26 Nov 2015 16:31:47 +0200	[thread overview]
Message-ID: <87egfc7rxo.fsf@intel.com> (raw)
In-Reply-To: <20151125144909.GP4437@intel.com>

On Wed, 25 Nov 2015, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Nov 25, 2015 at 04:47:22PM +0200, Jani Nikula wrote:
>> We had the "The master control interrupt lied (SDE)!" check and error
>> message in place for a long time without any problems, until
>> 
>> commit aaf5ec2e51ab1d9c5e962b4728a1107ed3ff7a3e
>> Author: Sonika Jindal <sonika.jindal@intel.com>
>> Date:   Wed Jul 8 17:07:47 2015 +0530
>> 
>>     drm/i915: Handle HPD when it has actually occurred
>> 
>> caused the errors to start happening. This was bisected and reported,
>> but the error message was silenced in
>> 
>> commit 97e5ed1111dcc5300a0f59a55248cd243937a8ab
>> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Date:   Fri Oct 23 10:56:12 2015 +0200
>> 
>>     drm/i915: shut up gen8+ SDE irq dmesg noise
>> 
>> shooting the messenger while the debugging for why Sonika's commit
>> triggered the errors was still in progress.
>> 
>> It looks like we need to read and acknowledge the PCH_PORT_HOTPLUG
>> register even though the hotplug trigger indicates there isn't a hotplug
>> irq to handle.
>> 
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Sonika Jindal <sonika.jindal@intel.com>
>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92084
>> Fixes: aaf5ec2e51ab ("drm/i915: Handle HPD when it has actually occurred")
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_irq.c | 16 ++++++++++++----
>>  1 file changed, 12 insertions(+), 4 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>> index c8ba94968aaf..982951d3153a 100644
>> --- a/drivers/gpu/drm/i915/i915_irq.c
>> +++ b/drivers/gpu/drm/i915/i915_irq.c
>> @@ -1825,7 +1825,17 @@ static void ibx_hpd_irq_handler(struct drm_device *dev, u32 hotplug_trigger,
>>  	u32 dig_hotplug_reg, pin_mask = 0, long_mask = 0;
>>  
>>  	dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG);
>> +	if (!hotplug_trigger) {
>> +		u32 mask = PORTA_HOTPLUG_STATUS_MASK |
>> +			PORTD_HOTPLUG_STATUS_MASK |
>> +			PORTC_HOTPLUG_STATUS_MASK |
>> +			PORTB_HOTPLUG_STATUS_MASK;
>> +		dig_hotplug_reg &= ~mask;
>> +	}
>> +
>>  	I915_WRITE(PCH_PORT_HOTPLUG, dig_hotplug_reg);
>> +	if (!hotplug_trigger)
>> +		return;
>
> I would add some kind of comment around these parts to explain that
> somehow the PCH doesn't seem to really ack the interrupt to the CPU
> unless we touch the hotplug register.
>
> Otherwise (for both patches)
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Pushed to drm-intel-next-queued, with a comment added and the commit
message amended slightly, thanks for the review.

BR,
Jani.



>
> Also not sure if SKL might need something similar as well...
>
>>  
>>  	intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
>>  			   dig_hotplug_reg, hpd,
>> @@ -1840,8 +1850,7 @@ static void ibx_irq_handler(struct drm_device *dev, u32 pch_iir)
>>  	int pipe;
>>  	u32 hotplug_trigger = pch_iir & SDE_HOTPLUG_MASK;
>>  
>> -	if (hotplug_trigger)
>> -		ibx_hpd_irq_handler(dev, hotplug_trigger, hpd_ibx);
>> +	ibx_hpd_irq_handler(dev, hotplug_trigger, hpd_ibx);
>>  
>>  	if (pch_iir & SDE_AUDIO_POWER_MASK) {
>>  		int port = ffs((pch_iir & SDE_AUDIO_POWER_MASK) >>
>> @@ -1934,8 +1943,7 @@ static void cpt_irq_handler(struct drm_device *dev, u32 pch_iir)
>>  	int pipe;
>>  	u32 hotplug_trigger = pch_iir & SDE_HOTPLUG_MASK_CPT;
>>  
>> -	if (hotplug_trigger)
>> -		ibx_hpd_irq_handler(dev, hotplug_trigger, hpd_cpt);
>> +	ibx_hpd_irq_handler(dev, hotplug_trigger, hpd_cpt);
>>  
>>  	if (pch_iir & SDE_AUDIO_POWER_MASK_CPT) {
>>  		int port = ffs((pch_iir & SDE_AUDIO_POWER_MASK_CPT) >>
>> -- 
>> 2.1.4

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

  reply	other threads:[~2015-11-26 14:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-25 14:47 [PATCH 1/2] drm/i915: fix the SDE irq dmesg warnings properly Jani Nikula
2015-11-25 14:47 ` [PATCH 2/2] Revert "drm/i915: shut up gen8+ SDE irq dmesg noise" Jani Nikula
2015-11-25 14:49 ` [PATCH 1/2] drm/i915: fix the SDE irq dmesg warnings properly Ville Syrjälä
2015-11-26 14:31   ` Jani Nikula [this message]
2015-12-13 12:49 ` Chris Wilson
2015-12-14 14:54   ` Ville Syrjälä
2015-12-15 15:26     ` Chris Wilson
2016-01-06  1:47       ` Josh Boyer
2016-01-07  9:45         ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87egfc7rxo.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.