I am currently reading through that part of the code to make sure that
some Kconfig options are not responsible for this behaviour. If you
can think of any, it would be a help.

Regards,
Amit

On Jan 17, 2008 1:17 AM, Bastian, Waldo <[EMAIL PROTECTED]> wrote:
> DRM_IOCTL_LOCK ends up with drm_lock() in drm_lock.c part of drm.ko
>
> Cheers,
> Waldo
>
> Intel Corporation - Platform Software Engineering, UMG - Hillsboro,
> Oregon
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Bryce
> Harrington
> Sent: Wednesday, January 16, 2008 2:55 PM
> To: Gunawardana, Inuka
> Cc: ubuntu-mobile@lists.ubuntu.com
> Subject: Backtrace
>
> Finally got a readable backtrace:
>
> #0  0xb7fd440e in __kernel_vsyscall ()
> #1  0xb7e25bc9 in ioctl () from /lib/libc.so.6
> #2  0xb7bc4a1d in drmGetLock (fd=10, context=2, flags=3213662516) at
> xf86drm.c:1259
> #3  0xb7bb951b in psbDRILock (pScrn=0x820bcd0, flags=0) at psb_dri.c:724
> #4  0xb7baf983 in psbScreenInit (scrnIndex=0, pScreen=0x821b2d8, argc=6,
> argv=0xbf8c9b74) at psb_driver.c:1342
> #5  0x08073ddb in AddScreen (pfnInit=0xb7baf7f0 <psbScreenInit>, argc=6,
> argv=0xbf8c9b74) at ../../dix/main.c:769
> #6  0x080a6e39 in InitOutput (pScreenInfo=0x81fa640, argc=6,
> argv=0xbf8c9b74) at ../../../../hw/xfree86/common/xf86Init.c:850
> #7  0x08074590 in main (argc=6, argv=0xbf8c9b74, envp=Cannot access
> memory at address 0x40086432
> ) at ../../dix/main.c:369
>
> This also confirms my explorations from the other side, that the issue
> is within psbDRILock.
>
> drmGetLock is defined in libdrm, as this:
>
> int drmGetLock(int fd, drm_context_t context, drmLockFlags flags)
> {
>     drm_lock_t lock;
>
>     lock.context = context;
>     lock.flags   = 0;
>     if (flags & DRM_LOCK_READY)      lock.flags |= _DRM_LOCK_READY;
>     if (flags & DRM_LOCK_QUIESCENT)  lock.flags |= _DRM_LOCK_QUIESCENT;
>     if (flags & DRM_LOCK_FLUSH)      lock.flags |= _DRM_LOCK_FLUSH;
>     if (flags & DRM_LOCK_FLUSH_ALL)  lock.flags |= _DRM_LOCK_FLUSH_ALL;
>     if (flags & DRM_HALT_ALL_QUEUES) lock.flags |= _DRM_HALT_ALL_QUEUES;
>     if (flags & DRM_HALT_CUR_QUEUES) lock.flags |= _DRM_HALT_CUR_QUEUES;
>
>     while (ioctl(fd, DRM_IOCTL_LOCK, &lock))
>         ;
>     return 0;
> }
>
> Bryce
>
>
> --
> Ubuntu-mobile mailing list
> Ubuntu-mobile@lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile
>
> --
> Ubuntu-mobile mailing list
> Ubuntu-mobile@lists.ubuntu.com
> Modify settings or unsubscribe at: 
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile
>

-- 
Ubuntu-mobile mailing list
Ubuntu-mobile@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile

Reply via email to