summaryrefslogtreecommitdiff
path: root/bsd-core/r128_drv.c
AgeCommit message (Expand)Author
2005-12-30Merge patch from jhb to catch up with FreeBSD-current vgapci master deviceEric Anholt
2005-11-11Fix breakage from the move of driver ioctl externs to header files.Eric Anholt
2005-08-05Rename the driver hooks in the DRM to something a little moreEric Anholt
2005-06-06Add a few more bits of Tonnerre's NetBSD port (Still need to deal with theEric Anholt
2005-04-16Use /*- to begin license blocks in BSD code to reduce diffs against FreeBSDEric Anholt
2004-11-06Convert more drivers for bsd-core, moving the ioctl definitions to sharedEric Anholt
2004-11-06Remove some core stuff that ended up being unnecessary.Eric Anholt
2004-11-06Get r128 basically working: Hook up the driver's dma ioctl, use the properEric Anholt
2004-11-06Connect up r128_ioctls in driver config.Eric Anholt
2004-11-06Commit WIP of BSD conversion to core model. Compiles for r128, radeon, butEric Anholt
2003-10-17- Move IRQ functions from drm_dma.h to new drm_irq.h and disentangle themEric Anholt
2003-10-17- Converted Linux drivers to initialize DRM instances based on PCI IDs, notEric Anholt
2003-08-19- Remove $FreeBSD$ tags as they weren't too useful and merges are now beingEric Anholt
2003-04-26Add PCI DMA memory functions and make addbufs_pci and associated code useEric Anholt
2003-04-25Merge from FreeBSD-current.Eric Anholt
2003-04-24Move one definition to drm_drv.h and remove the rest of drm_init.h whichEric Anholt
2003-03-25XFree86 4.3.0 mergeAlan Hourihane
2003-03-11Merge back from FreeBSD-current, adding FreeBSD ID tags to aid futureEric Anholt
2003-02-21Merge from bsd-4-0-0-branch.Eric Anholt
2002-07-05merged bsd-3-0-0-branchAlan Hourihane
cluding 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. */ #ifndef __NOUVEAU_DRM_H__ #define __NOUVEAU_DRM_H__ #define NOUVEAU_DRM_HEADER_PATCHLEVEL 4 typedef struct drm_nouveau_fifo_alloc { int channel; uint32_t put_base; /* FIFO control regs */ drm_handle_t ctrl; int ctrl_size; /* DMA command buffer */ drm_handle_t cmdbuf; int cmdbuf_size; } drm_nouveau_fifo_alloc_t; typedef struct drm_nouveau_object_init { uint32_t handle; int class; } drm_nouveau_object_init_t; #define NOUVEAU_MEM_ACCESS_RO 1 #define NOUVEAU_MEM_ACCESS_WO 2 #define NOUVEAU_MEM_ACCESS_RW 3 typedef struct drm_nouveau_dma_object_init { uint32_t handle; int class; int access; int target; uint32_t offset; int size; } drm_nouveau_dma_object_init_t; #define NOUVEAU_MEM_FB 0x00000001 #define NOUVEAU_MEM_AGP 0x00000002 #define NOUVEAU_MEM_FB_ACCEPTABLE 0x00000004 #define NOUVEAU_MEM_AGP_ACCEPTABLE 0x00000008 #define NOUVEAU_MEM_PINNED 0x00000010 #define NOUVEAU_MEM_USER_BACKED 0x00000020 #define NOUVEAU_MEM_MAPPED 0x00000040 #define NOUVEAU_MEM_INSTANCE 0x00000080 /* internal */ typedef struct drm_nouveau_mem_alloc { int flags; int alignment; uint64_t size; // in bytes uint64_t region_offset; } drm_nouveau_mem_alloc_t; typedef struct drm_nouveau_mem_free { uint64_t region_offset; int flags; } drm_nouveau_mem_free_t; /* FIXME : maybe unify {GET,SET}PARAMs */ #define NOUVEAU_GETPARAM_PCI_VENDOR 3 #define NOUVEAU_GETPARAM_PCI_DEVICE 4 #define NOUVEAU_GETPARAM_BUS_TYPE 5 #define NOUVEAU_GETPARAM_FB_PHYSICAL 6 #define NOUVEAU_GETPARAM_AGP_PHYSICAL 7 #define NOUVEAU_GETPARAM_FB_SIZE 8 #define NOUVEAU_GETPARAM_AGP_SIZE 9 typedef struct drm_nouveau_getparam { uint64_t param; uint64_t value; } drm_nouveau_getparam_t; #define NOUVEAU_SETPARAM_CMDBUF_LOCATION 1 #define NOUVEAU_SETPARAM_CMDBUF_SIZE 2 typedef struct drm_nouveau_setparam { uint64_t param; uint64_t value; } drm_nouveau_setparam_t; enum nouveau_card_type { NV_UNKNOWN =0, NV_01 =1, NV_03 =3, NV_04 =4, NV_05 =5, NV_10 =10, NV_11 =10, NV_15 =10, NV_17 =10, NV_20 =20, NV_25 =20, NV_30 =30, NV_34 =30, NV_40 =40, NV_44 =44, NV_50 =50, NV_LAST =0xffff, }; enum nouveau_bus_type { NV_AGP =0, NV_PCI =1, NV_PCIE =2, }; #define NOUVEAU_MAX_SAREA_CLIPRECTS 16 typedef struct drm_nouveau_sarea { /* the cliprects */ drm_clip_rect_t boxes[NOUVEAU_MAX_SAREA_CLIPRECTS]; unsigned int nbox; } drm_nouveau_sarea_t; #define DRM_NOUVEAU_FIFO_ALLOC 0x00 #define DRM_NOUVEAU_OBJECT_INIT 0x01 #define DRM_NOUVEAU_DMA_OBJECT_INIT 0x02 // We don't want this eventually.. #define DRM_NOUVEAU_MEM_ALLOC 0x03 #define DRM_NOUVEAU_MEM_FREE 0x04 #define DRM_NOUVEAU_GETPARAM 0x05 #define DRM_NOUVEAU_SETPARAM 0x06 #endif /* __NOUVEAU_DRM_H__ */