All of lore.kernel.org
 help / color / mirror / Atom feed
* [git pull] drm fixes for 2.6.28 final
@ 2008-11-28  3:26 Dave Airlie
  2008-11-28  4:25 ` Harvey Harrison
  2008-11-28  5:19 ` Jesse Barnes
  0 siblings, 2 replies; 6+ messages in thread
From: Dave Airlie @ 2008-11-28  3:26 UTC (permalink / raw)
  To: torvalds, Andrew Morton; +Cc: dri-devel, linux-kernel


Hi Linus,

Please pull the 'drm-fixes' branch from
ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-fixes

This larger than we wished patch, fixes a number of regressions reported.

1. vblank rework causes hangs on VT switch - fixes touches all drivers.
2. i915 irq/msi code had various issues on various hw - including a screaming
IRQ.
3. a suspend/resume regression on intel hw with DRI2 userspace.
4. A BUG_ON being hit.

Dave.

 drivers/gpu/drm/drm_drv.c            |    2 +
 drivers/gpu/drm/drm_irq.c            |    4 +-
 drivers/gpu/drm/i915/i915_dma.c      |    7 +
 drivers/gpu/drm/i915/i915_drv.h      |   11 ++
 drivers/gpu/drm/i915/i915_gem.c      |   74 +++++----
 drivers/gpu/drm/i915/i915_irq.c      |  293 ++++++++++++++++++----------------
 drivers/gpu/drm/i915/i915_opregion.c |   18 +--
 drivers/gpu/drm/i915/i915_suspend.c  |    6 +
 drivers/gpu/drm/mga/mga_dma.c        |    8 +
 drivers/gpu/drm/mga/mga_irq.c        |    5 -
 drivers/gpu/drm/r128/r128_drv.c      |    6 +
 drivers/gpu/drm/r128/r128_drv.h      |    1 +
 drivers/gpu/drm/r128/r128_irq.c      |    2 +-
 drivers/gpu/drm/radeon/radeon_cp.c   |    6 +
 drivers/gpu/drm/radeon/radeon_irq.c  |    5 -
 drivers/gpu/drm/via/via_irq.c        |    1 -
 drivers/gpu/drm/via/via_map.c        |   11 ++-
 include/drm/drmP.h                   |    1 +
 18 files changed, 262 insertions(+), 199 deletions(-)

commit 461cba2d294fe83297edf8a6556912812903dce1
Author: Peng Li <peng.li@intel.com>
Date:   Tue Nov 18 12:39:02 2008 +0800

    drm/i915: Save/restore HWS_PGA on suspend/resume
    
    It fixes suspend/resume failure of xf86-video-intel dri2
    branch. As dri2 branch doesn't call I830DRIResume() to restore
    hardware status page anymore, we need to preserve
    this register across suspend/resume.
    
    Signed-off-by: Peng Li <peng.li@intel.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 52440211dcdc52c0b757f8b34d122e11b12cdd50
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 18 09:30:25 2008 -0800

    drm: move drm vblank initialization/cleanup to driver load/unload
    
    drm vblank initialization keeps track of the changes in driver-supplied
    frame counts across vt switch and mode setting, but only if you let it by
    not tearing down the drm vblank structure.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 6133047aa64d2fd5b3b79dff74f696ded45615b2
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Nov 20 23:14:48 2008 -0800

    drm/i915: execbuffer pins objects, no need to ensure they're still in the GTT
    
    Before we had the notion of pinning objects, we had a kludge around to make
    sure all of the objects were still resident in the GTT before we committed
    to executing a batch buffer. We don't need this any longer, and it sticks an
    error return in the middle of object domain computations that must be
    associated with a subsequent flush/invalidate emmission into the ring.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 05eff845a28499762075d3a72e238a31f4d2407c
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Nov 19 14:03:05 2008 -0800

    drm/i915: Always read pipestat in irq_handler
    
    Because we write pipestat before iir, it's possible that a pipestat
    interrupt will occur between the pipestat write and the iir write. This
    leaves pipestat with an interrupt status not visible in iir. This may cause
    an interrupt flood as we never clear the pipestat event.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 2678d9d6964b29ecd1975870c7a850242b29bc5c
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Nov 20 22:54:54 2008 -0800

    drm/i915: Subtract total pinned bytes from available aperture size
    
    The old code was wandering through the active list looking for pinned
    buffers; there may be other pinned buffers around. Fortunately, we keep a
    count of the total amount of pinned memory and can use that instead.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 28dfe52a6e8a1495067c4331358700a170d0ee86
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Nov 13 15:00:55 2008 -0800

    drm/i915: Avoid BUG_ONs on VT switch with a wedged chipset.
    
    Instead, just warn that bad things are happening and do our best to clean up
    the mess without the GPU's help.
    
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit cdfbc41f6d602fc0105fb2b4e0645cc1aa274c12
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Nov 4 15:50:30 2008 -0800

    drm/i915: Remove IMR masking during interrupt handler, and restart it if needed.
    
    The IMR masking was a technique recommended for avoiding getting stuck with
    no interrupts generated again in MSI mode.  It kept new IIR bits from getting
    set between the IIR read and the IIR write, which would have otherwise
    prevented an MSI from ever getting generated again.  However, this caused a
    problem for vblank as the IMR mask would keep the pipe event interrupt from
    getting reflected in IIR, even after the IMR mask was brought back down.
    
    Instead, just check the state of IIR after we ack the interrupts we're going
    to handle, and restart if we didn't get IIR all the way to zero.
    
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 7c463586427bbbad726ba561bae4ba5acada2481
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Nov 4 02:03:27 2008 -0800

    drm/i915: Manage PIPESTAT to control vblank interrupts instead of IMR.
    
    The pipestat fields affect reporting of all vblank-related interrupts, so we
    have to reset them during the irq_handler, and while enabling vblank
    interrupts.  Otherwise, if a pipe status field had been set to non-zero
    before enabling reporting, we would never see an interrupt again.
    
    This patch adds i915_enable_pipestat and i915_disable_pipestat to abstract
    out the steps needed to change the reported interrupts.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

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

