* [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.