Age | Commit message (Collapse) | Author |
|
We need to keep a list of user created fbs to nuke on master exit.
We also need to use the bo properly.
|
|
When the kernel driver is loaded it sets up a lot of stuff..
it tears down the same stuff on unload.
This add a new map type called DRM_DRIVER which means the driver will clean the mapping up
and fix up the map cleaner
|
|
stuff.
|
|
|
|
|
|
Add refcounting of user waiters to the DRM hardware lock, so that we can use the
DRM_LOCK_CONT flag more conservatively.
Also add a kernel waiter refcount that if nonzero transfers the lock for the kernel context,
when it is released. This is useful when waiting for idle and can be used
for very simple fence object driver implementations for the new memory manager.
It also resolves the AIGLX startup deadlock for the sis and the via drivers.
i810, i830 still require that the hardware lock is really taken so the deadlock remains
for those two. I'm not sure about ffb. Anyone familiar with that code?
|
|
|
|
|
|
Bye bye 2.4 you served us well..
|
|
since the support for memory caches has gone from 2.6.20.
|
|
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_irq.c
linux-core/drm_stub.c
shared-core/drm.h
shared-core/i915_drv.h
shared-core/i915_irq.c
|
|
Use byte unit for /proc printout of memory usage for small sizes to be
able to detect memory allocation bugs more easily.
|
|
Fix up init and destruction code.
|
|
|
|
|
|
Initialize the spinlock unconditionally when struct drm_device is filled in,
and return early in drm_locked_tasklet() if the driver doesn't support IRQs.
|
|
Actually make the existing ioctls for adding and removing drawables do
something useful, and add another ioctl for the X server to update drawable
information. The only kind of drawable information tracked so far is cliprects.
(cherry picked from 29598e5253ff5c085ccf63580fd24b84db848424 commit)
|
|
Actually make the existing ioctls for adding and removing drawables do
something useful, and add another ioctl for the X server to update drawable
information. The only kind of drawable information tracked so far is cliprects.
|
|
This helps us unbreak FreeBSD DRM from the 965 changes.
|
|
multiple heads.
|
|
Memory allocation optimizations.
Buffer manager takedown.
|
|
drm-ttm-0-2-branch
Conflicts:
linux-core/drmP.h
|
|
remove a mach64 warning, align a lot of things from linux kernel
|
|
|
|
|
|
fence objects and buffer objects:
Refcounting,
Inter-process sharing,
Synchronization
Destruction.
|
|
I hope the fallback compat code works if not shout at me.
|
|
0x10000000 to 0x90000000 in PAGE_SIZE increments.
Implement hashed map lookups.
This potentially breaks both 2D and 3D drivers. If so, the corresponding
2D and 3D driver should be fixed, and it's corresponding drm device driver
should have its major bumped as soon as possible.
Bump sis and via drm device driver majors.
The SiS and Unichrome 3D drivers are fixed in Mesa CVS HEAD and
mesa_6_4_branch.
|
|
|
|
|
|
|
|
understandable: preinit -> load postinit -> (removed) presetup ->
firstopen postsetup -> (removed) open_helper -> open prerelease ->
preclose free_filp_priv -> postclose pretakedown -> lastclose
postcleanup -> unload release -> reclaim_buffers_locked version ->
(removed)
postinit and version were replaced with generic code in the Linux DRM
(drivers now set their version numbers and description in the driver
structure, like on BSD). postsetup wasn't used at all. Fixes the savage
hooks for initializing and tearing down mappings at the right times.
Testing involved at least starting X, running glxgears, killing
glxgears, exiting X, and repeating.
Tested on: FreeBSD (g200, g400, r200, r128) Linux (r200, savage4)
|
|
|
|
is ok to be shared, it will be passive on BSD.
|
|
the code for it, rather than introducing something that isn't going to
work 100% of the time.
|
|
error return path in drm_stub.c
|
|
freed correctly.
|
|
|
|
approach.
|
|
There's two choices when fb is or isn't loaded as we treat ourselves as a
PCI driver in the latter case.
If we are a PCI driver, then register the suspend/resume functions
directly. If not, then we register as a sysdev and pick up the
suspend/resume actions and pump them down into a generic *power
function.
It'll be nice when this little mess is sorted out with regard to being a
real PCI driver ;-/
|
|
platform-specific drm_device_is_agp function. Added implementation of
this function the the Linux-specific portion of the MGA driver to
detect PCI G450 cards. Added code to the Linux-specific portion of the
generic DRM layer to not initialize AGP infrastructure if the card is
not AGP (this matches what already existed in BSD).
Bumped the driver date and the driver patch-level for MGA.
This mostly fixes bugzilla #3248. The BSD side still needs an
implementation of mga_driver_device_is_agp.
|
|
|
|
Remove incorrect "drm_"-prefix from parameter description.
Signed-off-by: Magnus Damm <damm@opensource.se>
|
|
driver name is marked on resource allocations
|
|
|
|
|
|
|
|
dev->driver->pci_driver.name. This avoids the stealth mode case where
pdev is pointing to the wrong driver or no driver.
|
|
|
|
drm_debug=1
|