All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Imre Deak" <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org, "v3.15+" <stable@vger.kernel.org>
Subject: Re: [Intel-gfx] [PATCH] drm/i915: vlv: fix IRQ masking when uninstalling interrupts
Date: Thu, 11 Dec 2014 16:09:03 +0200	[thread overview]
Message-ID: <874mt28eio.fsf@intel.com> (raw)
In-Reply-To: <20141210173712.GG10649@intel.com>

On Wed, 10 Dec 2014, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, Nov 20, 2014 at 04:05:55PM +0200, Imre Deak wrote:
>> irq_mask should include all IRQ bits that we want to mask, but atm we
>> set it incorrectly to the inverse of this. If the mask is used
>> subsequently to enable/disable some IRQ bits, we may unintentionally
>> unmask unrelated IRQs. I can't see any way that this can lead to a real
>> problem in the current -nightly code, since the first place the mask
>> will be used next (after a suspend/resume cycle) is in
>> valleyview_irq_postinstall(), but the mask is reset there to its proper
>> value.
>> 
>> This causes a problem in the upstream kernel though, where - due to another
>> issue - the mask is used in the above way to disable only the display IRQs.
>> This other issue is fixed by:
>> 
>> commit 950eabaf5a87257040e0c207be09487954113f54
>> Author: Imre Deak <imre.deak@intel.com>
>> Date:   Mon Sep 8 15:21:09 2014 +0300
>> 
>>     drm/i915: vlv: fix display IRQ enable/disable
>> 
>> Interestingly, even with the above two bugs, we shouldn't in theory have
>> any real problems (arguably a famous last sentence:). That's because
>> even if we unmask something unintentionally via the VLV_IMR/VLV_IER
>> register the master IRQ masking bit in VLV_MASTER_IER is still set and
>> should prevent all i915 interrupts. According to my testing on an ASUS
>> T100 with DSI output this isn't the case at least with the
>> MIPIA_INTERRUPT. Leaving this one unmasked in IMR/IER, while having
>> VLV_MASTER_IER set to 0 may lead to a lockup during system suspend as
>> shown in the bugzilla ticket below. This fix should get rid of the
>> problem reported there in upstream and older kernels.
>> 
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85920
>> Cc: stable@vger.kernel.org (v3.15+)
>> Signed-off-by: Imre Deak <imre.deak@intel.com>
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Pushed to drm-intel-next-fixes, thanks for the patch and review.

BR,
Jani.


>
>> ---
>>  drivers/gpu/drm/i915/i915_irq.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>> index 8d169e1..4601f53 100644
>> --- a/drivers/gpu/drm/i915/i915_irq.c
>> +++ b/drivers/gpu/drm/i915/i915_irq.c
>> @@ -3597,7 +3597,7 @@ static void vlv_display_irq_uninstall(struct drm_i915_private *dev_priv)
>>  
>>  	vlv_display_irq_reset(dev_priv);
>>  
>> -	dev_priv->irq_mask = 0;
>> +	dev_priv->irq_mask = ~0;
>>  }
>>  
>>  static void valleyview_irq_uninstall(struct drm_device *dev)
>> -- 
>> 1.8.4
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> -- 
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

      reply	other threads:[~2014-12-11 14:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-20 14:05 [PATCH] drm/i915: vlv: fix IRQ masking when uninstalling interrupts Imre Deak
2014-11-20 14:11 ` Daniel Vetter
2014-11-20 14:19   ` Imre Deak
2014-11-22 10:35 ` [PATCH] drm/i915: vlv: fix IRQ masking when shuang.he
2014-12-10 17:37 ` [PATCH] drm/i915: vlv: fix IRQ masking when uninstalling interrupts Ville Syrjälä
2014-12-11 14:09   ` Jani Nikula [this message]

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=874mt28eio.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=stable@vger.kernel.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.