summaryrefslogtreecommitdiff
path: root/linux-core/Kconfig
AgeCommit message (Collapse)Author
2007-03-19Remove old i830 kernel driver.Alan Hourihane
2005-06-29Remove the AGP requirement from Makefile and Kconfig for MGA. Remove theIan Romanick
AGP requirement from Kconfig for SIS. There never was a requirement in Makefile, and Eric Anholt confirms that the Makefile was correct.
2005-03-253dfx DRM depends on PCIDave Airlie
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2004-10-09fix up whitespacing in KconfigDave Airlie
2004-10-05Patch for Kconfig for making i830/i915 not build togetherDave Airlie
2004-08-29Drop GAMMA DRM from a great height ...Dave Airlie
2004-07-21ATI Rage 128 and Radeon DRM unconditionally depend on PCIDave Airlie
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2004-07-20Kconfig update add i915 bring over some stuff from kernelDave Airlie
2004-04-12Add mach64 to the trunkDave Airlie
2004-03-24Modified linux/Kconfig to include the via drm driver.Thomas Hellstrom
2003-09-28Fix typo in SiS help message (and testing cvs commit toLeif Delgass
dri.freedesktop.org)
2003-09-25Fix Kconfig for SiS DRM now that it doesn't require sisfb.Eric Anholt
Submitted by: Linus Torvalds <torvalds@osdl.org>
2003-08-15Merge from 2.6 kernel (Linus Torvalds)Michel Daenzer
2003-04-22Remove AGP dependency in kernel config for radeon, sis. RemoveLeif Delgass
PCIGART_ENABLED define for radeon, pcigart support now included for any arch.
2003-04-17Add a Kconfig file as used in recent 2.5.x kernels.David Dawes
without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * Authors: * Rickard E. (Rik) Faith <faith@valinux.com> * Gareth Hughes <gareth@valinux.com> * */ #include "drmP.h" #if defined(__FreeBSD__) || defined(__NetBSD__) #define malloctype DRM(M_DRM) /* The macros conflicted in the MALLOC_DEFINE */ MALLOC_DEFINE(malloctype, "drm", "DRM Data Structures"); #undef malloctype #endif #ifdef DEBUG_MEMORY #include "drm_memory_debug.h" #else void DRM(mem_init)(void) { #ifdef __NetBSD__ malloc_type_attach(DRM(M_DRM)); #endif } void DRM(mem_uninit)(void) { } void *DRM(alloc)(size_t size, int area) { return malloc(size, DRM(M_DRM), M_NOWAIT); } void *DRM(calloc)(size_t nmemb, size_t size, int area) { return malloc(size * nmemb, DRM(M_DRM), M_NOWAIT | M_ZERO); } void *DRM(realloc)(void *oldpt, size_t oldsize, size_t size, int area) { void *pt; pt = malloc(size, DRM(M_DRM), M_NOWAIT); if (pt == NULL) return NULL; if (oldpt && oldsize) { memcpy(pt, oldpt, oldsize); free(oldpt, DRM(M_DRM)); } return pt; } void DRM(free)(void *pt, size_t size, int area) { free(pt, DRM(M_DRM)); } void *DRM(ioremap)( drm_device_t *dev, drm_local_map_t *map ) { #ifdef __FreeBSD__ return pmap_mapdev(map->offset, map->size); #elif defined(__NetBSD__) map->iot = dev->pa.pa_memt; if (bus_space_map(map->iot, map->offset, map->size, BUS_SPACE_MAP_LINEAR, &map->ioh)) return NULL; return bus_space_vaddr(map->iot, map->ioh); #endif } void DRM(ioremapfree)(drm_local_map_t *map) { #ifdef __FreeBSD__ pmap_unmapdev((vm_offset_t) map->handle, map->size); #elif defined(__NetBSD__) bus_space_unmap(map->iot, map->ioh, map->size); #endif } #if __REALLY_HAVE_AGP agp_memory *DRM(alloc_agp)(int pages, u32 type) { return DRM(agp_allocate_memory)(pages, type); } int DRM(free_agp)(agp_memory *handle, int pages) { return DRM(agp_free_memory)(handle); } int DRM(bind_agp)(agp_memory *handle, unsigned int start) { return DRM(agp_bind_memory)(handle, start); } int DRM(unbind_agp)(agp_memory *handle) { return DRM(agp_unbind_memory)(handle); } #endif /* __REALLY_HAVE_AGP */ #if __REALLY_HAVE_MTRR #ifdef __FreeBSD__ int DRM(mtrr_add)(unsigned long offset, size_t size, int flags) { int act; struct mem_range_desc mrdesc; mrdesc.mr_base = offset; mrdesc.mr_len = size; mrdesc.mr_flags = flags; act = MEMRANGE_SET_UPDATE; strlcpy(mrdesc.mr_owner, DRIVER_NAME, sizeof(mrdesc.mr_owner)); return mem_range_attr_set(&mrdesc, &act); } int DRM(mtrr_del)(unsigned long offset, size_t size, int flags) { int act; struct mem_range_desc mrdesc; mrdesc.mr_base = offset; mrdesc.mr_len = size; mrdesc.mr_flags = flags; act = MEMRANGE_SET_REMOVE; strlcpy(mrdesc.mr_owner, DRIVER_NAME, sizeof(mrdesc.mr_owner)); return mem_range_attr_set(&mrdesc, &act); } #elif defined(__NetBSD__) int DRM(mtrr_add)(unsigned long offset, size_t size, int flags) { struct mtrr mtrrmap; int one = 1; mtrrmap.base = offset; mtrrmap.len = size; mtrrmap.type = flags; mtrrmap.flags = MTRR_VALID; return mtrr_set(&mtrrmap, &one, NULL, MTRR_GETSET_KERNEL); } int DRM(mtrr_del)(unsigned long offset, size_t size, int flags) { struct mtrr mtrrmap; int one = 1; mtrrmap.base = offset; mtrrmap.len = size; mtrrmap.type = flags; mtrrmap.flags = 0; return mtrr_set(&mtrrmap, &one, NULL, MTRR_GETSET_KERNEL); } #endif #endif /* __REALLY_HAVE_MTRR */ #endif /* DEBUG_MEMORY */