[Bug 10432] DRM git broken for VT8623 rev. 3 (CLE266)

2007-04-08 Thread bugzilla-daemon
http://bugs.freedesktop.org/show_bug.cgi?id=10432





--- Comment #3 from [EMAIL PROTECTED]  2007-04-08 02:44 PST ---
Patch below is solving my problem or, at least, is making it very hard to
reproduce. It is reverted part of hunk 2. With this change I can use glxgears
again. Tested with 2.6.20 and 2.6.21-rc5. Btw. I don't know what this patch is
doing. Please make it correct.

diff --git a/shared-core/via_dma.c b/shared-core/via_dma.c
--- a/shared-core/via_dma.c
+++ b/shared-core/via_dma.c
@@ -419,7 +419,6 @@ static inline uint32_t *via_get_dma(drm_via_private_t *
dev_priv)
  * modifying the pause address stored in the buffer itself. If
  * the regulator has already paused, restart it.
  */
-
 static int via_hook_segment(drm_via_private_t *dev_priv,
uint32_t pause_addr_hi, uint32_t pause_addr_lo,
int no_pci_fire)
@@ -430,12 +429,20 @@ static int via_hook_segment(drm_via_private_t *dev_priv,

paused = 0;
via_flush_write_combine();
+   while(! *(via_get_dma(dev_priv)-1));
*dev_priv->last_pause_ptr = pause_addr_lo;
via_flush_write_combine();
+   /*
+* The below statement is inserted to really force the flush.
+* Not sure it is needed.
+*/
+
+   while(! *dev_priv->last_pause_ptr);
reader = *(dev_priv->hw_addr_ptr);
ptr = ((volatile char *)paused_at - dev_priv->dma_ptr) +
dev_priv->dma_offset + (uint32_t) dev_priv->agpAddr + 4;
dev_priv->last_pause_ptr = via_get_dma(dev_priv) - 1;
+   while(! *dev_priv->last_pause_ptr);

if ((ptr - reader) <= dev_priv->dma_diff ) {
count = 1000;


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 10561] SecondLife client hangs at startup with r300

2007-04-08 Thread bugzilla-daemon
http://bugs.freedesktop.org/show_bug.cgi?id=10561





--- Comment #4 from [EMAIL PROTECTED]  2007-04-08 03:22 PST ---
(In reply to comment #3)
> I tried attaching gdb to the process, but this manage to
> hang the system completely (no ping, etc.).

Are you trying this via ssh? You can't do it from the same X display because
gdb may interrupt the process while it's holding the DRM hardware lock, so the
X server can't take it to handle the interaction with gdb.

> I could retry with the latest drm modules if you think it
> could help.

Probably can't hurt.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 10561] SecondLife client hangs at startup with r300

2007-04-08 Thread bugzilla-daemon
http://bugs.freedesktop.org/show_bug.cgi?id=10561





--- Comment #5 from [EMAIL PROTECTED]  2007-04-08 10:30 PST ---
(In reply to comment #4)

> Are you trying this via ssh? You can't do it from the same X display because
> gdb may interrupt the process while it's holding the DRM hardware lock, so the
> X server can't take it to handle the interaction with gdb.

Yes, I'm on ssh.  Strangely, gdb hangs as soon as it tries
to attach to the SecondLife client.  And the same happens
if I try to attach to the X server.  With other processes,
gdb works fine.


> > I could retry with the latest drm modules if you think it
> > could help.
> 
> Probably can't hurt.

Same result.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Bug 10561] SecondLife client hangs at startup with r300

2007-04-08 Thread bugzilla-daemon
http://bugs.freedesktop.org/show_bug.cgi?id=10561





--- Comment #6 from [EMAIL PROTECTED]  2007-04-08 12:19 PST ---
Since gdb is unworkable, I chose another route
and analyzed strace output.

It's pretty clear what's going on:

futex(0x9b29a38, FUTEX_WAKE, 2147483647) = 0
ioctl(13, 0x4008642a, 0xffeda0b4)   = 0
ioctl(13, 0x40106450, 0xffed9a8c)   = 0
ioctl(13, 0xc018644e, 0xffed9a90)   = -1 EAGAIN (Resource temporarily
unavailable)
nanosleep({0, 1000}, NULL)  = 0
[last two lines repeated 4ever]

Decoding the ioctl numbers (wonder why strace doesn't do it already)
leads us to this:

 - 2a -> DRM_IOCTL_LOCK
 - 50 -> DRM_RADEON_CMDBUF
 - 4e -> DRM_RADEON_TEXTURE 

I checked and all sizes match the expected structures (32bit versions).

So we should end up in radeon_ioc32.c:compat_radeon_cp_texture(),
then radeon_cp_texture(), and finally radeon_cp_dispatch_texture(),
where the fun starts.

The return code of EAGAIN most probably comes from here:

buf = radeon_freelist_get(dev);
[...] 
if (!buf) {
DRM_DEBUG("radeon_cp_dispatch_texture: EAGAIN\n");
if (DRM_COPY_TO_USER(tex->image, image, sizeof(*image)))
return DRM_ERR(EFAULT);
return DRM_ERR(EAGAIN);
}


Now the question is: how's can radeon_freelist() return NULL?

And another good question is: why does the client need to
retry allocating a texture in an infinite polling loop?


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel