Lines Matching refs:drm_device
243 typedef struct drm_device drm_device_t;
432 dev_t dev_id, struct drm_device *dev, void *data, struct drm_file *file, int ioctl_mode, cred_t *credp
601 struct drm_device *dev;
615 * Access is covered by the object_name_lock in the related drm_device
711 * \sa drm_agp_init() and drm_device::agp.
793 struct drm_device;
797 int (*get_irq)(struct drm_device *dev);
798 const char *(*get_name)(struct drm_device *dev);
799 int (*set_busid)(struct drm_device *dev, struct drm_master *master);
800 int (*set_unique)(struct drm_device *dev, struct drm_master *master,
802 int (*irq_by_busid)(struct drm_device *dev, struct drm_irq_busid *p);
804 int (*agp_init)(struct drm_device *dev);
809 int (*load)(struct drm_device *, unsigned long);
810 int (*firstopen)(struct drm_device *);
811 int (*open)(struct drm_device *, drm_file_t *);
812 void (*preclose)(struct drm_device *, drm_file_t *);
813 void (*postclose)(struct drm_device *, drm_file_t *);
814 void (*lastclose)(struct drm_device *);
815 int (*unload)(struct drm_device *);
816 void (*reclaim_buffers_locked)(struct drm_device *, drm_file_t *);
817 int (*presetup)(struct drm_device *);
818 int (*postsetup)(struct drm_device *);
819 int (*open_helper)(struct drm_device *, drm_file_t *);
820 void (*free_filp_priv)(struct drm_device *, drm_file_t *);
821 void (*release)(struct drm_device *, void *);
823 int (*dma_quiescent)(struct drm_device *);
824 int (*dma_flush_block_and_flush)(struct drm_device *,
826 int (*dma_flush_unblock)(struct drm_device *, int,
828 int (*context_dtor)(struct drm_device *, int);
829 int (*device_is_agp) (struct drm_device *);
855 int (*get_scanout_position) (struct drm_device *dev, int crtc,
888 int (*get_vblank_timestamp) (struct drm_device *dev, int crtc,
893 void (*irq_preinstall)(struct drm_device *);
894 int (*irq_postinstall)(struct drm_device *);
895 void (*irq_uninstall)(struct drm_device *dev);
898 int (*vblank_wait)(struct drm_device *, unsigned int *);
899 int (*vblank_wait2)(struct drm_device *, unsigned int *);
901 u32 (*get_vblank_counter)(struct drm_device *dev, int crtc);
902 int (*enable_vblank)(struct drm_device *dev, int crtc);
903 void (*disable_vblank)(struct drm_device *dev, int crtc);
906 int (*master_create)(struct drm_device *dev, struct drm_master *master);
907 void (*master_destroy)(struct drm_device *dev, struct drm_master *master);
913 int (*master_set)(struct drm_device *dev, struct drm_file *file_priv,
915 void (*master_drop)(struct drm_device *dev, struct drm_file *file_priv,
918 void (*entervt)(struct drm_device *dev);
919 void (*leavevt)(struct drm_device *dev);
920 void (*agp_support_detect)(struct drm_device *dev, unsigned long flags);
936 void (*vgaarb_irq)(struct drm_device *dev, bool state);
940 struct drm_device *dev,
943 struct drm_device *dev, uint32_t handle,
946 struct drm_device *dev,
1005 struct drm_device *dev;
1077 * the interrupt priority. Interrupt cookie in drm_device
1083 struct drm_device {
1088 spinlock_t count_lock; /**< For inuse, drm_device::open_count, drm_device::buf_use */
1237 static __inline__ int drm_core_check_feature(struct drm_device *dev,
1243 static inline int drm_core_has_AGP(struct drm_device *dev)
1262 void drm_core_ioremap(struct drm_local_map *, struct drm_device *);
1263 void drm_core_ioremapfree(struct drm_local_map *, struct drm_device *);
1275 int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv);
1278 extern int drm_map_handle(struct drm_device *dev, struct drm_map_list *list);
1283 extern int drm_rmmap(struct drm_device *, struct drm_local_map *);
1284 extern int drm_addmap(struct drm_device *, unsigned long, unsigned long,
1287 int drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map);
1304 u32 drm_vblank_count(struct drm_device *dev, int crtc);
1305 u32 drm_vblank_count_and_time(struct drm_device *dev, int crtc,
1307 extern void drm_send_vblank_event(struct drm_device *dev, int crtc,
1309 bool drm_handle_vblank(struct drm_device *dev, int crtc);
1310 int drm_vblank_get(struct drm_device *dev, int crtc);
1311 void drm_vblank_put(struct drm_device *dev, int crtc);
1312 void drm_vblank_off(struct drm_device *dev, int crtc);
1313 extern void drm_vblank_off(struct drm_device *dev, int crtc);
1314 int drm_vblank_init(struct drm_device *dev, int num_crtcs);
1315 void drm_vblank_cleanup(struct drm_device *dev);
1316 u32 drm_get_last_vbltimestamp(struct drm_device *dev, int crtc,
1318 int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,
1326 drm_mode_create_from_cmdline_mode(struct drm_device *dev,
1331 void drm_vblank_pre_modeset(struct drm_device *dev, int crtc);
1332 void drm_vblank_post_modeset(struct drm_device *dev, int crtc);
1336 extern struct drm_agp_head *drm_agp_init(struct drm_device *dev);
1337 extern int drm_agp_acquire(struct drm_device *dev);
1339 extern int drm_agp_release(struct drm_device *dev);
1341 extern int drm_agp_enable(struct drm_device *dev, struct drm_agp_mode mode);
1343 extern int drm_agp_info(struct drm_device *dev, struct drm_agp_info *info);
1345 extern int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request);
1347 extern int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request);
1349 extern int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request);
1351 extern int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request);
1353 extern void *drm_agp_allocate_memory(size_t pages, uint32_t type, struct drm_device *dev);
1357 extern void drm_agp_chipset_flush(struct drm_device *dev);
1360 extern int drm_agp_bind_pages(struct drm_device *dev, pfn_t *pages,
1362 extern int drm_agp_unbind_pages(struct drm_device *dev, pfn_t *pages,
1364 extern int drm_agp_rw_gtt(struct drm_device *dev, unsigned long num_pages,
1387 struct drm_local_map *drm_getsarea(struct drm_device *dev);
1416 struct drm_drawable_info *drm_get_drawable_info(struct drm_device *dev,
1418 void drm_drawable_free_all(struct drm_device *dev);
1509 extern int drm_lastclose(struct drm_device *dev);
1515 extern int drm_init(struct drm_device *, struct drm_driver *);
1516 extern void drm_exit(struct drm_device *);
1517 extern void drm_fm_init(struct drm_device *dev);
1518 extern void drm_fm_fini(struct drm_device *dev);
1519 extern void drm_fm_ereport(struct drm_device *dev, char *detail);
1520 extern int drm_check_dma_handle(struct drm_device *dev, ddi_dma_handle_t handle);
1521 extern int drm_check_acc_handle(struct drm_device *dev, ddi_acc_handle_t handle);
1532 extern int drm_get_dev(struct drm_device *dev, struct pci_dev *pdev,
1534 extern void drm_put_dev(struct drm_device *dev);
1536 void drm_master_release(struct drm_device *dev, struct drm_file *fpriv);
1546 int drm_gem_init(struct drm_device *dev);
1547 void drm_gem_destroy(struct drm_device *dev);
1551 struct drm_gem_object *drm_gem_object_alloc(struct drm_device *dev,
1553 int drm_gem_object_init(struct drm_device *dev,
1555 int drm_gem_private_object_init(struct drm_device *dev,
1582 struct drm_gem_object *drm_gem_object_lookup(struct drm_device *dev,
1586 struct drm_device *dev,
1592 void drm_gem_open(struct drm_device *dev, struct drm_file *file_private);
1593 void drm_gem_release(struct drm_device *dev, struct drm_file *file_private);
1599 extern struct drm_local_map *drm_core_findmap(struct drm_device *dev,
1603 static __inline__ int drm_device_is_pcie(struct drm_device *dev)