* Re: [git pull] drm fixes for 2.6.28 final
  2008-11-28  3:26 [git pull] drm fixes for 2.6.28 final Dave Airlie
@ 2008-11-28  4:25 ` Harvey Harrison
  2008-11-28  5:19 ` Jesse Barnes
  1 sibling, 0 replies; 6+ messages in thread
From: Harvey Harrison @ 2008-11-28  4:25 UTC (permalink / raw)
  To: Dave Airlie; +Cc: torvalds, Andrew Morton, dri-devel, linux-kernel

On Fri, 2008-11-28 at 03:26 +0000, Dave Airlie wrote:
> Hi Linus,
> 
> Please pull the 'drm-fixes' branch from
> ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-fixes
> 
> This larger than we wished patch, fixes a number of regressions reported.
> 
> 1. vblank rework causes hangs on VT switch - fixes touches all drivers.
> 2. i915 irq/msi code had various issues on various hw - including a screaming
> IRQ.
> 3. a suspend/resume regression on intel hw with DRI2 userspace.
> 4. A BUG_ON being hit.

I can confirm this fixes suspend/resume for me:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)

Thanks a lot guys.

Harvey


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

* Re: [git pull] drm fixes for 2.6.28 final
  2008-11-28  3:26 [git pull] drm fixes for 2.6.28 final Dave Airlie
  2008-11-28  4:25 ` Harvey Harrison
@ 2008-11-28  5:19 ` Jesse Barnes
  2008-11-29  0:20   ` Rafael J. Wysocki
  1 sibling, 1 reply; 6+ messages in thread
From: Jesse Barnes @ 2008-11-28  5:19 UTC (permalink / raw)
  To: dri-devel; +Cc: Dave Airlie, torvalds, Andrew Morton, linux-kernel, dri-devel

On Thursday, November 27, 2008 7:26 pm Dave Airlie wrote:
> Hi Linus,
>
> Please pull the 'drm-fixes' branch from
> ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
> drm-fixes
>
> This larger than we wished patch, fixes a number of regressions reported.
>
> 1. vblank rework causes hangs on VT switch - fixes touches all drivers.

To clarify here, only one userspace driver was actually silly enough to 
disable IRQs at VT leave time, xf86-video-intel.  But the DRM fix applies to 
all drivers just to be on the safe side.  It's a bit invasive, but ultimately 
a bit safer than leaving things.


-- 
Jesse Barnes, Intel Open Source Technology Center


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

* Re: [git pull] drm fixes for 2.6.28 final
  2008-11-28  5:19 ` Jesse Barnes
@ 2008-11-29  0:20   ` Rafael J. Wysocki
  2008-11-29 15:06     ` Rafael J. Wysocki
  0 siblings, 1 reply; 6+ messages in thread
From: Rafael J. Wysocki @ 2008-11-29  0:20 UTC (permalink / raw)
  To: Jesse Barnes
  Cc: dri-devel, Dave Airlie, torvalds, Andrew Morton, linux-kernel,
	dri-devel

On Friday, 28 of November 2008, Jesse Barnes wrote:
> On Thursday, November 27, 2008 7:26 pm Dave Airlie wrote:
> > Hi Linus,
> >
> > Please pull the 'drm-fixes' branch from
> > ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
> > drm-fixes
> >
> > This larger than we wished patch, fixes a number of regressions reported.
> >
> > 1. vblank rework causes hangs on VT switch - fixes touches all drivers.
> 
> To clarify here, only one userspace driver was actually silly enough to 
> disable IRQs at VT leave time, xf86-video-intel.  But the DRM fix applies to 
> all drivers just to be on the safe side.  It's a bit invasive, but ultimately 
> a bit safer than leaving things.

