lkml.org 
[lkml]   [2013]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [3.9-rc1] irq 16: nobody cared (was [3.9-rc1] very poor interrupt responses)
On Fri, 15 Mar 2013, Jiri Kosina wrote:

> > I have the same problem on my Lenovo T500. I think the graphics card is
> > involved.
> >
> > This laptop has "hybrid graphics" - one Intel GMA 4500MHD and one ATI
> > Mobility Radeon HD 3650. When I boot with the Intel card, I get "irq 16:
> > nobody cared" during boot, not when I boot with the ATI card.
>
> Confirming this. After a lot of hassle, I have bisected this reliably to
>
> commit 28c70f162a315bdcfbe0bf940a740ef8bfb918d6
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date: Sat Dec 1 13:53:45 2012 +0100
>
> drm/i915: use the gmbus irq for waits
>
> Adding Daniel, Imre and Daniel to CC while I will try to figure out what's
> happening in parallel.
>
> Attaching dmesg.txt from the machine with 28c70f162a as head, with
> drm.debug=0xe.

Just a datapoint -- I have put a trivial debugging patch in place, and it
reveals that "nobody cared" for irq 16 happens long after last

I915_WRITE(GMBUS4 + reg_offset, 0);

has been performed in gmbus_wait_hw_status(). On the other hand, if I
comment out both GMBUS4 register offset writes in gmbus_wait_hw_status(),
then it of course falls back to GPIO bit-banging, but the "nobody cared"
for irq 16 is gone.

So it seems like something gets severely confused by the I915_WRITE to
GMBUS4 + reg_offset. So far this seems to have been reported solely on
Lenovos as far as I can see (although a completely different types), so it
might be some platform-specific quirk?

Honestly, I still don't understand how all the GMBUS stuff relates to IRQ
16 at all.

--
Jiri Kosina
SUSE Labs


\
 
 \ /
  Last update: 2013-03-15 17:01    [W:0.175 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site