summaryrefslogtreecommitdiff
path: root/bsd-core
AgeCommit message (Collapse)Author
2008-10-10[FreeBSD] Rework all of the memory allocationsRobert Noland
Allocate memory from different pools. This allows the OS to track memory allocations for us, much like the linux memory debugging. This will ease tracking down memory leaks since the OS can track the number of allocations from each pool and help to point us in the right direction. Also replace drm_alloc and friends with static __inline__ versions while we are here.
2008-10-09[FreeBSD] Fix linux list compat list_for_each_safe()Robert Noland
linux_for_each_safe would not handle lists with a single entry.
2008-10-03[FreeBSD] Don't explicitly bzero driver softc.Robert Noland
This is already handled for us. Suggested by John Baldwin
2008-10-03[FreeBSD] Use M_WAITOK when allocating driver memory.Robert Noland
We don't explicitly check for error here and M_WAITOK will just put the process to sleep waiting on resources to become available. Suggested by John Baldwin
2008-10-03[FreeBSD] Do a bit of optimization on drm_order()Robert Noland
2008-10-01Use devfs_get_cdevpriv in mmap as well.Robert Noland
d_mmap gets called twice and we are only able to associate the file_priv during the first call. The second call will return EBADF and we need to assume that the call was succesful. d_mmap will not tolerate having an error returned for the second call.
2008-09-17[FreeBSD] Convert to using cdevpriv for file_priv trackingRobert Noland
2008-09-10Remove incomplete and obsolete free/net/open code.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-09-08[FreeBSD] We need to call drm_detach before we free dev->driver.Robert Noland
The driver is in control of the show, so when you try and unload a module the driver detach routine is called first. It is what drives the whole unload process and so lots of panics occur if dev->driver is already free.
2008-09-07[FreeBSD] Implement drm_ioremap_wc() to set a range of mem to write-combiningRobert Noland
2008-09-06[FreeBSD] IGP gart needs to be un-cached.Robert Noland
Airlied inadvertently discovered that the IGP gart needs to be un-cached for radeon rs485 and rs690 to work. Initial tests by placing a wbinvd() after allocating the gart were successful. This is an attempt at a more appropriate method of achieving success.
2008-09-06Free temp_pagelist on error. Free in reverse order. Noticed by open.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-09-06Pass lock data like linux and open.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-09-06Move order to end like linux.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-09-06Style white space cleanup part 2.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-09-06[FreeBSD] Ensure that drm_pci_alloc is never called while locks are held.Robert Noland
2008-09-05Reorder lock functions like linux.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-09-05Style white space cleanup.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-09-05Need M_NOWAIT for malloc.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-29[FreeBSD] Use driver features macros and flagsvehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-29[FreeBSD] Convert drm_driver to a pointer like linux.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-29[FreeBSD] Replace typedefs on bsd.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-29[FreeBSD] Catch up to vblank rework for via.vehemens
(No, we don't build via right now.) Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-29[FreeBSD] Correct debug messagevehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-29[FreeBSD] Fix a couple of locking problems.Robert Noland
2008-08-29[FreeBSD] Increase debugging output for vblank code.Robert Noland
Doing my part to make DRM_DEBUG more chatty...
2008-08-29Fix drm_realloc when you're reallocing into something smaller.Tomas Carnecky
2008-08-24[FreeBSD] Add drm_drawable_free_all()Robert Noland
2008-08-24[FreeBSD] Fix long standing memory leak in drm_remove_magic.Robert Noland
We shuffled all the links around to disconnect the entry, but never free it. We would incorrectly free the last entry in the hash chain if nothing matched.
2008-08-24[FreeBSD] Move vblank bits into their own structure.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-24[FreeBSD] Fix lock leak.vehemens
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-07-25[FreeBSD] Duh, we need to actually define the drm_modeset_ctl...Robert Noland
2008-07-24[FreeBSD] Catch up to linux on vblank-reworkRobert Noland
2008-07-21[FreeBSD] Improve upper_32_bits define.Robert Noland
Thanks to airlied.
2008-07-17[FreeBSD] drm_irq.c updates for vblank fixes.Robert Noland
2008-07-16FreeBSD: Fix radeon buildRobert Noland
2008-07-16BSD: change drm_locked_task*() to use the same scheme as linux.Owain Gordon Ainsworth
The current code can sleep in an interrupt handler, that is bad. So instead if we can't grab the lock, flag it and run the tasklet on unlock. Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-07-15[FreeBSD] We aren't allowed to hold locks over bus_dma_tag_create or ↵Robert Noland
bus_dmamem_alloc.
2008-06-13[FreeBSD] Fix another lock leakRobert Noland
Reported by vehemens
2008-06-08I915 suspend/resume for FreeBSDRobert Noland
2008-06-08[FreeBSD] Rework ati_pcigart.cRobert Noland
This is mostly just a diff reduction with the linux version. I'm not convinced that it will make anything better.
2008-06-08[FreeBSD] We need to request busmastering support.Robert Noland
This seems to be the key to getting at least some radeon cards working. Most, if not all drivers need it enabled, so just request it once the driver has attached.
2008-06-08[FreeBSD] Incorporate vblank fixes for bsd.Robert Noland
2008-06-08[FreeBSD] Forgot to call mtx_destroy on all the locks at unload.Robert Noland
2008-06-08[FreeBSD] Remove the locks in the vblank_disable_fnRobert Noland
They are recursive and causing panics with witness enabled.
2008-06-08[FreeBSD] Go back to using vbl_lock and move init/destroy to load/unload.Robert Noland
2008-06-01[FreeBSD] Declare vblank_disable_fn callout MPSAFE.Robert Noland
2008-06-01[FreeBSD] Get rid of vbl_lock and re-use irq_lock.Robert Noland
2008-06-01[FreeBSD] Add symlink for radeon_microcode.hRobert Noland
2008-06-01[FreeBSD] Call drm_vblank_cleanup during irq uninstallRobert Noland
I needed to re-arrange some functions for this. Also needed to call DRM_SPINUNINIT on the vbl_lock during cleanup.