The patches from this push fix suspend on the Toshiba Portege R500, but
resume from hibernation is still broken.  It works in the minimal configuration
(init=/bin/bash) 100% of the time.  It also sort of works from the console, but
then the second attempt to hibernate fails because some tasks cannot be
frozen.

2.6.27.7 hibernates and resumes on the same box 100% of the time, from X too.

I'll carry out bisection in the next few days.

Thanks,
Rafael

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

* Re: [git pull] drm fixes for 2.6.28 final
  2008-11-29  0:20   ` Rafael J. Wysocki
@ 2008-11-29 15:06     ` Rafael J. Wysocki
  0 siblings, 0 replies; 6+ messages in thread
From: Rafael J. Wysocki @ 2008-11-29 15:06 UTC (permalink / raw)
  To: Jesse Barnes
  Cc: dri-devel, Dave Airlie, torvalds, Andrew Morton, linux-kernel,
	Takashi Iwai

On Saturday, 29 of November 2008, Rafael J. Wysocki wrote:
> On Friday, 28 of November 2008, Jesse Barnes wrote:
> > On Thursday, November 27, 2008 7:26 pm Dave Airlie wrote:
> > > Hi Linus,
> > >
> > > Please pull the 'drm-fixes' branch from
> > > ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
> > > drm-fixes
> > >
> > > This larger than we wished patch, fixes a number of regressions reported.
> > >
> > > 1. vblank rework causes hangs on VT switch - fixes touches all drivers.
> > 
> > To clarify here, only one userspace driver was actually silly enough to 
> > disable IRQs at VT leave time, xf86-video-intel.  But the DRM fix applies to 
> > all drivers just to be on the safe side.  It's a bit invasive, but ultimately 
> > a bit safer than leaving things.
> 
> The patches from this push fix suspend on the Toshiba Portege R500, but
> resume from hibernation is still broken.  It works in the minimal configuration
> (init=/bin/bash) 100% of the time.  It also sort of works from the console, but
> then the second attempt to hibernate fails because some tasks cannot be
> frozen.
> 
> 2.6.27.7 hibernates and resumes on the same box 100% of the time, from X too.
> 
> I'll carry out bisection in the next few days.

OK, most probably the hibernation issue is related to ALSA, as hibernation works
100% of the time with snd_hda_intel unloaded.

I've filed http://bugzilla.kernel.org/show_bug.cgi?id=12121 for this problem.

Thanks,
Rafael

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

* [git pull] drm fixes for 2.6.28 final
@ 2008-12-09  5:46 Dave Airlie
  0 siblings, 0 replies; 6+ messages in thread
From: Dave Airlie @ 2008-12-09  5:46 UTC (permalink / raw)
  To: torvalds, Andrew Morton; +Cc: linux-kernel


Hi Linus,

Please pull the 'drm-fixes' branch from
ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-fixes

Radeon had an oops due to the vblank rework reported on-list,
and Intel have two fixes one to use MSI on the 965GM and one to avoid
corrupt rendering.

Dave.

 drivers/gpu/drm/i915/i915_dma.c     |    5 +++--
 drivers/gpu/drm/i915/i915_gem.c     |    2 ++
 drivers/gpu/drm/radeon/radeon_drv.h |    1 -
 drivers/gpu/drm/radeon/radeon_irq.c |    8 ++++----
 4 files changed, 9 insertions(+), 7 deletions(-)

commit b60678a75d44fa9d5969f79781bd856ad5858609
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 8 11:12:28 2008 -0800

    drm/i915: Disable the GM965 MSI errata workaround.
    
    Since applying the fix suggested by the errata (disabling MSI), we've had
    issues with interrupts being stuck on despite IIR being 0 on GM965 hardware.
    Most reporters of the issue have confirmed that turning MSI back on fixes
    things, and given the difficulties experienced in getting reliable MSI working
    on Linux, it's believable that the errata was about software issues and not
    actual hardware issues.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 15c35334c9b7a11f66ddf7fea9367884e1f5414f
Author: Owain Ainsworth <zerooa@googlemail.com>
Date:   Sat Dec 6 20:42:20 2008 -0800

    drm/i915: Don't return error in evict_everything when we get to the end.
    
    Returning -ENOMEM errored all the way out of execbuf, so the rendering never
    occurred.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit fae7043c65d65f3e5b34bac4431c6ccc49190c41
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Dec 9 15:30:50 2008 +1000

    drm/radeon: don't actually enable the IRQ regs until irq is enabled
    
    vblank can try and enable the IRQ registers before we've set the interrupt
    handler up.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

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

end of thread, other threads:[~2008-12-09  5:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-28  3:26 [git pull] drm fixes for 2.6.28 final Dave Airlie
2008-11-28  4:25 ` Harvey Harrison
2008-11-28  5:19 ` Jesse Barnes
2008-11-29  0:20   ` Rafael J. Wysocki
2008-11-29 15:06     ` Rafael J. Wysocki
  -- strict thread matches above, loose matches on Subject: below --
2008-12-09  5:46 Dave Airlie

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.