Add mach64 DRM module for BSD (untested, but compiles).
parent
dfdf8e14d3
commit
c47b611b08
|
@ -46,12 +46,13 @@ SHAREDFILES= drm.h \
|
||||||
via_mm.c \
|
via_mm.c \
|
||||||
via_mm.h
|
via_mm.h
|
||||||
|
|
||||||
SUBDIR = mga r128 radeon tdfx sis
|
SUBDIR = mach64 mga r128 radeon sis tdfx
|
||||||
|
|
||||||
CLEANFILES+= ${SHAREDFILES}
|
CLEANFILES+= ${SHAREDFILES}
|
||||||
|
|
||||||
.include <bsd.obj.mk>
|
.include <bsd.obj.mk>
|
||||||
|
|
||||||
|
depend: drm_pciids.h ${SHAREDFILES}
|
||||||
all: drm_pciids.h ${SHAREDFILES}
|
all: drm_pciids.h ${SHAREDFILES}
|
||||||
|
|
||||||
drm_pciids.h: ${SHARED}/drm_pciids.txt
|
drm_pciids.h: ${SHARED}/drm_pciids.txt
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
/* drm_linux_list.h -- linux list functions for the BSDs.
|
||||||
|
* Created: Mon Apr 7 14:30:16 1999 by anholt@FreeBSD.org
|
||||||
|
*
|
||||||
|
* Copyright 2003 Eric Anholt
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
|
* to deal in the Software 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:
|
||||||
|
* Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct list_head {
|
||||||
|
struct list_head *next, *prev;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Cheat, assume the list_head is at the start of the struct */
|
||||||
|
#define list_entry(entry, type, member) (type *)(entry)
|
||||||
|
|
||||||
|
static __inline__ void
|
||||||
|
INIT_LIST_HEAD(struct list_head *head) {
|
||||||
|
(head)->next = head;
|
||||||
|
(head)->prev = head;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline__ int
|
||||||
|
list_empty(struct list_head *head) {
|
||||||
|
return (head)->next == head;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline__ void
|
||||||
|
list_add_tail(struct list_head *entry, struct list_head *head) {
|
||||||
|
(entry)->prev = (head)->prev;
|
||||||
|
(entry)->next = head;
|
||||||
|
(head)->prev->next = entry;
|
||||||
|
(head)->prev = entry;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline__ void
|
||||||
|
list_del(struct list_head *entry) {
|
||||||
|
(entry)->next->prev = (entry)->prev;
|
||||||
|
(entry)->prev->next = (entry)->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define list_for_each(entry, head) \
|
||||||
|
for (entry = (head)->next; entry != head; entry = (entry)->next)
|
||||||
|
|
||||||
|
#define list_for_each_safe(entry, temp, head) \
|
||||||
|
for (entry = (head)->next, temp = (entry)->next; \
|
||||||
|
temp != head; \
|
||||||
|
entry = temp, temp = temp->next)
|
||||||
|
|
|
@ -76,6 +76,8 @@
|
||||||
#include <sys/mutex.h>
|
#include <sys/mutex.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "drm_linux_list.h"
|
||||||
|
|
||||||
#if __FreeBSD_version >= 400006
|
#if __FreeBSD_version >= 400006
|
||||||
#define __REALLY_HAVE_AGP __HAVE_AGP
|
#define __REALLY_HAVE_AGP __HAVE_AGP
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
.PATH: ${.CURDIR}/..
|
||||||
|
KMOD = mach64
|
||||||
|
NOMAN= YES
|
||||||
|
SRCS = mach64_dma.c mach64_drv.c mach64_irq.c mach64_state.c
|
||||||
|
SRCS += device_if.h bus_if.h pci_if.h opt_drm.h
|
||||||
|
CFLAGS += ${DEBUG_FLAGS} -I. -I..
|
||||||
|
|
||||||
|
.if defined(DRM_DEBUG)
|
||||||
|
DRM_DEBUG_OPT= "\#define DRM_DEBUG 1"
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if !defined(DRM_NOLINUX)
|
||||||
|
DRM_LINUX_OPT= "\#define DRM_LINUX 1"
|
||||||
|
.endif
|
||||||
|
|
||||||
|
opt_drm.h:
|
||||||
|
touch opt_drm.h
|
||||||
|
echo $(DRM_DEBUG_OPT) >> opt_drm.h
|
||||||
|
echo $(DRM_LINUX_OPT) >> opt_drm.h
|
||||||
|
|
||||||
|
.include <bsd.kmod.mk>
|
|
@ -0,0 +1,57 @@
|
||||||
|
/* r128_drv.c -- ATI Rage 128 driver -*- linux-c -*-
|
||||||
|
* Created: Mon Dec 13 09:47:27 1999 by faith@precisioninsight.com
|
||||||
|
*
|
||||||
|
* Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
|
||||||
|
* Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
|
* to deal in the Software 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 <sys/types.h>
|
||||||
|
|
||||||
|
#include "mach64.h"
|
||||||
|
#include "drmP.h"
|
||||||
|
#include "drm.h"
|
||||||
|
#include "mach64_drm.h"
|
||||||
|
#include "mach64_drv.h"
|
||||||
|
|
||||||
|
#include "drm_agpsupport.h"
|
||||||
|
#include "drm_auth.h"
|
||||||
|
#include "drm_bufs.h"
|
||||||
|
#include "drm_context.h"
|
||||||
|
#include "drm_dma.h"
|
||||||
|
#include "drm_drawable.h"
|
||||||
|
#include "drm_drv.h"
|
||||||
|
#include "drm_fops.h"
|
||||||
|
#include "drm_ioctl.h"
|
||||||
|
#include "drm_irq.h"
|
||||||
|
#include "drm_lock.h"
|
||||||
|
#include "drm_memory.h"
|
||||||
|
#include "drm_pci.h"
|
||||||
|
#include "drm_sysctl.h"
|
||||||
|
#include "drm_vm.h"
|
||||||
|
|
||||||
|
DRIVER_MODULE(mach64, pci, mach64_driver, mach64_devclass, 0, 0);
|
|
@ -46,12 +46,13 @@ SHAREDFILES= drm.h \
|
||||||
via_mm.c \
|
via_mm.c \
|
||||||
via_mm.h
|
via_mm.h
|
||||||
|
|
||||||
SUBDIR = mga r128 radeon tdfx sis
|
SUBDIR = mach64 mga r128 radeon sis tdfx
|
||||||
|
|
||||||
CLEANFILES+= ${SHAREDFILES}
|
CLEANFILES+= ${SHAREDFILES}
|
||||||
|
|
||||||
.include <bsd.obj.mk>
|
.include <bsd.obj.mk>
|
||||||
|
|
||||||
|
depend: drm_pciids.h ${SHAREDFILES}
|
||||||
all: drm_pciids.h ${SHAREDFILES}
|
all: drm_pciids.h ${SHAREDFILES}
|
||||||
|
|
||||||
drm_pciids.h: ${SHARED}/drm_pciids.txt
|
drm_pciids.h: ${SHARED}/drm_pciids.txt
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
/* drm_linux_list.h -- linux list functions for the BSDs.
|
||||||
|
* Created: Mon Apr 7 14:30:16 1999 by anholt@FreeBSD.org
|
||||||
|
*
|
||||||
|
* Copyright 2003 Eric Anholt
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
|
* to deal in the Software 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:
|
||||||
|
* Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct list_head {
|
||||||
|
struct list_head *next, *prev;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Cheat, assume the list_head is at the start of the struct */
|
||||||
|
#define list_entry(entry, type, member) (type *)(entry)
|
||||||
|
|
||||||
|
static __inline__ void
|
||||||
|
INIT_LIST_HEAD(struct list_head *head) {
|
||||||
|
(head)->next = head;
|
||||||
|
(head)->prev = head;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline__ int
|
||||||
|
list_empty(struct list_head *head) {
|
||||||
|
return (head)->next == head;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline__ void
|
||||||
|
list_add_tail(struct list_head *entry, struct list_head *head) {
|
||||||
|
(entry)->prev = (head)->prev;
|
||||||
|
(entry)->next = head;
|
||||||
|
(head)->prev->next = entry;
|
||||||
|
(head)->prev = entry;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline__ void
|
||||||
|
list_del(struct list_head *entry) {
|
||||||
|
(entry)->next->prev = (entry)->prev;
|
||||||
|
(entry)->prev->next = (entry)->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define list_for_each(entry, head) \
|
||||||
|
for (entry = (head)->next; entry != head; entry = (entry)->next)
|
||||||
|
|
||||||
|
#define list_for_each_safe(entry, temp, head) \
|
||||||
|
for (entry = (head)->next, temp = (entry)->next; \
|
||||||
|
temp != head; \
|
||||||
|
entry = temp, temp = temp->next)
|
||||||
|
|
|
@ -76,6 +76,8 @@
|
||||||
#include <sys/mutex.h>
|
#include <sys/mutex.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "drm_linux_list.h"
|
||||||
|
|
||||||
#if __FreeBSD_version >= 400006
|
#if __FreeBSD_version >= 400006
|
||||||
#define __REALLY_HAVE_AGP __HAVE_AGP
|
#define __REALLY_HAVE_AGP __HAVE_AGP
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
.PATH: ${.CURDIR}/..
|
||||||
|
KMOD = mach64
|
||||||
|
NOMAN= YES
|
||||||
|
SRCS = mach64_dma.c mach64_drv.c mach64_irq.c mach64_state.c
|
||||||
|
SRCS += device_if.h bus_if.h pci_if.h opt_drm.h
|
||||||
|
CFLAGS += ${DEBUG_FLAGS} -I. -I..
|
||||||
|
|
||||||
|
.if defined(DRM_DEBUG)
|
||||||
|
DRM_DEBUG_OPT= "\#define DRM_DEBUG 1"
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if !defined(DRM_NOLINUX)
|
||||||
|
DRM_LINUX_OPT= "\#define DRM_LINUX 1"
|
||||||
|
.endif
|
||||||
|
|
||||||
|
opt_drm.h:
|
||||||
|
touch opt_drm.h
|
||||||
|
echo $(DRM_DEBUG_OPT) >> opt_drm.h
|
||||||
|
echo $(DRM_LINUX_OPT) >> opt_drm.h
|
||||||
|
|
||||||
|
.include <bsd.kmod.mk>
|
|
@ -0,0 +1,57 @@
|
||||||
|
/* r128_drv.c -- ATI Rage 128 driver -*- linux-c -*-
|
||||||
|
* Created: Mon Dec 13 09:47:27 1999 by faith@precisioninsight.com
|
||||||
|
*
|
||||||
|
* Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
|
||||||
|
* Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
|
* to deal in the Software 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 <sys/types.h>
|
||||||
|
|
||||||
|
#include "mach64.h"
|
||||||
|
#include "drmP.h"
|
||||||
|
#include "drm.h"
|
||||||
|
#include "mach64_drm.h"
|
||||||
|
#include "mach64_drv.h"
|
||||||
|
|
||||||
|
#include "drm_agpsupport.h"
|
||||||
|
#include "drm_auth.h"
|
||||||
|
#include "drm_bufs.h"
|
||||||
|
#include "drm_context.h"
|
||||||
|
#include "drm_dma.h"
|
||||||
|
#include "drm_drawable.h"
|
||||||
|
#include "drm_drv.h"
|
||||||
|
#include "drm_fops.h"
|
||||||
|
#include "drm_ioctl.h"
|
||||||
|
#include "drm_irq.h"
|
||||||
|
#include "drm_lock.h"
|
||||||
|
#include "drm_memory.h"
|
||||||
|
#include "drm_pci.h"
|
||||||
|
#include "drm_sysctl.h"
|
||||||
|
#include "drm_vm.h"
|
||||||
|
|
||||||
|
DRIVER_MODULE(mach64, pci, mach64_driver, mach64_devclass, 0, 0);
|
Loading…
Reference in New Issue