| Age | Commit message (Collapse) | Author | 
|---|
|  | This reverts commit 13943fe5823c45759091c1a1f487a4abe377421e. | 
|  | - intel_crt seems the only one to provide it, so init it there. | 
|  |  | 
|  |  | 
|  | We won't get a PFIFO context switch when the same channel ID is recreated if
the hw still thinks the channel is already active, which causes fun issues.
Should allow X to be stopped and started without tearing down the entire
card state in lastclose(). | 
|  | This avoids seeing garbage from engine setup etc before X gets around
to pointing the CRTCs at a new scanout buffer.  Not actually a noticable
problem before G80 as PRAMIN is forced to the end of VRAM by the hardware
already. | 
|  | We won't get a PFIFO context switch when the same channel ID is recreated if
the hw still thinks the channel is already active, which causes fun issues.
Should allow X to be stopped and started without tearing down the entire
card state in lastclose(). | 
|  |  | 
|  | With the interrupt enable/disable using only the mask register, it was wrong
to use the enable register to detect which pipes had vblank detection
turned on. Also, as we keep a local copy of the mask register around, and
MSI machines smack the hardware during the interrupt handler, it is more
efficient and more correct to use the local copy. | 
|  | This shares common code sequences for managing the interrupt register bits | 
|  | Leftover dev_priv from the move of the suspend/resume code into shared-core. | 
|  | It would be nice if one day the DRM driver was the canonical source for
register definitions and core macros.  To that end, this patch cleans things up
quite a bit, removing redundant definitions (some with different names
referring to the same register) and generally tidying up the header file. | 
|  |  | 
|  |  | 
|  |  | 
|  | A mis-spelled config option (was it spelled that way in the past?)
eliminated kmap_atomic_prot_pfn from core DRM. | 
|  | I915_GEM_DOMAIN_CPU is very expensive to wait for -- it generally requires
clflushing the frame buffer. | 
|  | Clean up queues, free objects. On the next entervt, unmark the hardware to
let the user try again (presumably after resetting the chip). Someday we'll
automatically recover... | 
|  | Pin/copy_from_user/unpin through the GTT to eliminate clflush costs.
Benchmarks say this helps quite a bit. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | A mis-spelled config option (was it spelled that way in the past?)
eliminated kmap_atomic_prot_pfn from core DRM. | 
|  |  | 
|  | - This avoids returning with a mode count of 0, thus not allocating space for the 2nd ioctl. | 
|  |  | 
|  |  | 
|  | I915_GEM_DOMAIN_CPU is very expensive to wait for -- it generally requires
clflushing the frame buffer. | 
|  | While debugging the 915, I tried this trick there and accidentally left it
set. | 
|  | Clean up queues, free objects. On the next entervt, unmark the hardware to
let the user try again (presumably after resetting the chip). Someday we'll
automatically recover... | 
|  |  | 
|  | Pin/copy_from_user/unpin through the GTT to eliminate clflush costs.
Benchmarks say this helps quite a bit. | 
|  | still not sure which works best on which hardware; this will make it easier
to experiment. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | We depend on the VM fully now for memory protection, separate DMA objects
for VRAM and GART are unneccesary.  However, until the next interface break
(soon) a client can't depend on the objects being the same and must still
call NV_OBJ_SET_DMA_* methods appropriately. | 
|  | - I made it consistent with recent kernel fb code (maybe this is older bugged code?)
- Still i don't use this and i should leave it to others. | 
|  | This avoids seeing garbage from engine setup etc before X gets around
to pointing the CRTCs at a new scanout buffer.  Not actually a noticable
problem before G80 as PRAMIN is forced to the end of VRAM by the hardware
already. | 
|  |  | 
|  |  | 
|  | See bug 14289 | 
|  | Noting that the interrupt mask register was more reliable than the interrupt
enable register for managing interrupts in user_irq_on/user_irq_off, this
patch replaces the remaining IER frobbing with IMR instead.
The test which exposes IER related failures is:
$ glxgears & glxgears & glxgears
(reposition the glxgears windows away from the upper left corner)
$ while :; do x11perf -rect100 -reps 800 -repeat 1; sleep 1; done &
$ while :; do runoa; runet; done & | 
|  | This tracks most of the interrupt-related status, including the
interrupt registers in the chip and the sequence number variables. | 
|  | Another patch adds this to a /proc/dri file for debugging and monitoring. | 
|  |  |