mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-24 21:50:20 +01:00
performance fixes for the i810
This commit is contained in:
parent
2f2480f94e
commit
f4f0860b8c
4 changed files with 278 additions and 8 deletions
|
|
@ -629,7 +629,7 @@ static inline void i810_dma_emit_flush(drm_device_t *dev)
|
|||
i810_kernel_lost_context(dev);
|
||||
BEGIN_LP_RING(2);
|
||||
OUT_RING( CMD_REPORT_HEAD );
|
||||
#if 1
|
||||
#if 0
|
||||
OUT_RING( GFX_OP_BREAKPOINT_INTERRUPT );
|
||||
#else
|
||||
OUT_RING( GFX_OP_USER_INTERRUPT );
|
||||
|
|
@ -655,6 +655,7 @@ static int i810_flush_queue(drm_device_t *dev)
|
|||
add_wait_queue(&dev_priv->flush_queue, &entry);
|
||||
for (;;) {
|
||||
i810_dma_emit_flush(dev);
|
||||
if (atomic_read(&dev_priv->flush_done) == 1) break;
|
||||
if (atomic_read(&dev_priv->flush_done) == 1) break;
|
||||
curTime = __gettimeinmillis();
|
||||
if (startTime == 0 || curTime < startTime /*wrap case*/) {
|
||||
|
|
@ -663,7 +664,7 @@ static int i810_flush_queue(drm_device_t *dev)
|
|||
DRM_ERROR("lockup\n");
|
||||
goto out_wait_flush;
|
||||
}
|
||||
schedule_timeout(HZ/60);
|
||||
schedule_timeout(HZ*3);
|
||||
if (signal_pending(current)) {
|
||||
ret = -EINTR; /* Can't restart */
|
||||
break;
|
||||
|
|
@ -731,6 +732,7 @@ int i810_lock(struct inode *inode, struct file *filp, unsigned int cmd,
|
|||
*/
|
||||
|
||||
if (!ret) {
|
||||
#if 0
|
||||
if (_DRM_LOCKING_CONTEXT(dev->lock.hw_lock->lock)
|
||||
!= lock.context) {
|
||||
long j = jiffies - dev->lock.lock_time;
|
||||
|
|
@ -742,6 +744,7 @@ int i810_lock(struct inode *inode, struct file *filp, unsigned int cmd,
|
|||
schedule_timeout(j);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
add_wait_queue(&dev->lock.lock_queue, &entry);
|
||||
for (;;) {
|
||||
if (!dev->lock.hw_lock) {
|
||||
|
|
|
|||
|
|
@ -175,3 +175,267 @@ clean:
|
|||
rm -f *.o *.a *.po *~ core $(PROGS)
|
||||
|
||||
|
||||
# DO NOT DELETE
|
||||
|
||||
agpsupport.o: drmP.h
|
||||
auth.o: drmP.h
|
||||
bufs.o: drmP.h /usr/include/linux/un.h
|
||||
context.o: drmP.h
|
||||
ctxbitmap.o: drmP.h
|
||||
dma.o: drmP.h /usr/include/linux/interrupt.h /usr/include/linux/kernel.h
|
||||
dma.o: /usr/include/asm/bitops.h /usr/include/asm/atomic.h
|
||||
dma.o: /usr/include/asm/hardirq.h /usr/include/linux/threads.h
|
||||
dma.o: /usr/include/asm/softirq.h
|
||||
drawable.o: drmP.h
|
||||
drm.o: /usr/include/asm/ioctl.h
|
||||
drmstat.o: /usr/include/stdio.h /usr/include/features.h
|
||||
drmstat.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
||||
drmstat.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
||||
drmstat.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
||||
drmstat.o: /usr/include/bits/types.h /usr/include/libio.h
|
||||
drmstat.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
||||
drmstat.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
|
||||
drmstat.o: /usr/include/endian.h /usr/include/bits/endian.h
|
||||
drmstat.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
||||
drmstat.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
|
||||
drmstat.o: /usr/include/alloca.h /usr/include/unistd.h
|
||||
drmstat.o: /usr/include/bits/posix_opt.h /usr/include/bits/confname.h
|
||||
drmstat.o: /usr/include/getopt.h /usr/include/sys/time.h
|
||||
drmstat.o: /usr/include/bits/time.h /usr/include/sys/mman.h
|
||||
drmstat.o: /usr/include/bits/mman.h /usr/include/strings.h
|
||||
drmstat.o: /usr/include/errno.h /usr/include/bits/errno.h
|
||||
drmstat.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
|
||||
drmstat.o: /usr/include/signal.h /usr/include/bits/signum.h
|
||||
drmstat.o: /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h
|
||||
drmstat.o: /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h
|
||||
drmstat.o: /usr/include/bits/sigstack.h /usr/include/fcntl.h
|
||||
drmstat.o: /usr/include/bits/fcntl.h xf86drm.h
|
||||
fops.o: drmP.h /usr/include/linux/poll.h /usr/include/asm/poll.h
|
||||
gamma_dma.o: drmP.h gamma_drv.h /usr/include/linux/interrupt.h
|
||||
gamma_dma.o: /usr/include/linux/kernel.h /usr/include/asm/bitops.h
|
||||
gamma_dma.o: /usr/include/asm/atomic.h /usr/include/asm/hardirq.h
|
||||
gamma_dma.o: /usr/include/linux/threads.h /usr/include/asm/softirq.h
|
||||
gamma_drv.o: drmP.h gamma_drv.h
|
||||
i810_bufs.o: drmP.h i810_drv.h i810_drm_public.h i810_dma.h
|
||||
i810_bufs.o: /usr/include/linux/un.h
|
||||
i810_context.o: /usr/include/linux/sched.h /usr/include/asm/param.h
|
||||
i810_context.o: /usr/include/linux/binfmts.h /usr/include/linux/ptrace.h
|
||||
i810_context.o: /usr/include/asm/ptrace.h /usr/include/linux/capability.h
|
||||
i810_context.o: /usr/include/linux/types.h /usr/include/linux/config.h
|
||||
i810_context.o: /usr/include/linux/autoconf.h
|
||||
i810_context.o: /usr/include/linux/posix_types.h /usr/include/linux/stddef.h
|
||||
i810_context.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
|
||||
i810_context.o: /usr/include/linux/fs.h /usr/include/linux/linkage.h
|
||||
i810_context.o: /usr/include/linux/limits.h /usr/include/linux/wait.h
|
||||
i810_context.o: /usr/include/linux/vfs.h /usr/include/asm/statfs.h
|
||||
i810_context.o: /usr/include/linux/net.h /usr/include/linux/socket.h
|
||||
i810_context.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
|
||||
i810_context.o: /usr/include/linux/sockios.h /usr/include/linux/uio.h
|
||||
i810_context.o: /usr/include/linux/kdev_t.h /usr/include/linux/ioctl.h
|
||||
i810_context.o: /usr/include/asm/ioctl.h /usr/include/linux/list.h
|
||||
i810_context.o: /usr/include/linux/dcache.h /usr/include/linux/stat.h
|
||||
i810_context.o: /usr/include/linux/cache.h /usr/include/asm/cache.h
|
||||
i810_context.o: /usr/include/asm/atomic.h /usr/include/asm/bitops.h
|
||||
i810_context.o: /usr/include/linux/personality.h /usr/include/linux/threads.h
|
||||
i810_context.o: /usr/include/linux/kernel.h /usr/include/linux/times.h
|
||||
i810_context.o: /usr/include/linux/timex.h /usr/include/asm/timex.h
|
||||
i810_context.o: /usr/include/asm/msr.h /usr/include/asm/system.h
|
||||
i810_context.o: /usr/include/asm/segment.h /usr/include/linux/bitops.h
|
||||
i810_context.o: /usr/include/asm/semaphore.h /usr/include/asm/rwlock.h
|
||||
i810_context.o: /usr/include/asm/page.h /usr/include/linux/smp.h
|
||||
i810_context.o: /usr/include/linux/tty.h /usr/include/linux/sem.h
|
||||
i810_context.o: /usr/include/linux/ipc.h /usr/include/asm/ipcbuf.h
|
||||
i810_context.o: /usr/include/asm/sembuf.h /usr/include/linux/signal.h
|
||||
i810_context.o: /usr/include/asm/signal.h /usr/include/asm/siginfo.h
|
||||
i810_context.o: /usr/include/linux/securebits.h /usr/include/linux/time.h
|
||||
i810_context.o: /usr/include/linux/param.h /usr/include/linux/resource.h
|
||||
i810_context.o: /usr/include/asm/resource.h /usr/include/linux/timer.h
|
||||
i810_context.o: /usr/include/asm/processor.h /usr/include/asm/vm86.h
|
||||
i810_context.o: /usr/include/asm/math_emu.h /usr/include/asm/sigcontext.h
|
||||
i810_context.o: drmP.h i810_drv.h i810_drm_public.h
|
||||
i810_dma.o: drmP.h i810_drm_public.h i810_drv.h i810_dma.h
|
||||
i810_dma.o: /usr/include/linux/interrupt.h /usr/include/linux/kernel.h
|
||||
i810_dma.o: /usr/include/asm/bitops.h /usr/include/asm/atomic.h
|
||||
i810_dma.o: /usr/include/asm/hardirq.h /usr/include/linux/threads.h
|
||||
i810_dma.o: /usr/include/asm/softirq.h /usr/include/linux/time.h
|
||||
i810_dma.o: /usr/include/asm/param.h /usr/include/linux/types.h
|
||||
i810_dma.o: /usr/include/linux/config.h /usr/include/linux/autoconf.h
|
||||
i810_dma.o: /usr/include/linux/posix_types.h /usr/include/linux/stddef.h
|
||||
i810_dma.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
|
||||
i810_dma.o: i810_drm_public.h
|
||||
i810_drv.o: drmP.h i810_drv.h i810_drm_public.h i810_dma.h
|
||||
i810_drv.o: i810_drm_public.h
|
||||
init.o: drmP.h
|
||||
ioctl.o: drmP.h
|
||||
lists.o: drmP.h
|
||||
lock.o: drmP.h
|
||||
memory.o: drmP.h
|
||||
mga_bufs.o: drmP.h mga_drv.h mga_drm_public.h mga_dma.h
|
||||
mga_bufs.o: /usr/include/linux/un.h
|
||||
mga_clear.o: drmP.h mga_drv.h mga_drm_public.h mgareg_flags.h mga_dma.h
|
||||
mga_clear.o: mga_state.h
|
||||
mga_context.o: /usr/include/linux/sched.h /usr/include/asm/param.h
|
||||
mga_context.o: /usr/include/linux/binfmts.h /usr/include/linux/ptrace.h
|
||||
mga_context.o: /usr/include/asm/ptrace.h /usr/include/linux/capability.h
|
||||
mga_context.o: /usr/include/linux/types.h /usr/include/linux/config.h
|
||||
mga_context.o: /usr/include/linux/autoconf.h /usr/include/linux/posix_types.h
|
||||
mga_context.o: /usr/include/linux/stddef.h /usr/include/asm/posix_types.h
|
||||
mga_context.o: /usr/include/asm/types.h /usr/include/linux/fs.h
|
||||
mga_context.o: /usr/include/linux/linkage.h /usr/include/linux/limits.h
|
||||
mga_context.o: /usr/include/linux/wait.h /usr/include/linux/vfs.h
|
||||
mga_context.o: /usr/include/asm/statfs.h /usr/include/linux/net.h
|
||||
mga_context.o: /usr/include/linux/socket.h /usr/include/asm/socket.h
|
||||
mga_context.o: /usr/include/asm/sockios.h /usr/include/linux/sockios.h
|
||||
mga_context.o: /usr/include/linux/uio.h /usr/include/linux/kdev_t.h
|
||||
mga_context.o: /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h
|
||||
mga_context.o: /usr/include/linux/list.h /usr/include/linux/dcache.h
|
||||
mga_context.o: /usr/include/linux/stat.h /usr/include/linux/cache.h
|
||||
mga_context.o: /usr/include/asm/cache.h /usr/include/asm/atomic.h
|
||||
mga_context.o: /usr/include/asm/bitops.h /usr/include/linux/personality.h
|
||||
mga_context.o: /usr/include/linux/threads.h /usr/include/linux/kernel.h
|
||||
mga_context.o: /usr/include/linux/times.h /usr/include/linux/timex.h
|
||||
mga_context.o: /usr/include/asm/timex.h /usr/include/asm/msr.h
|
||||
mga_context.o: /usr/include/asm/system.h /usr/include/asm/segment.h
|
||||
mga_context.o: /usr/include/linux/bitops.h /usr/include/asm/semaphore.h
|
||||
mga_context.o: /usr/include/asm/rwlock.h /usr/include/asm/page.h
|
||||
mga_context.o: /usr/include/linux/smp.h /usr/include/linux/tty.h
|
||||
mga_context.o: /usr/include/linux/sem.h /usr/include/linux/ipc.h
|
||||
mga_context.o: /usr/include/asm/ipcbuf.h /usr/include/asm/sembuf.h
|
||||
mga_context.o: /usr/include/linux/signal.h /usr/include/asm/signal.h
|
||||
mga_context.o: /usr/include/asm/siginfo.h /usr/include/linux/securebits.h
|
||||
mga_context.o: /usr/include/linux/time.h /usr/include/linux/param.h
|
||||
mga_context.o: /usr/include/linux/resource.h /usr/include/asm/resource.h
|
||||
mga_context.o: /usr/include/linux/timer.h /usr/include/asm/processor.h
|
||||
mga_context.o: /usr/include/asm/vm86.h /usr/include/asm/math_emu.h
|
||||
mga_context.o: /usr/include/asm/sigcontext.h drmP.h mga_drv.h
|
||||
mga_context.o: mga_drm_public.h
|
||||
mga_dma.o: drmP.h mga_drv.h mga_drm_public.h mgareg_flags.h mga_dma.h
|
||||
mga_dma.o: /usr/include/linux/interrupt.h /usr/include/linux/kernel.h
|
||||
mga_dma.o: /usr/include/asm/bitops.h /usr/include/asm/atomic.h
|
||||
mga_dma.o: /usr/include/asm/hardirq.h /usr/include/linux/threads.h
|
||||
mga_dma.o: /usr/include/asm/softirq.h
|
||||
mga_dma.o: mga_drm_public.h
|
||||
mga_drv.o: drmP.h mga_drv.h mga_drm_public.h
|
||||
mga_drv.o: mga_drm_public.h
|
||||
mga_state.o: drmP.h mga_drv.h mga_drm_public.h mgareg_flags.h mga_dma.h drm.h
|
||||
mga_state.o: /usr/include/asm/ioctl.h
|
||||
mga_state.o: mga_drv.h mga_drm_public.h
|
||||
picker.o: /usr/include/linux/autoconf.h /usr/include/linux/version.h
|
||||
proc.o: drmP.h
|
||||
sigio.o: /usr/include/unistd.h /usr/include/features.h
|
||||
sigio.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
||||
sigio.o: /usr/include/bits/posix_opt.h /usr/include/bits/types.h
|
||||
sigio.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
||||
sigio.o: /usr/include/bits/confname.h /usr/include/getopt.h
|
||||
sigio.o: /usr/include/signal.h /usr/include/bits/sigset.h
|
||||
sigio.o: /usr/include/bits/signum.h /usr/include/time.h
|
||||
sigio.o: /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h
|
||||
sigio.o: /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h
|
||||
sigio.o: /usr/include/bits/sigstack.h /usr/include/fcntl.h
|
||||
sigio.o: /usr/include/bits/fcntl.h /usr/include/sys/types.h
|
||||
sigio.o: /usr/include/endian.h /usr/include/bits/endian.h
|
||||
sigio.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
||||
sigio.o: /usr/include/sys/sysmacros.h /usr/include/sys/time.h
|
||||
sigio.o: /usr/include/bits/time.h /usr/include/errno.h
|
||||
sigio.o: /usr/include/bits/errno.h /usr/include/linux/errno.h
|
||||
sigio.o: /usr/include/asm/errno.h /usr/include/stdio.h
|
||||
sigio.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
||||
sigio.o: /usr/include/libio.h /usr/include/_G_config.h
|
||||
sigio.o: /usr/include/bits/stdio_lim.h /usr/include/string.h
|
||||
tdfx_context.o: /usr/include/linux/sched.h /usr/include/asm/param.h
|
||||
tdfx_context.o: /usr/include/linux/binfmts.h /usr/include/linux/ptrace.h
|
||||
tdfx_context.o: /usr/include/asm/ptrace.h /usr/include/linux/capability.h
|
||||
tdfx_context.o: /usr/include/linux/types.h /usr/include/linux/config.h
|
||||
tdfx_context.o: /usr/include/linux/autoconf.h
|
||||
tdfx_context.o: /usr/include/linux/posix_types.h /usr/include/linux/stddef.h
|
||||
tdfx_context.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
|
||||
tdfx_context.o: /usr/include/linux/fs.h /usr/include/linux/linkage.h
|
||||
tdfx_context.o: /usr/include/linux/limits.h /usr/include/linux/wait.h
|
||||
tdfx_context.o: /usr/include/linux/vfs.h /usr/include/asm/statfs.h
|
||||
tdfx_context.o: /usr/include/linux/net.h /usr/include/linux/socket.h
|
||||
tdfx_context.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
|
||||
tdfx_context.o: /usr/include/linux/sockios.h /usr/include/linux/uio.h
|
||||
tdfx_context.o: /usr/include/linux/kdev_t.h /usr/include/linux/ioctl.h
|
||||
tdfx_context.o: /usr/include/asm/ioctl.h /usr/include/linux/list.h
|
||||
tdfx_context.o: /usr/include/linux/dcache.h /usr/include/linux/stat.h
|
||||
tdfx_context.o: /usr/include/linux/cache.h /usr/include/asm/cache.h
|
||||
tdfx_context.o: /usr/include/asm/atomic.h /usr/include/asm/bitops.h
|
||||
tdfx_context.o: /usr/include/linux/personality.h /usr/include/linux/threads.h
|
||||
tdfx_context.o: /usr/include/linux/kernel.h /usr/include/linux/times.h
|
||||
tdfx_context.o: /usr/include/linux/timex.h /usr/include/asm/timex.h
|
||||
tdfx_context.o: /usr/include/asm/msr.h /usr/include/asm/system.h
|
||||
tdfx_context.o: /usr/include/asm/segment.h /usr/include/linux/bitops.h
|
||||
tdfx_context.o: /usr/include/asm/semaphore.h /usr/include/asm/rwlock.h
|
||||
tdfx_context.o: /usr/include/asm/page.h /usr/include/linux/smp.h
|
||||
tdfx_context.o: /usr/include/linux/tty.h /usr/include/linux/sem.h
|
||||
tdfx_context.o: /usr/include/linux/ipc.h /usr/include/asm/ipcbuf.h
|
||||
tdfx_context.o: /usr/include/asm/sembuf.h /usr/include/linux/signal.h
|
||||
tdfx_context.o: /usr/include/asm/signal.h /usr/include/asm/siginfo.h
|
||||
tdfx_context.o: /usr/include/linux/securebits.h /usr/include/linux/time.h
|
||||
tdfx_context.o: /usr/include/linux/param.h /usr/include/linux/resource.h
|
||||
tdfx_context.o: /usr/include/asm/resource.h /usr/include/linux/timer.h
|
||||
tdfx_context.o: /usr/include/asm/processor.h /usr/include/asm/vm86.h
|
||||
tdfx_context.o: /usr/include/asm/math_emu.h /usr/include/asm/sigcontext.h
|
||||
tdfx_context.o: drmP.h tdfx_drv.h
|
||||
tdfx_drv.o: drmP.h tdfx_drv.h
|
||||
vm.o: drmP.h
|
||||
xf86_OSproc.o: /usr/include/X11/Xfuncproto.h
|
||||
xf86drm.o: /usr/include/stdio.h /usr/include/features.h
|
||||
xf86drm.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
||||
xf86drm.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
||||
xf86drm.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
||||
xf86drm.o: /usr/include/bits/types.h /usr/include/libio.h
|
||||
xf86drm.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
||||
xf86drm.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
|
||||
xf86drm.o: /usr/include/endian.h /usr/include/bits/endian.h
|
||||
xf86drm.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
||||
xf86drm.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
|
||||
xf86drm.o: /usr/include/alloca.h /usr/include/unistd.h
|
||||
xf86drm.o: /usr/include/bits/posix_opt.h /usr/include/bits/confname.h
|
||||
xf86drm.o: /usr/include/getopt.h /usr/include/string.h /usr/include/ctype.h
|
||||
xf86drm.o: /usr/include/fcntl.h /usr/include/bits/fcntl.h
|
||||
xf86drm.o: /usr/include/errno.h /usr/include/bits/errno.h
|
||||
xf86drm.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
|
||||
xf86drm.o: /usr/include/signal.h /usr/include/bits/signum.h
|
||||
xf86drm.o: /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h
|
||||
xf86drm.o: /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h
|
||||
xf86drm.o: /usr/include/bits/sigstack.h /usr/include/sys/stat.h
|
||||
xf86drm.o: /usr/include/bits/stat.h /usr/include/sys/ioctl.h
|
||||
xf86drm.o: /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h
|
||||
xf86drm.o: /usr/include/asm/ioctl.h /usr/include/bits/ioctl-types.h
|
||||
xf86drm.o: /usr/include/sys/ttydefaults.h /usr/include/sys/mman.h
|
||||
xf86drm.o: /usr/include/bits/mman.h /usr/include/sys/time.h
|
||||
xf86drm.o: /usr/include/bits/time.h xf86drm.h drm.h
|
||||
xf86drmHash.o: xf86drm.h /usr/include/stdio.h /usr/include/features.h
|
||||
xf86drmHash.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
||||
xf86drmHash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
||||
xf86drmHash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
||||
xf86drmHash.o: /usr/include/bits/types.h /usr/include/libio.h
|
||||
xf86drmHash.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
||||
xf86drmHash.o: /usr/include/stdlib.h /usr/include/sys/types.h
|
||||
xf86drmHash.o: /usr/include/time.h /usr/include/endian.h
|
||||
xf86drmHash.o: /usr/include/bits/endian.h /usr/include/sys/select.h
|
||||
xf86drmHash.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
|
||||
xf86drmHash.o: /usr/include/sys/sysmacros.h /usr/include/alloca.h
|
||||
xf86drmRandom.o: xf86drm.h /usr/include/stdio.h /usr/include/features.h
|
||||
xf86drmRandom.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
||||
xf86drmRandom.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
||||
xf86drmRandom.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
||||
xf86drmRandom.o: /usr/include/bits/types.h /usr/include/libio.h
|
||||
xf86drmRandom.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
||||
xf86drmRandom.o: /usr/include/stdlib.h /usr/include/sys/types.h
|
||||
xf86drmRandom.o: /usr/include/time.h /usr/include/endian.h
|
||||
xf86drmRandom.o: /usr/include/bits/endian.h /usr/include/sys/select.h
|
||||
xf86drmRandom.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
|
||||
xf86drmRandom.o: /usr/include/sys/sysmacros.h /usr/include/alloca.h
|
||||
xf86drmSL.o: xf86drm.h /usr/include/stdio.h /usr/include/features.h
|
||||
xf86drmSL.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
||||
xf86drmSL.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
||||
xf86drmSL.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
||||
xf86drmSL.o: /usr/include/bits/types.h /usr/include/libio.h
|
||||
xf86drmSL.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
||||
xf86drmSL.o: /usr/include/stdlib.h /usr/include/sys/types.h
|
||||
xf86drmSL.o: /usr/include/time.h /usr/include/endian.h
|
||||
xf86drmSL.o: /usr/include/bits/endian.h /usr/include/sys/select.h
|
||||
xf86drmSL.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
|
||||
xf86drmSL.o: /usr/include/sys/sysmacros.h /usr/include/alloca.h
|
||||
|
|
|
|||
|
|
@ -629,7 +629,7 @@ static inline void i810_dma_emit_flush(drm_device_t *dev)
|
|||
i810_kernel_lost_context(dev);
|
||||
BEGIN_LP_RING(2);
|
||||
OUT_RING( CMD_REPORT_HEAD );
|
||||
#if 1
|
||||
#if 0
|
||||
OUT_RING( GFX_OP_BREAKPOINT_INTERRUPT );
|
||||
#else
|
||||
OUT_RING( GFX_OP_USER_INTERRUPT );
|
||||
|
|
@ -655,6 +655,7 @@ static int i810_flush_queue(drm_device_t *dev)
|
|||
add_wait_queue(&dev_priv->flush_queue, &entry);
|
||||
for (;;) {
|
||||
i810_dma_emit_flush(dev);
|
||||
if (atomic_read(&dev_priv->flush_done) == 1) break;
|
||||
if (atomic_read(&dev_priv->flush_done) == 1) break;
|
||||
curTime = __gettimeinmillis();
|
||||
if (startTime == 0 || curTime < startTime /*wrap case*/) {
|
||||
|
|
@ -663,7 +664,7 @@ static int i810_flush_queue(drm_device_t *dev)
|
|||
DRM_ERROR("lockup\n");
|
||||
goto out_wait_flush;
|
||||
}
|
||||
schedule_timeout(HZ/60);
|
||||
schedule_timeout(HZ*3);
|
||||
if (signal_pending(current)) {
|
||||
ret = -EINTR; /* Can't restart */
|
||||
break;
|
||||
|
|
@ -731,6 +732,7 @@ int i810_lock(struct inode *inode, struct file *filp, unsigned int cmd,
|
|||
*/
|
||||
|
||||
if (!ret) {
|
||||
#if 0
|
||||
if (_DRM_LOCKING_CONTEXT(dev->lock.hw_lock->lock)
|
||||
!= lock.context) {
|
||||
long j = jiffies - dev->lock.lock_time;
|
||||
|
|
@ -742,6 +744,7 @@ int i810_lock(struct inode *inode, struct file *filp, unsigned int cmd,
|
|||
schedule_timeout(j);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
add_wait_queue(&dev->lock.lock_queue, &entry);
|
||||
for (;;) {
|
||||
if (!dev->lock.hw_lock) {
|
||||
|
|
|
|||
|
|
@ -58,15 +58,15 @@ typedef struct _xf86drmClipRectRec {
|
|||
|
||||
#define I810_USE_BATCH 1
|
||||
|
||||
#define I810_DMA_BUF_ORDER 14
|
||||
#define I810_DMA_BUF_ORDER 12
|
||||
#define I810_DMA_BUF_SZ (1<<I810_DMA_BUF_ORDER)
|
||||
#define I810_DMA_BUF_NR 32
|
||||
#define I810_DMA_BUF_NR 256
|
||||
|
||||
#define I810_NR_SAREA_CLIPRECTS 2
|
||||
|
||||
/* Each region is a minimum of 64k, and there are at most 128 of them.
|
||||
/* Each region is a minimum of 64k, and there are at most 64 of them.
|
||||
*/
|
||||
#define I810_NR_TEX_REGIONS 128
|
||||
#define I810_NR_TEX_REGIONS 64
|
||||
#define I810_LOG_MIN_TEX_REGION_SIZE 16
|
||||
|
||||
typedef struct {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue