Age | Commit message (Collapse) | Author |
|
The dummy read page will point to NULL if drm_bo_driver_init failed at
firstopen (modeset is not enabled), and will cause kernel oops at
subsequent drm_lastclose call, so be sure to check it.
|
|
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.
|
|
Since drm_bo_driver_init will be called in driver_load, we need to free
what it alloced when error to avoid memory leak.
|
|
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.
|
|
Even if the TV encoder hasn't been fused off, we may not have a TV connector on
the platform. The BDB in the BIOS should give us this info in some cases.
|
|
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
|
|
The kernel has removed nopage so move the old nopage codepaths into a compat vm file and switch to using the fault paths.
nopfn is on its way out in the future also, so we should switch to using fault
for that path as well soon
|
|
|
|
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.
|
|
Chase the lock to it's new location.
|
|
Remove lock functions and use pci_map_rom() instead of pci_map_rom_copy().
|
|
|
|
|
|
|