i915/kms/backlight-combo mode problem (was: Re: Linux 2.6.39-rc5)
* Takashi Iwai -- Friday 29 April 2011: [https://bugzilla.kernel.org/show_bug.cgi?id=31522] > Looking at bugzilla, the problem seems like the case lbpc=0. > What about the patch below instead? > - val *= lbpc; > + if (lbpc) > + val *= lbpc; Yes, that works as well. (I had assumed that this was the problem, but wasn't sure if a zero was even a legitimate value, or rather a sign for a problem or wrong assumption elsewhere.) m.
[Bug 36596] Major 2D performance bottleneck (most noticeable with compiz)
https://bugs.freedesktop.org/show_bug.cgi?id=36596 --- Comment #8 from Jason Cassell 2011-04-29 22:03:01 PDT --- Created an attachment (id=46180) --> (https://bugs.freedesktop.org/attachment.cgi?id=46180) dmesg output -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug.
[Bug 36596] Major 2D performance bottleneck (most noticeable with compiz)
https://bugs.freedesktop.org/show_bug.cgi?id=36596 --- Comment #7 from Jason Cassell 2011-04-29 22:02:20 PDT --- Compiz's sync to vblank option was already off. Turning it on hung compiz, and I had to switch to a VT and kill -9 it. That reminds me, with the gallium drivers I have to have vblank_mode set to something in .drirc, otherwise everything using OpenGL hangs. With the classic drivers I didn't even need a .drirc. vblank_mode is currently set to 1. Turning off EnablePageFlip and/or SwapbuffersWait doesn't help. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug.
i915/kms/backlight-combo mode problem (was: Re: Linux 2.6.39-rc5)
At Fri, 29 Apr 2011 19:41:53 +0200, Melchior FRANZ wrote: > > * Takashi Iwai -- Friday 29 April 2011: > > Melchior FRANZ wrote: > > > The bug was introduced with commit > > > ba3820ade317ee36e496b9b40d2ec3987dd4aef0 > > > [...] when using KMS my notebook's[2] screen remains dark, because the > > > backlight isn't turned on. > > > Could you check whether the patch below changes the behavior? > > If this cures, it means that the backlight-combo mode doesn't work on > > your machine. > > Yes, that works. (Test was with fafc9929c668f8bae6dd1f109f33a86d2cb3c460, > which is current HEAD.) Looking at bugzilla, the problem seems like the case lbpc=0. What about the patch below instead? Takashi --- diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index a06ff07..ba60218 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@ -207,7 +207,8 @@ u32 intel_panel_get_backlight(struct drm_device *dev) val &= ~1; pci_read_config_byte(dev->pdev, PCI_LBPC, ); - val *= lbpc; + if (lbpc) + val *= lbpc; } }
i915/kms/backlight-combo mode problem (was: Re: Linux 2.6.39-rc5)
* Takashi Iwai -- Friday 29 April 2011: > Melchior FRANZ wrote: > > The bug was introduced with commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 > > [...] when using KMS my notebook's[2] screen remains dark, because the > > backlight isn't turned on. > Could you check whether the patch below changes the behavior? > If this cures, it means that the backlight-combo mode doesn't work on > your machine. Yes, that works. (Test was with fafc9929c668f8bae6dd1f109f33a86d2cb3c460, which is current HEAD.) m.
Linux 2.6.39-rc5
At Fri, 29 Apr 2011 17:58:06 +0200, Melchior FRANZ wrote: > > * Linus Torvalds -- Wednesday 27 April 2011: > > Go forth and test, > > Doesn't work on my notebook with i915/KMS. But then again, neither did > 2.6.38 or any of its stable releases. The last working version was > 2.6.38-rc8. The problem has been reported[1], but the bug got closed > in the wrong assumption that the bug is fixed. I reported that, too. > No reactions to that. > > The bug was introduced with commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 > by Takashi Iwai. The result is that when using KMS my notebook's[2] screen > remains dark, because the backlight isn't turned on. > > Reverting commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 makes my > notebook work correctly again as it used to in 2.6.38-rc8 and before. Could you check whether the patch below changes the behavior? If this cures, it means that the backlight-combo mode doesn't work on your machine. Takashi --- diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index a06ff07..bf61e02 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@ -116,11 +116,13 @@ static int is_backlight_combination_mode(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; +#if 0 if (INTEL_INFO(dev)->gen >= 4) return I915_READ(BLC_PWM_CTL2) & BLM_COMBINATION_MODE; if (IS_GEN2(dev)) return I915_READ(BLC_PWM_CTL) & BLM_LEGACY_MODE; +#endif return 0; }
Linux 2.6.39-rc5
* Linus Torvalds -- Wednesday 27 April 2011: > Go forth and test, Doesn't work on my notebook with i915/KMS. But then again, neither did 2.6.38 or any of its stable releases. The last working version was 2.6.38-rc8. The problem has been reported[1], but the bug got closed in the wrong assumption that the bug is fixed. I reported that, too. No reactions to that. The bug was introduced with commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 by Takashi Iwai. The result is that when using KMS my notebook's[2] screen remains dark, because the backlight isn't turned on. Reverting commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 makes my notebook work correctly again as it used to in 2.6.38-rc8 and before. m. [1] https://bugzilla.kernel.org/show_bug.cgi?id=31522 [2] Acer TravelMate 5735Z-452G32Mnss, using Intel GM45
[PATCH] fix mesa tarball creation again
On 04/28/2011 12:38 AM, Thierry Vignaud wrote: > On 19 April 2011 16:35, Brian wrote: Pushed, thanks. >>> >>> Can you know commit this one that fixes missing files in the generated >>> tarball >>> so that one can build mesa out of the tarball? >>> Thx >> >> I'll commit it soon. Thanks. > > Hi > The following patch fix tarball creation again (removed files and one > missing Makefile) Thanks. I'll commit it soon. -Brian
[PATCH] drm: Factor-out drm_emit_vblank_event code. (v2)
On Fri, Apr 29, 2011 at 01:57:10PM +1000, christopher.halse.rogers at canonical.com wrote: > From: Christopher James Halse Rogers canonical.com> > > v2: Also pull out the drm_vblank_put call. > Signed-off-by: Christopher James Halse Rogers canonical.com> > --- > drivers/gpu/drm/drm_irq.c | 44 ++-- > 1 files changed, 18 insertions(+), 26 deletions(-) > > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c > index 982ca8c..da56685 100644 > --- a/drivers/gpu/drm/drm_irq.c > +++ b/drivers/gpu/drm/drm_irq.c > @@ -931,6 +931,20 @@ void drm_vblank_put(struct drm_device *dev, int crtc) > } > EXPORT_SYMBOL(drm_vblank_put); > > +static void drm_emit_vblank_event (struct drm_device *dev, > +struct drm_pending_vblank_event *e, > +unsigned int seq, struct timeval *now) > +{ > + e->event.sequence = seq; > + e->event.tv_sec = now->tv_sec; > + e->event.tv_usec = now->tv_usec; > + drm_vblank_put(dev, e->pipe); > + list_move_tail(>base.link, >base.file_priv->event_list); > + wake_up_interruptible(>base.file_priv->event_wait); > + trace_drm_vblank_event_delivered(e->base.pid, e->pipe, > + e->event.sequence); > +} > + > void drm_vblank_off(struct drm_device *dev, int crtc) > { > struct drm_pending_vblank_event *e, *t; > @@ -951,14 +965,7 @@ void drm_vblank_off(struct drm_device *dev, int crtc) > wanted %d, current %d\n", > e->event.sequence, seq); > > - e->event.sequence = seq; > - e->event.tv_sec = now.tv_sec; > - e->event.tv_usec = now.tv_usec; > - drm_vblank_put(dev, e->pipe); > - list_move_tail(>base.link, >base.file_priv->event_list); > - wake_up_interruptible(>base.file_priv->event_wait); > - trace_drm_vblank_event_delivered(e->base.pid, e->pipe, > - e->event.sequence); > + drm_emit_vblank_event(dev, e, seq, ); > } > > WARN_ON(atomic_read(>vblank_refcount[crtc]) != 0); > @@ -1104,18 +,10 @@ static int drm_queue_vblank_event(struct drm_device > *dev, int pipe, > vblwait->request.sequence); > > e->event.sequence = vblwait->request.sequence; > + list_add_tail(>base.link, >vblank_event_list); Is >vblank_event_list == >base.file_priv->event_list? If they are not equal this is changing the behavior... > if ((seq - vblwait->request.sequence) <= (1 << 23)) { > - e->event.sequence = seq; > - e->event.tv_sec = now.tv_sec; > - e->event.tv_usec = now.tv_usec; > - drm_vblank_put(dev, pipe); > - list_add_tail(>base.link, >base.file_priv->event_list); > - wake_up_interruptible(>base.file_priv->event_wait); > - vblwait->reply.sequence = seq; Is it OK to drop this substitution? > - trace_drm_vblank_event_delivered(current->pid, pipe, > - vblwait->request.sequence); > + drm_emit_vblank_event(dev, e, seq, ); > } else { > - list_add_tail(>base.link, >vblank_event_list); > vblwait->reply.sequence = vblwait->request.sequence; > } > > @@ -1249,14 +1248,7 @@ void drm_handle_vblank_events(struct drm_device *dev, > int crtc) > DRM_DEBUG("vblank event on %d, current %d\n", > e->event.sequence, seq); > > - e->event.sequence = seq; > - e->event.tv_sec = now.tv_sec; > - e->event.tv_usec = now.tv_usec; > - drm_vblank_put(dev, e->pipe); > - list_move_tail(>base.link, >base.file_priv->event_list); > - wake_up_interruptible(>base.file_priv->event_wait); > - trace_drm_vblank_event_delivered(e->base.pid, e->pipe, > - e->event.sequence); > + drm_emit_vblank_event(dev, e, seq, ); > } > > spin_unlock_irqrestore(>event_lock, flags); > --
[Bug 34082] Incorrect / missing device id in radeon_atombios.c
https://bugzilla.kernel.org/show_bug.cgi?id=34082 --- Comment #2 from Alex Deucher 2011-04-29 16:20:38 --- Created an attachment (id=55902) --> (https://bugzilla.kernel.org/attachment.cgi?id=55902) just add the new id to the existing quirk Here's the patch I'll be sending to Dave. Thanks! -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 34102] radeon drm/kms: please use suspend/hibernate notifiers for allocating memory in suspend routines
https://bugzilla.kernel.org/show_bug.cgi?id=34102 Martin Steigerwald changed: What|Removed |Added Summary|radeon drm/kms driver: |radeon drm/kms: please use |please use |suspend/hibernate notifiers |suspend/hibernate notifiers |for allocating memory in |for allocating memory in|suspend routines |suspend routines| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 34102] New: radeon drm/kms driver: please use suspend/hibernate notifiers for allocating memory in suspend routines
https://bugzilla.kernel.org/show_bug.cgi?id=34102 Summary: radeon drm/kms driver: please use suspend/hibernate notifiers for allocating memory in suspend routines Product: Drivers Version: 2.5 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI - non Intel) AssignedTo: drivers_video-dri at kernel-bugs.osdl.org ReportedBy: Martin at Lichtvoll.de Regression: Yes I have the issue that since switching to Radeon KMS neither in-kernel-suspend nor TuxOnIce - that I do not use anymore currently - hibernation aborts due to lack of free memory when I have more than just 2-3 applications open although I have 2 GB of RAM in my ThinkPad T42. For further details please see: Bug #30482 - try harder to free enough memory / improve image size autotuning According to Rafael "The problem is a consequence of bugs in device drivers that shouldn't allocate memory in their suspend/resume routines _at_ _all_. So, a more fundamental fix would be to modify drivers so that they use suspend/hibernate notifiers for allocating memory. IOW, you should complain to the developers of the drivers that cause problems to happen." (see https://bugzilla.kernel.org/show_bug.cgi?id=30482#c7) While I am not completely sure that it is the Radeon DRM/KMS driver allocating memory additionally memory during hibernation cycle having this issue since switching to KMS points at that. Currently I am using 2.6.38.4 with gallium userspace: martin at shambhala:~> glxinfo | grep OpenGL OpenGL vendor string: X.Org R300 Project OpenGL renderer string: Gallium 0.4 on ATI RV350 OpenGL version string: 2.1 Mesa 7.10.2 OpenGL shading language version string: 1.20 OpenGL extensions: martin at shambhala:~> xdpyinfo | grep version version number:11.0 X.Org version: 1.10.1 but this happened with earlier versions as well. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[RFC] swap event handling fixes
On Thu, 28 Apr 2011 13:27:18 -0700 Jesse Barnes wrote: > I obviously failed to count the swap event structure size after adding > and removing fields a few times, and didn't even account for padding. The > end result is that clients today won't receive the sbc_lo field at all, > and so will likely stuff junk into that field on the client side (or > zero at best). > > This patchset fixes up the structure definitions, bumps the proto > levels, and adds server and client handling code for it all. It should > be forward and backward compatible, but as always review and testing > appreciated. > > I think the event_type checking on the client side still needs work; > the field is split now so I need to check the right one on old servers. > I'll also add swap support for the new requests in case people ever want > to run this stuff between big and little endian machines. Btw, I've been trying to test these fixes but I can't make the existing code break; I'm getting a nicely incrementing sbc count using the piglit event test (after adding some code to dump the swap event fields), so somehow the bits are getting through. I just don't know how yet... -- Jesse Barnes, Intel Open Source Technology Center
[Bug 36696] New: Kwin desktop cube crashes when I press Ctrl+F11
https://bugs.freedesktop.org/show_bug.cgi?id=36696 Summary: Kwin desktop cube crashes when I press Ctrl+F11 Product: Mesa Version: git Platform: x86-64 (AMD64) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r600 AssignedTo: dri-devel at lists.freedesktop.org ReportedBy: ryanfarmer at gmx.co.uk When I press Ctrl+F11 to enter the kwin desktop cube, kwin crashes and immediately recovers giving the information at the bottom of this report. Also, when I select the option to automatically rotate the cube when dragging a window to a screen edge, the cube sort of half-rotates and then sticks there. This has been an issue with recent git versions of Mesa/r600g for probably a week, I just haven't gotten around to reporting it. Currently I am using the X/Mesa stack from the Ubuntu Xorg-Edgers PPA on Kubuntu 11.04 with KDE 4.6.2. I have a custom kernel which is currently based on Linux 2.6.39-rc5-git2, it has the latest drm-next patches added to it. Application: KWin (kwin), signal: Segmentation fault [Current thread is 1 (Thread 0x7f7ed185a7a0 (LWP 1878))] Thread 3 (Thread 0x7f7eb07fe700 (LWP 1884)): #0 0x7f7ed10a5143 in select () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x7f7ecd4a632c in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/libQtCore.so.4 #2 0x7f7ecd4ab3d0 in QEventDispatcherUNIXPrivate::doSelect(QFlags, timeval*) () from /usr/lib/libQtCore.so.4 #3 0x7f7ecd4ac04a in QEventDispatcherUNIX::processEvents(QFlags) () from /usr/lib/libQtCore.so.4 #4 0x7f7ecd47d882 in QEventLoop::processEvents(QFlags) () from /usr/lib/libQtCore.so.4 #5 0x7f7ecd47dabc in QEventLoop::exec(QFlags) () from /usr/lib/libQtCore.so.4 #6 0x7f7ecd394924 in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x7f7ecd45fc2f in ?? () from /usr/lib/libQtCore.so.4 #8 0x7f7ecd397175 in ?? () from /usr/lib/libQtCore.so.4 #9 0x7f7ec7a8ad8c in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #10 0x7f7ed10ad04d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #11 0x in ?? () Thread 2 (Thread 0x7f7eaffed700 (LWP 1885)): #0 0x7f7ec7a8fbac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x7f7ecff0c2a2 in ?? () from /usr/lib/libQtScript.so.4 #2 0x7f7ecff0c2d9 in ?? () from /usr/lib/libQtScript.so.4 #3 0x7f7ec7a8ad8c in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #4 0x7f7ed10ad04d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #5 0x in ?? () Thread 1 (Thread 0x7f7ed185a7a0 (LWP 1878)): [KCrash Handler] #6 0x7f7eb8470ba5 in ?? () from /usr/lib/dri/r600_dri.so #7 0x7f7eb83952f0 in ?? () from /usr/lib/dri/r600_dri.so #8 0x7f7eb83984a2 in ?? () from /usr/lib/dri/r600_dri.so #9 0x7f7eb283f91a in ?? () from /usr/lib/kde4/kwin4_effect_builtins.so #10 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #11 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () from /usr/lib/libkwineffects.so.1 #12 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #13 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () from /usr/lib/libkwineffects.so.1 #14 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #15 0x7f7eb2837d86 in ?? () from /usr/lib/kde4/kwin4_effect_builtins.so #16 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #17 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () from /usr/lib/libkwineffects.so.1 #18 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #19 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () from /usr/lib/libkwineffects.so.1 #20 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #21 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () from /usr/lib/libkwineffects.so.1 #22 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #23 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () from /usr/lib/libkwineffects.so.1 #24 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #25 0x7f7ed141b0af in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #26 0x7f7ed142eef3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #27 0x7f7ed1416396 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #28 0x7f7ecd4921c9 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #29 0x7f7ecc83f9e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #30 0x7f7ecc8443aa in
[Bug 36525] Enemy territory freezes system with r600g.
https://bugs.freedesktop.org/show_bug.cgi?id=36525 --- Comment #2 from Jussi Kiiveri 2011-04-29 13:59:34 PDT --- (In reply to comment #1) > Created an attachment (id=46152) View: https://bugs.freedesktop.org/attachment.cgi?id=46152 Review: https://bugs.freedesktop.org/review?bug=36525=46152 > possible fix > > Does this patch fix the problem? Nope. It still froze. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug.
[PATCH] drm: Factor-out drm_emit_vblank_event code. (v2)
From: Christopher James Halse Rogersv2: Also pull out the drm_vblank_put call. Signed-off-by: Christopher James Halse Rogers --- drivers/gpu/drm/drm_irq.c | 44 ++-- 1 files changed, 18 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 982ca8c..da56685 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -931,6 +931,20 @@ void drm_vblank_put(struct drm_device *dev, int crtc) } EXPORT_SYMBOL(drm_vblank_put); +static void drm_emit_vblank_event (struct drm_device *dev, + struct drm_pending_vblank_event *e, + unsigned int seq, struct timeval *now) +{ + e->event.sequence = seq; + e->event.tv_sec = now->tv_sec; + e->event.tv_usec = now->tv_usec; + drm_vblank_put(dev, e->pipe); + list_move_tail(>base.link, >base.file_priv->event_list); + wake_up_interruptible(>base.file_priv->event_wait); + trace_drm_vblank_event_delivered(e->base.pid, e->pipe, +e->event.sequence); +} + void drm_vblank_off(struct drm_device *dev, int crtc) { struct drm_pending_vblank_event *e, *t; @@ -951,14 +965,7 @@ void drm_vblank_off(struct drm_device *dev, int crtc) wanted %d, current %d\n", e->event.sequence, seq); - e->event.sequence = seq; - e->event.tv_sec = now.tv_sec; - e->event.tv_usec = now.tv_usec; - drm_vblank_put(dev, e->pipe); - list_move_tail(>base.link, >base.file_priv->event_list); - wake_up_interruptible(>base.file_priv->event_wait); - trace_drm_vblank_event_delivered(e->base.pid, e->pipe, -e->event.sequence); + drm_emit_vblank_event(dev, e, seq, ); } WARN_ON(atomic_read(>vblank_refcount[crtc]) != 0); @@ -1104,18 +,10 @@ static int drm_queue_vblank_event(struct drm_device *dev, int pipe, vblwait->request.sequence); e->event.sequence = vblwait->request.sequence; + list_add_tail(>base.link, >vblank_event_list); if ((seq - vblwait->request.sequence) <= (1 << 23)) { - e->event.sequence = seq; - e->event.tv_sec = now.tv_sec; - e->event.tv_usec = now.tv_usec; - drm_vblank_put(dev, pipe); - list_add_tail(>base.link, >base.file_priv->event_list); - wake_up_interruptible(>base.file_priv->event_wait); - vblwait->reply.sequence = seq; - trace_drm_vblank_event_delivered(current->pid, pipe, -vblwait->request.sequence); + drm_emit_vblank_event(dev, e, seq, ); } else { - list_add_tail(>base.link, >vblank_event_list); vblwait->reply.sequence = vblwait->request.sequence; } @@ -1249,14 +1248,7 @@ void drm_handle_vblank_events(struct drm_device *dev, int crtc) DRM_DEBUG("vblank event on %d, current %d\n", e->event.sequence, seq); - e->event.sequence = seq; - e->event.tv_sec = now.tv_sec; - e->event.tv_usec = now.tv_usec; - drm_vblank_put(dev, e->pipe); - list_move_tail(>base.link, >base.file_priv->event_list); - wake_up_interruptible(>base.file_priv->event_wait); - trace_drm_vblank_event_delivered(e->base.pid, e->pipe, -e->event.sequence); + drm_emit_vblank_event(dev, e, seq, ); } spin_unlock_irqrestore(>event_lock, flags); -- 1.7.4.1
[Bug 34082] Incorrect / missing device id in radeon_atombios.c
https://bugzilla.kernel.org/show_bug.cgi?id=34082 --- Comment #1 from Sampo Laaksonen 2011-04-29 10:02:26 --- Created an attachment (id=55892) --> (https://bugzilla.kernel.org/attachment.cgi?id=55892) Oops. Should have attached the patch instead of copy/paste. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
ApiTrace: OpenGL tracer, analyzer, debugger, replayer..
Hello, This might be an interesting tool for dri/driver developers.. from opengl.org: "New OpenGL tracer, analyzer and debugger: ApiTrace is a brand new project to trace, replay, analyze and debug graphics APIs. Using it you can inspect the OpenGL state frame by frame, call by call. You can analyze every shader, every texture, every buffer. You can also edit the trace itself and see the effects it would have on rendering in real-time." http://zrusin.blogspot.com/2011/04/apitrace.html "As a driver developer you no longer have to install all the games just to debug a problem, the report can simply include a short trace which you can use to immediately figure out what's wrong. As an application developer you can inspect every graphics call your app makes, you can analyze your api usage and you could automatically produce standalone testcases which you can send to driver developers." See the blog post for more info. -- Pasi
[Bug 34082] New: Incorrect / missing device id in radeon_atombios.c
https://bugzilla.kernel.org/show_bug.cgi?id=34082 Summary: Incorrect / missing device id in radeon_atombios.c Product: Drivers Version: 2.5 Kernel Version: 2.6.38+ Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI - non Intel) AssignedTo: drivers_video-dri at kernel-bugs.osdl.org ReportedBy: zhamahn at gmail.com Regression: No I have an Acer TravelMate 5730, and the scenario described around line 434 in radeon_atombios.c applies to this model as well. The problem is that the 5730 has a different device id than 5730G (at least my machine has). Changing the relevant id from 0x95c4 to 0x9591 fixes everything for me. Without changing the id, HDMI output works only if I turn it off with xrandr and then use DVI (which this laptop doesn't have) and it doesn't even work that well then, I also get lots of invalid EDID spam in dmesg. ... Apr 28 23:00:26 localhost kernel: [ 3476.326407] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID Apr 28 23:02:19 localhost kernel: [ 3589.819736] [drm:radeon_dvi_detect] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID Apr 28 23:04:02 localhost kernel: [ 3692.619727] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID Apr 28 23:05:24 localhost kernel: [ 3774.783055] [drm:radeon_dvi_detect] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID ... This patch fixes the problems mentioned above. It just copies the entry for 5730G and changes the device id. diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index f5d12fb..d706df5 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c @@ -451,6 +451,18 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev, } } + /* Same as above, but for Acer Travelmate 5730 */ +if ((dev->pdev->device == 0x9591) && +(dev->pdev->subsystem_vendor == 0x1025) && +(dev->pdev->subsystem_device == 0x013c)) { +if ((*connector_type == DRM_MODE_CONNECTOR_DVII) && +(supported_device == ATOM_DEVICE_DFP1_SUPPORT)) { +/* actually it's a DVI-D port not DVI-I */ +*connector_type = DRM_MODE_CONNECTOR_DVID; +return false; +} +} + /* XFX Pine Group device rv730 reports no VGA DDC lines * even though they are wired up to record 0x93 */ -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish changed: What|Removed |Added Attachment #55382|text/x-log |text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish changed: What|Removed |Added Attachment #55621|application/octet-stream|text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish changed: What|Removed |Added Attachment #55631|text/x-log |text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish changed: What|Removed |Added Attachment #55641|application/octet-stream|text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish changed: What|Removed |Added Attachment #55882|application/octet-stream|text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 --- Comment #7 from Vish 2011-04-29 09:25:51 --- Created an attachment (id=55882) --> (https://bugzilla.kernel.org/attachment.cgi?id=55882) Syslog-e Attaching the syslog when X froze while scrolling in evince -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list Dri-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
linux-next: Tree for April 29 (gpu/drm)
On Fri, 29 Apr 2011 13:19:40 +1000 Stephen Rothwell wrote: > Hi all, > > Changes since 20110428: ERROR: "fb_mode_option" [drivers/gpu/drm/drm.ko] undefined! randconfig file is attached. --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** -- next part -- A non-text attachment was scrubbed... Name: config-r6607 Type: application/octet-stream Size: 44580 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20110429/dd813818/attachment-0001.obj>
[PATCH] DRI2/GLX: fix swap event handling
On Thu, Apr 28, 2011 at 13:27:22 -0700, Jesse Barnes wrote: > diff --git a/glx/glxdri2.c b/glx/glxdri2.c > index d979717..654b4ae 100644 > --- a/glx/glxdri2.c > +++ b/glx/glxdri2.c > @@ -192,8 +192,17 @@ __glXdriSwapEvent(ClientPtr client, void *data, int > type, CARD64 ust, > wire.ust_lo = ust & 0x; > wire.msc_hi = msc >> 32; > wire.msc_lo = msc & 0x; > -wire.sbc_hi = sbc >> 32; > -wire.sbc_lo = sbc & 0x; > +wire.sbc_hi = 0; > + > +if (DRI2ClientSupportsSBC(client)) { > + wire.sbc_lo0 = sbc & 0xff; > + wire.sbc_lo8 = (sbc >> 8) & 0xff; > + wire.sbc_lo16 = (sbc >> 16) & 0xff; This one should be wire.sbc_lo16 = (sbc >> 16) & 0x; > +} else { > + wire.sbc_lo0 = 0; > + wire.sbc_lo8 = 0; > + wire.sbc_lo16 = 0; > +} > > WriteEventsToClient(client, 1, (xEvent *) ); > } Also I think big endian clients (when built against the old protocol header) will expect the low byte of event_type where you now have sbc_lo8, so you would need to swap them. Same for the dri2 event. [...] > diff --git a/include/protocol-versions.h b/include/protocol-versions.h > index 8692ded..8fde917 100644 > --- a/include/protocol-versions.h > +++ b/include/protocol-versions.h > @@ -57,7 +57,7 @@ > > /* GLX */ > #define SERVER_GLX_MAJOR_VERSION 1 > -#define SERVER_GLX_MINOR_VERSION 4 > +#define SERVER_GLX_MINOR_VERSION 5 > Do we get to bump the GLX protocol version? Somehow I thought that was khronos business. > /* Xinerama */ > #define SERVER_PANORAMIX_MAJOR_VERSION 1 Cheers, Julien
[PATCH 2/2] libdrm: add plane handling functions & structs
--- include/drm/drm.h |7 +- include/drm/drm_mode.h | 33 +++ xf86drmMode.c | 148 xf86drmMode.h | 29 + 4 files changed, 201 insertions(+), 16 deletions(-) diff --git a/include/drm/drm.h b/include/drm/drm.h index cd384f2..bb2dea8 100644 --- a/include/drm/drm.h +++ b/include/drm/drm.h @@ -718,9 +718,10 @@ struct drm_get_cap { #define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, struct drm_mode_create_dumb) #define DRM_IOCTL_MODE_MAP_DUMBDRM_IOWR(0xB3, struct drm_mode_map_dumb) #define DRM_IOCTL_MODE_DESTROY_DUMBDRM_IOWR(0xB4, struct drm_mode_destroy_dumb) -#define DRM_IOCTL_MODE_GETOVERLAYRESOURCES DRM_IOWR(0xB5, struct drm_mode_get_overlay_res) -#define DRM_IOCTL_MODE_GETOVERLAY DRM_IOWR(0xB6, struct drm_mode_get_overlay) -#define DRM_IOCTL_MODE_SETOVERLAY DRM_IOWR(0xB7, struct drm_mode_set_overlay) +#define DRM_IOCTL_MODE_GETPLANERESOURCES DRM_IOWR(0xB5, struct drm_mode_get_plane_res) +#define DRM_IOCTL_MODE_GETPLANEDRM_IOWR(0xB6, struct drm_mode_get_plane) +#define DRM_IOCTL_MODE_SETPLANEDRM_IOWR(0xB7, struct drm_mode_set_plane) +#define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, struct drm_mode_fb_cmd2) /** * Device specific ioctls should only be in their respective headers diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h index 349052a..4c5f01f 100644 --- a/include/drm/drm_mode.h +++ b/include/drm/drm_mode.h @@ -120,14 +120,9 @@ struct drm_mode_crtc { struct drm_mode_modeinfo mode; }; -#define DRM_MODE_OVERLAY_FORMAT_YUV422 1 /* YUV 4:2:2 packed */ -#define DRM_MODE_OVERLAY_FORMAT_RGBX101010 2 /* RGB 10bpc, ign. alpha */ -#define DRM_MODE_OVERLAY_FORMAT_RGBX8883 /* Standard x:8:8:8 RGB */ -#define DRM_MODE_OVERLAY_FORMAT_RGBX161616 4 /* x:16:16:16 float RGB */ - -/* Overlays blend with or override other bits on the CRTC */ -struct drm_mode_set_overlay { - __u32 overlay_id; +/* Planes blend with or override other bits on the CRTC */ +struct drm_mode_set_plane { + __u32 plane_id; __u32 crtc_id; __u32 fb_id; /* contains surface format type */ @@ -137,9 +132,9 @@ struct drm_mode_set_overlay { /* FIXME: color key/mask, scaling, z-order, other? */ }; -struct drm_mode_get_overlay { +struct drm_mode_get_plane { __u64 format_type_ptr; - __u32 overlay_id; + __u32 plane_id; __u32 crtc_id; __u32 fb_id; @@ -154,9 +149,9 @@ struct drm_mode_get_overlay { }; -struct drm_mode_get_overlay_res { - __u64 overlay_id_ptr; - __u32 count_overlays; +struct drm_mode_get_plane_res { + __u64 plane_id_ptr; + __u32 count_planes; }; #define DRM_MODE_ENCODER_NONE 0 @@ -268,6 +263,18 @@ struct drm_mode_fb_cmd { __u32 handle; }; +/* For addfb2 ioctl, contains format info */ +struct drm_mode_fb_cmd2 { + __u32 fb_id; + __u32 width, height; + __u32 pitch; + __u32 bpp; + __u32 depth; + __u32 pixel_format; /* fourcc code from videodev2.h */ + /* driver specific handle */ + __u32 handle; +}; + #define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01 #define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02 #define DRM_MODE_FB_DIRTY_FLAGS 0x03 diff --git a/xf86drmMode.c b/xf86drmMode.c index 0d268fc..cf62412 100644 --- a/xf86drmMode.c +++ b/xf86drmMode.c @@ -255,6 +255,28 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth, return 0; } +int drmModeAddFB2(int fd, uint32_t width, uint32_t height, + uint32_t pixel_format, uint8_t depth, uint8_t bpp, + uint32_t pitch, uint32_t bo_handle, uint32_t *buf_id) +{ + struct drm_mode_fb_cmd2 f; + int ret; + + f.width = width; + f.height = height; + f.pitch = pitch; + f.bpp= bpp; + f.depth = depth; + f.pixel_format = pixel_format; + f.handle = bo_handle; + + if ((ret = DRM_IOCTL(fd, DRM_IOCTL_MODE_ADDFB2, ))) + return ret; + + *buf_id = f.fb_id; + return 0; +} + int drmModeRmFB(int fd, uint32_t bufferId) { return DRM_IOCTL(fd, DRM_IOCTL_MODE_RMFB, ); @@ -806,3 +828,129 @@ int drmModePageFlip(int fd, uint32_t crtc_id, uint32_t fb_id, return DRM_IOCTL(fd, DRM_IOCTL_MODE_PAGE_FLIP, ); } + +int drmModeSetPlane(int fd, uint32_t plane_id, uint32_t crtc_id, + uint32_t fb_id, uint32_t crtc_x, uint32_t crtc_y, + uint32_t x, uint32_t y) + +{ + struct drm_mode_set_plane s; + + s.plane_id = plane_id; + s.crtc_id = crtc_id; + s.fb_id = fb_id; + s.crtc_x = crtc_x; + s.crtc_y = crtc_y; + s.x = x; + s.y = y; + + return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETPLANE, ); +} + + +drmModePlanePtr drmModeGetPlane(int fd, uint32_t plane_id) +{ + struct drm_mode_get_plane ovr, counts; + drmModePlanePtr r = 0;
[PATCH] DRI2/GLX: fix swap event handling
On Don, 2011-04-28 at 13:27 -0700, Jesse Barnes wrote: > @@ -1114,7 +1169,7 @@ DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info) > ds->ScheduleSwap = info->ScheduleSwap; > ds->ScheduleWaitMSC = info->ScheduleWaitMSC; > ds->GetMSC = info->GetMSC; > - cur_minor = 3; > + cur_minor = 4; > } else { > cur_minor = 1; > } This bugfix should probably be separate. -- Earthling Michel D?nzer |http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer
[PATCH] drm: Factor-out drm_emit_vblank_event code. (v2)
On Fre, 2011-04-29 at 13:57 +1000, christopher.halse.rogers at canonical.com wrote: > From: Christopher James Halse Rogers canonical.com> > > v2: Also pull out the drm_vblank_put call. > Signed-off-by: Christopher James Halse Rogers canonical.com> Reviewed-by: Michel D?nzer -- Earthling Michel D?nzer |http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer
[PATCH] DRI2/GLX: fix swap event handling
On Fri, 29 Apr 2011 09:20:31 +0200 Julien Cristau wrote: > On Thu, Apr 28, 2011 at 13:27:22 -0700, Jesse Barnes wrote: > > > diff --git a/glx/glxdri2.c b/glx/glxdri2.c > > index d979717..654b4ae 100644 > > --- a/glx/glxdri2.c > > +++ b/glx/glxdri2.c > > @@ -192,8 +192,17 @@ __glXdriSwapEvent(ClientPtr client, void *data, int > > type, CARD64 ust, > > wire.ust_lo = ust & 0x; > > wire.msc_hi = msc >> 32; > > wire.msc_lo = msc & 0x; > > -wire.sbc_hi = sbc >> 32; > > -wire.sbc_lo = sbc & 0x; > > +wire.sbc_hi = 0; > > + > > +if (DRI2ClientSupportsSBC(client)) { > > + wire.sbc_lo0 = sbc & 0xff; > > + wire.sbc_lo8 = (sbc >> 8) & 0xff; > > + wire.sbc_lo16 = (sbc >> 16) & 0xff; > > This one should be wire.sbc_lo16 = (sbc >> 16) & 0x; Ah thanks, good catch. In this case, too much typing and not enough cult & paste. :) > > > +} else { > > + wire.sbc_lo0 = 0; > > + wire.sbc_lo8 = 0; > > + wire.sbc_lo16 = 0; > > +} > > > > WriteEventsToClient(client, 1, (xEvent *) ); > > } > > Also I think big endian clients (when built against the old protocol > header) will expect the low byte of event_type where you now have > sbc_lo8, so you would need to swap them. Same for the dri2 event. Right. I should probably add swapping for the whole thing for swapped clients as well. > > [...] > > diff --git a/include/protocol-versions.h b/include/protocol-versions.h > > index 8692ded..8fde917 100644 > > --- a/include/protocol-versions.h > > +++ b/include/protocol-versions.h > > @@ -57,7 +57,7 @@ > > > > /* GLX */ > > #define SERVER_GLX_MAJOR_VERSION 1 > > -#define SERVER_GLX_MINOR_VERSION 4 > > +#define SERVER_GLX_MINOR_VERSION 5 > > > Do we get to bump the GLX protocol version? Somehow I thought that was > khronos business. Maybe it is, but unless we're going to ignore this problem for indirect glx clients, we need a way of knowing which type of event structure to expect. Is there another version I could use instead? -- Jesse Barnes, Intel Open Source Technology Center
[Bug 36525] Enemy territory freezes system with r600g.
https://bugs.freedesktop.org/show_bug.cgi?id=36525 --- Comment #1 from Fredrik H?glund 2011-04-29 05:32:10 PDT --- Created an attachment (id=46152) View: https://bugs.freedesktop.org/attachment.cgi?id=46152 Review: https://bugs.freedesktop.org/review?bug=36525=46152 possible fix Does this patch fix the problem? -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug.
[Bug 31083] [RADEON::R600C] misrenders irrlicht demo (01helloworld)
https://bugs.freedesktop.org/show_bug.cgi?id=31083 Lauri Kasanen changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #5 from Lauri Kasanen 2011-04-29 04:32:32 PDT --- Works on on today's git and r600g. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug.
[Bug 36596] Major 2D performance bottleneck (most noticeable with compiz)
https://bugs.freedesktop.org/show_bug.cgi?id=36596 --- Comment #6 from Michel D?nzer 2011-04-29 02:06:53 PDT --- (In reply to comment #4) > The slowness coincides with very low CPU usage. If sync to vblank is enabled in the compiz configuration, does disabling that help? If not, does Option "EnablePageFlip" "off" and/or Option "SwapbuffersWait" "off" in xorg.conf help? (Verify in Xorg.0.log that the options are taking effect) > Would it be useful to profile something anyway? sysprof or oprofile won't be useful. If none of the above helps, it might be possible to find out where compiz is blocking with something like perf, but I don't know how offhand. > BTW, I should have mentioned that I have to boot with the "noirqdebug" kernel > parameter, otherwise the kernel will sometimes disable the Radeon's IRQ saying > "irq 19: nobody cared" (the exact message is no longer in the logs). Once the > IRQ was disabled, everything still worked, but more slowly. Hmm, the radeon IRQ not working reliably might explain at least some of your symptoms. FWIW, can you also attach the dmesg output, at least the lines related to agp/drm/radeon? -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug.
Re: [PATCH] drm: Factor-out drm_emit_vblank_event code. (v2)
On Fre, 2011-04-29 at 13:57 +1000, christopher.halse.rog...@canonical.com wrote: From: Christopher James Halse Rogers christopher.halse.rog...@canonical.com v2: Also pull out the drm_vblank_put call. Signed-off-by: Christopher James Halse Rogers christopher.halse.rog...@canonical.com Reviewed-by: Michel Dänzer mic...@daenzer.net -- Earthling Michel Dänzer |http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] DRI2/GLX: fix swap event handling
On Thu, Apr 28, 2011 at 13:27:22 -0700, Jesse Barnes wrote: diff --git a/glx/glxdri2.c b/glx/glxdri2.c index d979717..654b4ae 100644 --- a/glx/glxdri2.c +++ b/glx/glxdri2.c @@ -192,8 +192,17 @@ __glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust, wire.ust_lo = ust 0x; wire.msc_hi = msc 32; wire.msc_lo = msc 0x; -wire.sbc_hi = sbc 32; -wire.sbc_lo = sbc 0x; +wire.sbc_hi = 0; + +if (DRI2ClientSupportsSBC(client)) { + wire.sbc_lo0 = sbc 0xff; + wire.sbc_lo8 = (sbc 8) 0xff; + wire.sbc_lo16 = (sbc 16) 0xff; This one should be wire.sbc_lo16 = (sbc 16) 0x; +} else { + wire.sbc_lo0 = 0; + wire.sbc_lo8 = 0; + wire.sbc_lo16 = 0; +} WriteEventsToClient(client, 1, (xEvent *) wire); } Also I think big endian clients (when built against the old protocol header) will expect the low byte of event_type where you now have sbc_lo8, so you would need to swap them. Same for the dri2 event. [...] diff --git a/include/protocol-versions.h b/include/protocol-versions.h index 8692ded..8fde917 100644 --- a/include/protocol-versions.h +++ b/include/protocol-versions.h @@ -57,7 +57,7 @@ /* GLX */ #define SERVER_GLX_MAJOR_VERSION 1 -#define SERVER_GLX_MINOR_VERSION 4 +#define SERVER_GLX_MINOR_VERSION 5 Do we get to bump the GLX protocol version? Somehow I thought that was khronos business. /* Xinerama */ #define SERVER_PANORAMIX_MAJOR_VERSION 1 Cheers, Julien ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
ApiTrace: OpenGL tracer, analyzer, debugger, replayer..
Hello, This might be an interesting tool for dri/driver developers.. from opengl.org: New OpenGL tracer, analyzer and debugger: ApiTrace is a brand new project to trace, replay, analyze and debug graphics APIs. Using it you can inspect the OpenGL state frame by frame, call by call. You can analyze every shader, every texture, every buffer. You can also edit the trace itself and see the effects it would have on rendering in real-time. http://zrusin.blogspot.com/2011/04/apitrace.html As a driver developer you no longer have to install all the games just to debug a problem, the report can simply include a short trace which you can use to immediately figure out what's wrong. As an application developer you can inspect every graphics call your app makes, you can analyze your api usage and you could automatically produce standalone testcases which you can send to driver developers. See the blog post for more info. -- Pasi ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 36596] Major 2D performance bottleneck (most noticeable with compiz)
https://bugs.freedesktop.org/show_bug.cgi?id=36596 --- Comment #6 from Michel Dänzer mic...@daenzer.net 2011-04-29 02:06:53 PDT --- (In reply to comment #4) The slowness coincides with very low CPU usage. If sync to vblank is enabled in the compiz configuration, does disabling that help? If not, does Option EnablePageFlip off and/or Option SwapbuffersWait off in xorg.conf help? (Verify in Xorg.0.log that the options are taking effect) Would it be useful to profile something anyway? sysprof or oprofile won't be useful. If none of the above helps, it might be possible to find out where compiz is blocking with something like perf, but I don't know how offhand. BTW, I should have mentioned that I have to boot with the noirqdebug kernel parameter, otherwise the kernel will sometimes disable the Radeon's IRQ saying irq 19: nobody cared (the exact message is no longer in the logs). Once the IRQ was disabled, everything still worked, but more slowly. Hmm, the radeon IRQ not working reliably might explain at least some of your symptoms. FWIW, can you also attach the dmesg output, at least the lines related to agp/drm/radeon? -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 --- Comment #7 from Vish drkv...@yahoo.com 2011-04-29 09:25:51 --- Created an attachment (id=55882) -- (https://bugzilla.kernel.org/attachment.cgi?id=55882) Syslog-e Attaching the syslog when X froze while scrolling in evince -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish drkv...@yahoo.com changed: What|Removed |Added Attachment #55882|application/octet-stream|text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish drkv...@yahoo.com changed: What|Removed |Added Attachment #55641|application/octet-stream|text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish drkv...@yahoo.com changed: What|Removed |Added Attachment #55631|text/x-log |text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish drkv...@yahoo.com changed: What|Removed |Added Attachment #55621|application/octet-stream|text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 33912] [RV515] Kernel .35 onwards, Random X freezes while scrolling
https://bugzilla.kernel.org/show_bug.cgi?id=33912 Vish drkv...@yahoo.com changed: What|Removed |Added Attachment #55382|text/x-log |text/plain mime type|| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 34082] New: Incorrect / missing device id in radeon_atombios.c
https://bugzilla.kernel.org/show_bug.cgi?id=34082 Summary: Incorrect / missing device id in radeon_atombios.c Product: Drivers Version: 2.5 Kernel Version: 2.6.38+ Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI - non Intel) AssignedTo: drivers_video-...@kernel-bugs.osdl.org ReportedBy: zham...@gmail.com Regression: No I have an Acer TravelMate 5730, and the scenario described around line 434 in radeon_atombios.c applies to this model as well. The problem is that the 5730 has a different device id than 5730G (at least my machine has). Changing the relevant id from 0x95c4 to 0x9591 fixes everything for me. Without changing the id, HDMI output works only if I turn it off with xrandr and then use DVI (which this laptop doesn't have) and it doesn't even work that well then, I also get lots of invalid EDID spam in dmesg. ... Apr 28 23:00:26 localhost kernel: [ 3476.326407] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID Apr 28 23:02:19 localhost kernel: [ 3589.819736] [drm:radeon_dvi_detect] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID Apr 28 23:04:02 localhost kernel: [ 3692.619727] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID Apr 28 23:05:24 localhost kernel: [ 3774.783055] [drm:radeon_dvi_detect] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID ... This patch fixes the problems mentioned above. It just copies the entry for 5730G and changes the device id. diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index f5d12fb..d706df5 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c @@ -451,6 +451,18 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev, } } + /* Same as above, but for Acer Travelmate 5730 */ +if ((dev-pdev-device == 0x9591) +(dev-pdev-subsystem_vendor == 0x1025) +(dev-pdev-subsystem_device == 0x013c)) { +if ((*connector_type == DRM_MODE_CONNECTOR_DVII) +(supported_device == ATOM_DEVICE_DFP1_SUPPORT)) { +/* actually it's a DVI-D port not DVI-I */ +*connector_type = DRM_MODE_CONNECTOR_DVID; +return false; +} +} + /* XFX Pine Group device rv730 reports no VGA DDC lines * even though they are wired up to record 0x93 */ -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 34082] Incorrect / missing device id in radeon_atombios.c
https://bugzilla.kernel.org/show_bug.cgi?id=34082 --- Comment #1 from Sampo Laaksonen zham...@gmail.com 2011-04-29 10:02:26 --- Created an attachment (id=55892) -- (https://bugzilla.kernel.org/attachment.cgi?id=55892) Oops. Should have attached the patch instead of copy/paste. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 31083] [RADEON::R600C] misrenders irrlicht demo (01helloworld)
https://bugs.freedesktop.org/show_bug.cgi?id=31083 Lauri Kasanen cur...@operamail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #5 from Lauri Kasanen cur...@operamail.com 2011-04-29 04:32:32 PDT --- Works on on today's git and r600g. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 36525] Enemy territory freezes system with r600g.
https://bugs.freedesktop.org/show_bug.cgi?id=36525 --- Comment #1 from Fredrik Höglund fred...@kde.org 2011-04-29 05:32:10 PDT --- Created an attachment (id=46152) View: https://bugs.freedesktop.org/attachment.cgi?id=46152 Review: https://bugs.freedesktop.org/review?bug=36525attachment=46152 possible fix Does this patch fix the problem? -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] DRI2/GLX: fix swap event handling
On Fri, 29 Apr 2011 09:20:31 +0200 Julien Cristau jcris...@debian.org wrote: On Thu, Apr 28, 2011 at 13:27:22 -0700, Jesse Barnes wrote: diff --git a/glx/glxdri2.c b/glx/glxdri2.c index d979717..654b4ae 100644 --- a/glx/glxdri2.c +++ b/glx/glxdri2.c @@ -192,8 +192,17 @@ __glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust, wire.ust_lo = ust 0x; wire.msc_hi = msc 32; wire.msc_lo = msc 0x; -wire.sbc_hi = sbc 32; -wire.sbc_lo = sbc 0x; +wire.sbc_hi = 0; + +if (DRI2ClientSupportsSBC(client)) { + wire.sbc_lo0 = sbc 0xff; + wire.sbc_lo8 = (sbc 8) 0xff; + wire.sbc_lo16 = (sbc 16) 0xff; This one should be wire.sbc_lo16 = (sbc 16) 0x; Ah thanks, good catch. In this case, too much typing and not enough cult paste. :) +} else { + wire.sbc_lo0 = 0; + wire.sbc_lo8 = 0; + wire.sbc_lo16 = 0; +} WriteEventsToClient(client, 1, (xEvent *) wire); } Also I think big endian clients (when built against the old protocol header) will expect the low byte of event_type where you now have sbc_lo8, so you would need to swap them. Same for the dri2 event. Right. I should probably add swapping for the whole thing for swapped clients as well. [...] diff --git a/include/protocol-versions.h b/include/protocol-versions.h index 8692ded..8fde917 100644 --- a/include/protocol-versions.h +++ b/include/protocol-versions.h @@ -57,7 +57,7 @@ /* GLX */ #define SERVER_GLX_MAJOR_VERSION 1 -#define SERVER_GLX_MINOR_VERSION 4 +#define SERVER_GLX_MINOR_VERSION 5 Do we get to bump the GLX protocol version? Somehow I thought that was khronos business. Maybe it is, but unless we're going to ignore this problem for indirect glx clients, we need a way of knowing which type of event structure to expect. Is there another version I could use instead? -- Jesse Barnes, Intel Open Source Technology Center ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm: Factor-out drm_emit_vblank_event code. (v2)
On Fri, Apr 29, 2011 at 01:57:10PM +1000, christopher.halse.rog...@canonical.com wrote: From: Christopher James Halse Rogers christopher.halse.rog...@canonical.com v2: Also pull out the drm_vblank_put call. Signed-off-by: Christopher James Halse Rogers christopher.halse.rog...@canonical.com --- drivers/gpu/drm/drm_irq.c | 44 ++-- 1 files changed, 18 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 982ca8c..da56685 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -931,6 +931,20 @@ void drm_vblank_put(struct drm_device *dev, int crtc) } EXPORT_SYMBOL(drm_vblank_put); +static void drm_emit_vblank_event (struct drm_device *dev, +struct drm_pending_vblank_event *e, +unsigned int seq, struct timeval *now) +{ + e-event.sequence = seq; + e-event.tv_sec = now-tv_sec; + e-event.tv_usec = now-tv_usec; + drm_vblank_put(dev, e-pipe); + list_move_tail(e-base.link, e-base.file_priv-event_list); + wake_up_interruptible(e-base.file_priv-event_wait); + trace_drm_vblank_event_delivered(e-base.pid, e-pipe, + e-event.sequence); +} + void drm_vblank_off(struct drm_device *dev, int crtc) { struct drm_pending_vblank_event *e, *t; @@ -951,14 +965,7 @@ void drm_vblank_off(struct drm_device *dev, int crtc) wanted %d, current %d\n, e-event.sequence, seq); - e-event.sequence = seq; - e-event.tv_sec = now.tv_sec; - e-event.tv_usec = now.tv_usec; - drm_vblank_put(dev, e-pipe); - list_move_tail(e-base.link, e-base.file_priv-event_list); - wake_up_interruptible(e-base.file_priv-event_wait); - trace_drm_vblank_event_delivered(e-base.pid, e-pipe, - e-event.sequence); + drm_emit_vblank_event(dev, e, seq, now); } WARN_ON(atomic_read(dev-vblank_refcount[crtc]) != 0); @@ -1104,18 +,10 @@ static int drm_queue_vblank_event(struct drm_device *dev, int pipe, vblwait-request.sequence); e-event.sequence = vblwait-request.sequence; + list_add_tail(e-base.link, dev-vblank_event_list); Is dev-vblank_event_list == e-base.file_priv-event_list? If they are not equal this is changing the behavior... if ((seq - vblwait-request.sequence) = (1 23)) { - e-event.sequence = seq; - e-event.tv_sec = now.tv_sec; - e-event.tv_usec = now.tv_usec; - drm_vblank_put(dev, pipe); - list_add_tail(e-base.link, e-base.file_priv-event_list); - wake_up_interruptible(e-base.file_priv-event_wait); - vblwait-reply.sequence = seq; Is it OK to drop this substitution? - trace_drm_vblank_event_delivered(current-pid, pipe, - vblwait-request.sequence); + drm_emit_vblank_event(dev, e, seq, now); } else { - list_add_tail(e-base.link, dev-vblank_event_list); vblwait-reply.sequence = vblwait-request.sequence; } @@ -1249,14 +1248,7 @@ void drm_handle_vblank_events(struct drm_device *dev, int crtc) DRM_DEBUG(vblank event on %d, current %d\n, e-event.sequence, seq); - e-event.sequence = seq; - e-event.tv_sec = now.tv_sec; - e-event.tv_usec = now.tv_usec; - drm_vblank_put(dev, e-pipe); - list_move_tail(e-base.link, e-base.file_priv-event_list); - wake_up_interruptible(e-base.file_priv-event_wait); - trace_drm_vblank_event_delivered(e-base.pid, e-pipe, - e-event.sequence); + drm_emit_vblank_event(dev, e, seq, now); } spin_unlock_irqrestore(dev-event_lock, flags); -- ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: Linux 2.6.39-rc5
* Linus Torvalds -- Wednesday 27 April 2011: Go forth and test, Doesn't work on my notebook with i915/KMS. But then again, neither did 2.6.38 or any of its stable releases. The last working version was 2.6.38-rc8. The problem has been reported[1], but the bug got closed in the wrong assumption that the bug is fixed. I reported that, too. No reactions to that. The bug was introduced with commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 by Takashi Iwai. The result is that when using KMS my notebook's[2] screen remains dark, because the backlight isn't turned on. Reverting commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 makes my notebook work correctly again as it used to in 2.6.38-rc8 and before. m. [1] https://bugzilla.kernel.org/show_bug.cgi?id=31522 [2] Acer TravelMate 5735Z-452G32Mnss, using Intel GM45 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 34102] New: radeon drm/kms driver: please use suspend/hibernate notifiers for allocating memory in suspend routines
https://bugzilla.kernel.org/show_bug.cgi?id=34102 Summary: radeon drm/kms driver: please use suspend/hibernate notifiers for allocating memory in suspend routines Product: Drivers Version: 2.5 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI - non Intel) AssignedTo: drivers_video-...@kernel-bugs.osdl.org ReportedBy: mar...@lichtvoll.de Regression: Yes I have the issue that since switching to Radeon KMS neither in-kernel-suspend nor TuxOnIce - that I do not use anymore currently - hibernation aborts due to lack of free memory when I have more than just 2-3 applications open although I have 2 GB of RAM in my ThinkPad T42. For further details please see: Bug #30482 - try harder to free enough memory / improve image size autotuning According to Rafael The problem is a consequence of bugs in device drivers that shouldn't allocate memory in their suspend/resume routines _at_ _all_. So, a more fundamental fix would be to modify drivers so that they use suspend/hibernate notifiers for allocating memory. IOW, you should complain to the developers of the drivers that cause problems to happen. (see https://bugzilla.kernel.org/show_bug.cgi?id=30482#c7) While I am not completely sure that it is the Radeon DRM/KMS driver allocating memory additionally memory during hibernation cycle having this issue since switching to KMS points at that. Currently I am using 2.6.38.4 with gallium userspace: martin@shambhala:~ glxinfo | grep OpenGL OpenGL vendor string: X.Org R300 Project OpenGL renderer string: Gallium 0.4 on ATI RV350 OpenGL version string: 2.1 Mesa 7.10.2 OpenGL shading language version string: 1.20 OpenGL extensions: martin@shambhala:~ xdpyinfo | grep version version number:11.0 X.Org version: 1.10.1 but this happened with earlier versions as well. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 34102] radeon drm/kms: please use suspend/hibernate notifiers for allocating memory in suspend routines
https://bugzilla.kernel.org/show_bug.cgi?id=34102 Martin Steigerwald mar...@lichtvoll.de changed: What|Removed |Added Summary|radeon drm/kms driver: |radeon drm/kms: please use |please use |suspend/hibernate notifiers |suspend/hibernate notifiers |for allocating memory in |for allocating memory in|suspend routines |suspend routines| -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 34082] Incorrect / missing device id in radeon_atombios.c
https://bugzilla.kernel.org/show_bug.cgi?id=34082 --- Comment #2 from Alex Deucher alexdeuc...@gmail.com 2011-04-29 16:20:38 --- Created an attachment (id=55902) -- (https://bugzilla.kernel.org/attachment.cgi?id=55902) just add the new id to the existing quirk Here's the patch I'll be sending to Dave. Thanks! -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd -- ___ Dri-devel mailing list dri-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
i915/kms/backlight-combo mode problem (was: Re: Linux 2.6.39-rc5)
* Takashi Iwai -- Friday 29 April 2011: Melchior FRANZ wrote: The bug was introduced with commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 [...] when using KMS my notebook's[2] screen remains dark, because the backlight isn't turned on. Could you check whether the patch below changes the behavior? If this cures, it means that the backlight-combo mode doesn't work on your machine. Yes, that works. (Test was with fafc9929c668f8bae6dd1f109f33a86d2cb3c460, which is current HEAD.) m. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: i915/kms/backlight-combo mode problem (was: Re: Linux 2.6.39-rc5)
At Fri, 29 Apr 2011 19:41:53 +0200, Melchior FRANZ wrote: * Takashi Iwai -- Friday 29 April 2011: Melchior FRANZ wrote: The bug was introduced with commit ba3820ade317ee36e496b9b40d2ec3987dd4aef0 [...] when using KMS my notebook's[2] screen remains dark, because the backlight isn't turned on. Could you check whether the patch below changes the behavior? If this cures, it means that the backlight-combo mode doesn't work on your machine. Yes, that works. (Test was with fafc9929c668f8bae6dd1f109f33a86d2cb3c460, which is current HEAD.) Looking at bugzilla, the problem seems like the case lbpc=0. What about the patch below instead? Takashi --- diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index a06ff07..ba60218 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@ -207,7 +207,8 @@ u32 intel_panel_get_backlight(struct drm_device *dev) val = ~1; pci_read_config_byte(dev-pdev, PCI_LBPC, lbpc); - val *= lbpc; + if (lbpc) + val *= lbpc; } } ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: i915/kms/backlight-combo mode problem (was: Re: Linux 2.6.39-rc5)
* Takashi Iwai -- Friday 29 April 2011: [https://bugzilla.kernel.org/show_bug.cgi?id=31522] Looking at bugzilla, the problem seems like the case lbpc=0. What about the patch below instead? - val *= lbpc; + if (lbpc) + val *= lbpc; Yes, that works as well. (I had assumed that this was the problem, but wasn't sure if a zero was even a legitimate value, or rather a sign for a problem or wrong assumption elsewhere.) m. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 36525] Enemy territory freezes system with r600g.
https://bugs.freedesktop.org/show_bug.cgi?id=36525 --- Comment #2 from Jussi Kiiveri archon-...@hotmail.com 2011-04-29 13:59:34 PDT --- (In reply to comment #1) Created an attachment (id=46152) View: https://bugs.freedesktop.org/attachment.cgi?id=46152 Review: https://bugs.freedesktop.org/review?bug=36525attachment=46152 possible fix Does this patch fix the problem? Nope. It still froze. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 36696] New: Kwin desktop cube crashes when I press Ctrl+F11
https://bugs.freedesktop.org/show_bug.cgi?id=36696 Summary: Kwin desktop cube crashes when I press Ctrl+F11 Product: Mesa Version: git Platform: x86-64 (AMD64) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r600 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: ryanfar...@gmx.co.uk When I press Ctrl+F11 to enter the kwin desktop cube, kwin crashes and immediately recovers giving the information at the bottom of this report. Also, when I select the option to automatically rotate the cube when dragging a window to a screen edge, the cube sort of half-rotates and then sticks there. This has been an issue with recent git versions of Mesa/r600g for probably a week, I just haven't gotten around to reporting it. Currently I am using the X/Mesa stack from the Ubuntu Xorg-Edgers PPA on Kubuntu 11.04 with KDE 4.6.2. I have a custom kernel which is currently based on Linux 2.6.39-rc5-git2, it has the latest drm-next patches added to it. Application: KWin (kwin), signal: Segmentation fault [Current thread is 1 (Thread 0x7f7ed185a7a0 (LWP 1878))] Thread 3 (Thread 0x7f7eb07fe700 (LWP 1884)): #0 0x7f7ed10a5143 in select () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x7f7ecd4a632c in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/libQtCore.so.4 #2 0x7f7ecd4ab3d0 in QEventDispatcherUNIXPrivate::doSelect(QFlagsQEventLoop::ProcessEventsFlag, timeval*) () from /usr/lib/libQtCore.so.4 #3 0x7f7ecd4ac04a in QEventDispatcherUNIX::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQtCore.so.4 #4 0x7f7ecd47d882 in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQtCore.so.4 #5 0x7f7ecd47dabc in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQtCore.so.4 #6 0x7f7ecd394924 in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x7f7ecd45fc2f in ?? () from /usr/lib/libQtCore.so.4 #8 0x7f7ecd397175 in ?? () from /usr/lib/libQtCore.so.4 #9 0x7f7ec7a8ad8c in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #10 0x7f7ed10ad04d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #11 0x in ?? () Thread 2 (Thread 0x7f7eaffed700 (LWP 1885)): #0 0x7f7ec7a8fbac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x7f7ecff0c2a2 in ?? () from /usr/lib/libQtScript.so.4 #2 0x7f7ecff0c2d9 in ?? () from /usr/lib/libQtScript.so.4 #3 0x7f7ec7a8ad8c in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #4 0x7f7ed10ad04d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #5 0x in ?? () Thread 1 (Thread 0x7f7ed185a7a0 (LWP 1878)): [KCrash Handler] #6 0x7f7eb8470ba5 in ?? () from /usr/lib/dri/r600_dri.so #7 0x7f7eb83952f0 in ?? () from /usr/lib/dri/r600_dri.so #8 0x7f7eb83984a2 in ?? () from /usr/lib/dri/r600_dri.so #9 0x7f7eb283f91a in ?? () from /usr/lib/kde4/kwin4_effect_builtins.so #10 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #11 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData) () from /usr/lib/libkwineffects.so.1 #12 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #13 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData) () from /usr/lib/libkwineffects.so.1 #14 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #15 0x7f7eb2837d86 in ?? () from /usr/lib/kde4/kwin4_effect_builtins.so #16 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #17 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData) () from /usr/lib/libkwineffects.so.1 #18 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #19 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData) () from /usr/lib/libkwineffects.so.1 #20 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #21 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData) () from /usr/lib/libkwineffects.so.1 #22 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #23 0x7f7ecf4f6a18 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData) () from /usr/lib/libkwineffects.so.1 #24 0x7f7ed1436fa3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #25 0x7f7ed141b0af in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #26 0x7f7ed142eef3 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #27 0x7f7ed1416396 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #28 0x7f7ecd4921c9 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #29 0x7f7ecc83f9e4 in
Re: [RFC] swap event handling fixes
On Thu, 28 Apr 2011 13:27:18 -0700 Jesse Barnes jbar...@virtuousgeek.org wrote: I obviously failed to count the swap event structure size after adding and removing fields a few times, and didn't even account for padding. The end result is that clients today won't receive the sbc_lo field at all, and so will likely stuff junk into that field on the client side (or zero at best). This patchset fixes up the structure definitions, bumps the proto levels, and adds server and client handling code for it all. It should be forward and backward compatible, but as always review and testing appreciated. I think the event_type checking on the client side still needs work; the field is split now so I need to check the right one on old servers. I'll also add swap support for the new requests in case people ever want to run this stuff between big and little endian machines. Btw, I've been trying to test these fixes but I can't make the existing code break; I'm getting a nicely incrementing sbc count using the piglit event test (after adding some code to dump the swap event fields), so somehow the bits are getting through. I just don't know how yet... -- Jesse Barnes, Intel Open Source Technology Center ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [RFC] swap event handling fixes
On Apr 29, 2011, at 11:37 PM, Jesse Barnes wrote: On Thu, 28 Apr 2011 13:27:18 -0700 Jesse Barnes jbar...@virtuousgeek.org wrote: I obviously failed to count the swap event structure size after adding and removing fields a few times, and didn't even account for padding. The end result is that clients today won't receive the sbc_lo field at all, and so will likely stuff junk into that field on the client side (or zero at best). This patchset fixes up the structure definitions, bumps the proto levels, and adds server and client handling code for it all. It should be forward and backward compatible, but as always review and testing appreciated. I think the event_type checking on the client side still needs work; the field is split now so I need to check the right one on old servers. I'll also add swap support for the new requests in case people ever want to run this stuff between big and little endian machines. Btw, I've been trying to test these fixes but I can't make the existing code break; I'm getting a nicely incrementing sbc count using the piglit event test (after adding some code to dump the swap event fields), so somehow the bits are getting through. I just don't know how yet... One thing you could try as another quick test is to use xtrace on a opengl app. I remember seeing weird results for the msc or ust fields (i believe) of decoded and printed DRI2SwapComplete events. I always thought part of my toolchain was just out of sync, but maybe it was just the result of the wrong size/padding. -mario -- Jesse Barnes, Intel Open Source Technology Center ___ xorg-de...@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] fix mesa tarball creation again
On 04/28/2011 12:38 AM, Thierry Vignaud wrote: On 19 April 2011 16:35, Brianbri...@vmware.com wrote: Pushed, thanks. Can you know commit this one that fixes missing files in the generated tarball so that one can build mesa out of the tarball? Thx I'll commit it soon. Thanks. Hi The following patch fix tarball creation again (removed files and one missing Makefile) Thanks. I'll commit it soon. -Brian ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 36596] Major 2D performance bottleneck (most noticeable with compiz)
https://bugs.freedesktop.org/show_bug.cgi?id=36596 --- Comment #7 from Jason Cassell bluesloth...@gmail.com 2011-04-29 22:02:20 PDT --- Compiz's sync to vblank option was already off. Turning it on hung compiz, and I had to switch to a VT and kill -9 it. That reminds me, with the gallium drivers I have to have vblank_mode set to something in .drirc, otherwise everything using OpenGL hangs. With the classic drivers I didn't even need a .drirc. vblank_mode is currently set to 1. Turning off EnablePageFlip and/or SwapbuffersWait doesn't help. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[Bug 36596] Major 2D performance bottleneck (most noticeable with compiz)
https://bugs.freedesktop.org/show_bug.cgi?id=36596 --- Comment #8 from Jason Cassell bluesloth...@gmail.com 2011-04-29 22:03:01 PDT --- Created an attachment (id=46180) -- (https://bugs.freedesktop.org/attachment.cgi?id=46180) dmesg output -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel