| Age | Commit message (Collapse) | Author | 
 | 
To avoid bo memory manager being inited twice, it will be called
at firstopen when modeset is not enabled.
 | 
 | 
into modesetting-101
 | 
 | 
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.
 | 
 | 
 | 
 | 
In order to avoid recursive ->detect->interrupt->detect->interrupt->...
we need to disable TV hotplug interrupts in
intel_tv.c:intel_tv_detect_type.  We also need to enable the TV interrupt
detection and hotplug sequence properly in i915_irq.c.
 | 
 | 
drm_crtc->fb may point to NULL, f.e X server will allocate a new fb
and assign it to the CRTC at startup, when X server exits, it will destroy
the allocated fb, making drm_crtc->fb points to NULL.
 | 
 | 
moving modeset init code into one function and correct error
handling druing i915 init
 | 
 | 
We need to alloc a hw status page bo for G33 if modeset is enabled since the 2D
driver can't alloc gfx memory when working in drm modeset.
 | 
 | 
 | 
 | 
Fixup workqueue creation error handling and make sure we destroy the queue on
unload.
 | 
 | 
Map the VBIOS (and therefore VBT) at init time for use by various output
initialization routines.
 | 
 | 
 | 
 | 
This reverts commit 2a78ad22647933aa8842d534bce6495ff93fbf76.
 | 
 | 
patch from F9 tree
 | 
 | 
 | 
 | 
Conflicts:
	linux-core/Makefile.kernel
	shared-core/i915_drv.h
 | 
 | 
 | 
 | 
No solid idea about what these 2 bits do, but nv50 can now survive a few
PGRAPH exceptions just as nv40 does :)
 | 
 | 
 | 
 | 
This is possibly temporary.  I can trigger an unending IRQ storm on G8x
in some circumstances, and have no idea how to handle that particular PFIFO
exception correctly yet.
 | 
 | 
Doesn't fix any issue I've seen, but is a potential issue if a FIFO IRQ
occurs during channel creation/takedown.
 | 
 | 
The IRQ handling stuff really is a mess.. On the TODO :)
 | 
 | 
 | 
 | 
I swore I'd actually do this properly and not go the horrible route
we did with nv4x, but I won't get around to it just yet with so many
*actually* interesting things to do first.. One day.
Since someone already added nv86, why not!
 | 
 | 
Turns out it's important to save/restore AR14 in particular.
 | 
 | 
 | 
 | 
Conflicts:
	linux-core/Makefile.kernel
	linux-core/drm_compat.c
	linux-core/drm_fops.c
	linux-core/drm_lock.c
	shared-core/drm.h
	shared-core/i915_dma.c
	shared-core/i915_drv.h
	shared-core/i915_irq.c
 | 
 | 
Make both crtc and the command argument 32 bits to avoid any 32-on-64 compat
issues.
 | 
 | 
Enum can be of pretty much any size since C leaves the choice of size up to the implementation.  So avoid using it in new interfaces like the vblank pre- & post-modeset ioctl.  Thanks to hch for spotting this.
 | 
 | 
Remove lock functions and use pci_map_rom() instead of pci_map_rom_copy().
 | 
 | 
 | 
 | 
Since it'll be freed at unload time, we should alloc devname rather than
pointing to the DRIVER_NAME string.
 | 
 | 
On my 865G machine, it seems the CPU will receive interrupt before
irq_postinstall is called. This will cause kernel oops because vblank is not
inited at that time. Clear interrupt status before install seems fixing this
problem.
Signed-off-by: Hong Liu <hong.liu@intel.com>
 | 
 | 
From Jesse and Zhenyu originally.
 | 
 | 
The vblank tasklet update code must build 2D blt commands with the
appropriate tiled flags.
 | 
 | 
The batchbuffer submission paths were fixed to use the 965-specific command,
but the vblank tasklet was not. When the older version is sent, the 965 will
lock up.
 | 
 | 
Ported from Xorg intel 2d driver. Changed interfaces definitions, which needed
to be changed later if other device wants to use these DVO stuff.
 | 
 | 
 | 
 | 
into modesetting-101
 | 
 | 
 | 
 | 
Doesn't yet work on my i915 test machine, but most of the necessary bits
should be there.
 | 
 | 
into modesetting-101
 | 
 | 
If the driver is 'modeset' enabled, it'll register it's interrupt
handler at load time.  Set the devname in this case so that
/proc/interrupts makes sense.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 |