summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2004-06-10i915 drm moduleKeith Whitwell
2004-06-10i915.o drm driverKeith Whitwell
2004-06-10gamma_dma_priority and gamma_dma_send_buffers both deref d->send_indicesDave Airlie
2004-06-07The dev->devname being passed to request_irq in drm_irq.h is null. With theDave Airlie
2004-06-02Added some comments copied from xf86drm.h.Ian Romanick
2004-06-01Replace size_t with an ugly, ugly hack. This was done so that code in theIan Romanick
2004-05-302.4 compatDave Airlie
2004-05-30fixes from kernel: Make users of page->count use the provided macrosDave Airlie
2004-05-18fix whitespace issue in previous patchRoland Scheidegger
2004-05-18add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color,Roland Scheidegger
2004-05-18another 2.4 fixDave Airlie
2004-05-182.4 compat fixDave Airlie
2004-05-14Add PCI id entry for VIA CN400 (UnichromePro) chip. XFree86 bug: ReportedErdi Chen
2004-05-11Merge from FreeBSD-current. Mostly 64-bit cleanliness fixes, but a fewEric Anholt
2004-05-11Add missing DRM_ERR()s.Eric Anholt
2004-05-10do some real testing and fix the DRM initialising and unloadingDave Airlie
2004-05-09Add mach64 DRM module for BSD (untested, but compiles).Eric Anholt
2004-05-09Add .cvsignore files.Eric Anholt
2004-05-09Warning fixes.Eric Anholt
2004-05-09- Link in shared files as necessary and clean them up.Eric Anholt
2004-05-09Catch up with sis's DRM tag change.Eric Anholt
2004-05-09Remove after repocopy to Makefile, now that we don't have to worry aboutEric Anholt
2004-05-09No /bin/bash on BSD.Eric Anholt
2004-05-09drm_hw_lock_t is now defined in drm.h, remove from here.Eric Anholt
2004-05-09Commit sysfs and drm PCI changes for 2.6 kernelDave Airlie
2004-05-09make drm pciidsDave Airlie
2004-05-03use drm.. not dri for class...Dave Airlie
2004-05-02fix 2.4 buildDave Airlie
2004-05-02better device class support from Jon Smirls patches..Dave Airlie
2004-04-26add another tdfxDave Airlie
2004-04-22Add __user annotations from kernelDave Airlie
2004-04-22add sparc ffb files from kernel just to keep things in syncDave Airlie
2004-04-21add new files to generate pci idsDave Airlie
2004-04-21bug from Linux kernel list caught by checkerDave Airlie
2004-04-21centralise pci ids into one place and use scripts to generate files forDave Airlie
2004-04-18Move Makefile.linux to Makefile.Michel Daenzer
2004-04-121. Added a PCI ID.Thomas Hellstrom
2004-04-12more files for mach64Dave Airlie
2004-04-12Add mach64 to the trunkDave Airlie
2004-04-10Have CVS ignore some files produced by the build.Michel Daenzer
2004-04-10white space changes to align with kernelDave Airlie
2004-04-10include highmem.hDave Airlie
2004-04-10update gamma_dma with patch from davej in 2.6Dave Airlie
2004-04-10patch from Andrew Morton tree from Arjan van de Ven fixes some oopses seenDave Airlie
2004-04-10align code with Linux kernel.Dave Airlie
2004-04-10remove unused codeDave Airlie
2004-04-10update from linux kernel for ia64Dave Airlie
2004-04-09remove ImakefileAlan Hourihane
2004-04-08fix build problemAlan Hourihane
2004-04-08disable PCI DMA ioctls as they are not used currently until SAVAGE_CMD_DMAAlan Hourihane
efine VIA_HAVE_FENCE 1 #define VIA_HAVE_BUFFER 1 #endif #define VIA_PCI_BUF_SIZE 60000 #define VIA_FIRE_BUF_SIZE 1024 #define VIA_NUM_IRQS 4 typedef struct drm_via_ring_buffer { drm_local_map_t map; char *virtual_start; } drm_via_ring_buffer_t; typedef uint32_t maskarray_t[5]; typedef struct drm_via_irq { atomic_t irq_received; uint32_t pending_mask; uint32_t enable_mask; wait_queue_head_t irq_queue; } drm_via_irq_t; typedef struct drm_via_private { drm_via_sarea_t *sarea_priv; drm_local_map_t *sarea; drm_local_map_t *fb; drm_local_map_t *mmio; unsigned long agpAddr; wait_queue_head_t decoder_queue[VIA_NR_XVMC_LOCKS]; char *dma_ptr; unsigned int dma_low; unsigned int dma_high; unsigned int dma_offset; uint32_t dma_wrap; volatile uint32_t *last_pause_ptr; volatile uint32_t *hw_addr_ptr; drm_via_ring_buffer_t ring; struct timeval last_vblank; int last_vblank_valid; unsigned usec_per_vblank; atomic_t vbl_received; drm_via_state_t hc_state; char pci_buf[VIA_PCI_BUF_SIZE]; const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE]; uint32_t num_fire_offsets; int chipset; drm_via_irq_t via_irqs[VIA_NUM_IRQS]; unsigned num_irqs; maskarray_t *irq_masks; uint32_t irq_enable_mask; uint32_t irq_pending_mask; int *irq_map; /* Memory manager stuff */ #ifdef VIA_HAVE_CORE_MM unsigned int idle_fault; struct drm_sman sman; int vram_initialized; int agp_initialized; unsigned long vram_offset; unsigned long agp_offset; #endif #ifdef VIA_HAVE_DMABLIT drm_via_blitq_t blit_queues[VIA_NUM_BLIT_ENGINES]; #endif uint32_t dma_diff; #ifdef VIA_HAVE_FENCE spinlock_t fence_lock; uint32_t emit_0_sequence; int have_idlelock; struct timer_list fence_timer; #endif } drm_via_private_t; enum via_family { VIA_OTHER = 0, /* Baseline */ VIA_PRO_GROUP_A, /* Another video engine and DMA commands */ VIA_DX9_0 /* Same video as pro_group_a, but 3D is unsupported */ }; /* VIA MMIO register access */ #define VIA_BASE ((dev_priv->mmio)) #define VIA_READ(reg) DRM_READ32(VIA_BASE, reg) #define VIA_WRITE(reg,val) DRM_WRITE32(VIA_BASE, reg, val) #define VIA_READ8(reg) DRM_READ8(VIA_BASE, reg) #define VIA_WRITE8(reg,val) DRM_WRITE8(VIA_BASE, reg, val) extern struct drm_ioctl_desc via_ioctls[]; extern int via_max_ioctl; extern int via_fb_init(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int via_mem_alloc(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int via_mem_free(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int via_agp_init(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int via_map_init(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int via_decoder_futex(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int via_wait_irq(struct drm_device *dev, void *data, struct drm_file *file_priv); extern int via_dma_blit_sync( struct drm_device *dev, void *data, struct drm_file *file_priv ); extern int via_dma_blit( struct drm_device *dev, void *data, struct drm_file *file_priv ); extern int via_driver_load(struct drm_device *dev, unsigned long chipset); extern int via_driver_unload(struct drm_device *dev); extern int via_final_context(struct drm_device * dev, int context); extern int via_do_cleanup_map(struct drm_device * dev); extern u32 via_get_vblank_counter(struct drm_device *dev, int crtc); extern int via_enable_vblank(struct drm_device *dev, int crtc); extern void via_disable_vblank(struct drm_device *dev, int crtc); extern irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS); extern void via_driver_irq_preinstall(struct drm_device * dev); extern int via_driver_irq_postinstall(struct drm_device * dev); extern void via_driver_irq_uninstall(struct drm_device * dev); extern int via_dma_cleanup(struct drm_device * dev); extern void via_init_command_verifier(void); extern int via_driver_dma_quiescent(struct drm_device * dev); extern void via_init_futex(drm_via_private_t *dev_priv); extern void via_cleanup_futex(drm_via_private_t *dev_priv); extern void via_release_futex(drm_via_private_t *dev_priv, int context); #ifdef VIA_HAVE_CORE_MM extern void via_reclaim_buffers_locked(struct drm_device *dev, struct drm_file *file_priv); extern void via_lastclose(struct drm_device *dev); #else extern int via_init_context(struct drm_device * dev, int context); #endif #ifdef VIA_HAVE_DMABLIT extern void via_dmablit_handler(struct drm_device *dev, int engine, int from_irq); extern void via_init_dmablit(struct drm_device *dev); #endif #ifdef VIA_HAVE_BUFFER extern struct drm_ttm_backend *via_create_ttm_backend_entry(struct drm_device *dev); extern int via_fence_types(struct drm_buffer_object *bo, uint32_t *fclass, uint32_t *type); extern int via_invalidate_caches(struct drm_device *dev, uint64_t buffer_flags); extern int via_init_mem_type(struct drm_device *dev, uint32_t type, struct drm_mem_type_manager *man); extern uint64_t via_evict_flags(struct drm_buffer_object *bo); extern int via_move(struct drm_buffer_object *bo, int evict, int no_wait, struct drm_bo_mem_reg *new_mem); #endif #endif