Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/external/bsd/drm2/dist/include/drm struct drm_device is ...
details: https://anonhg.NetBSD.org/src/rev/c46a6b9f7ead
branches: trunk
changeset: 1028123:c46a6b9f7ead
user: riastradh <riastradh%NetBSD.org@localhost>
date: Sun Dec 19 01:55:45 2021 +0000
description:
struct drm_device is now in drm_device.h. move netbsd ifdef goo there
Author: Maya Rashish <maya%NetBSD.org@localhost>
diffstat:
sys/external/bsd/drm2/dist/include/drm/drmP.h | 155 +-------------------
sys/external/bsd/drm2/dist/include/drm/drm_device.h | 19 ++-
2 files changed, 19 insertions(+), 155 deletions(-)
diffs (209 lines):
diff -r 162cb62253d3 -r c46a6b9f7ead sys/external/bsd/drm2/dist/include/drm/drmP.h
--- a/sys/external/bsd/drm2/dist/include/drm/drmP.h Sun Dec 19 01:55:37 2021 +0000
+++ b/sys/external/bsd/drm2/dist/include/drm/drmP.h Sun Dec 19 01:55:45 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: drmP.h,v 1.47 2021/12/19 01:55:37 riastradh Exp $ */
+/* $NetBSD: drmP.h,v 1.48 2021/12/19 01:55:45 riastradh Exp $ */
/*
* Internal Header for the Direct Rendering Manager
@@ -654,159 +654,6 @@
once per disable */
};
-/**
- * DRM device structure. This structure represent a complete card that
- * may contain multiple heads.
- */
-struct drm_device {
- struct list_head legacy_dev_list;/**< list of devices per driver for stealth attach cleanup */
- int if_version; /**< Highest interface version set */
-
- /** \name Lifetime Management */
- /*@{ */
- struct kref ref; /**< Object ref-count */
- struct device *dev; /**< Device structure of bus-device */
- struct drm_driver *driver; /**< DRM driver managing the device */
- void *dev_private; /**< DRM driver private data */
- struct drm_minor *control; /**< Control node */
- struct drm_minor *primary; /**< Primary node */
- struct drm_minor *render; /**< Render node */
- atomic_t unplugged; /**< Flag whether dev is dead */
- struct inode *anon_inode; /**< inode for private address-space */
- char *unique; /**< unique name of the device */
- /*@} */
-
- /** \name Locks */
- /*@{ */
- struct mutex struct_mutex; /**< For others */
- struct mutex master_mutex; /**< For drm_minor::master and drm_file::is_master */
- /*@} */
-
- /** \name Usage Counters */
- /*@{ */
- int open_count; /**< Outstanding files open, protected by drm_global_mutex. */
- spinlock_t buf_lock; /**< For drm_device::buf_use and a few other things. */
- int buf_use; /**< Buffers in use -- cannot alloc */
- atomic_t buf_alloc; /**< Buffer allocation in progress */
- /*@} */
-
- struct list_head filelist;
-
- /** \name Memory management */
- /*@{ */
- struct list_head maplist; /**< Linked list of regions */
- struct drm_open_hash map_hash; /**< User token hash table for maps */
-
- /** \name Context handle management */
- /*@{ */
- struct list_head ctxlist; /**< Linked list of context handles */
- struct mutex ctxlist_mutex; /**< For ctxlist */
-
- struct idr ctx_idr;
-
- struct list_head vmalist; /**< List of vmas (for debugging) */
-
- /*@} */
-
- /** \name DMA support */
- /*@{ */
- struct drm_device_dma *dma; /**< Optional pointer for DMA support */
- /*@} */
-
- /** \name Context support */
- /*@{ */
-
- __volatile__ long context_flag; /**< Context swapping flag */
- int last_context; /**< Last current context */
- /*@} */
-
- /** \name VBLANK IRQ support */
- /*@{ */
- bool irq_enabled;
- int irq;
-#ifdef __NetBSD__
- struct drm_bus_irq_cookie *irq_cookie;
-#endif
-
- /*
- * At load time, disabling the vblank interrupt won't be allowed since
- * old clients may not call the modeset ioctl and therefore misbehave.
- * Once the modeset ioctl *has* been called though, we can safely
- * disable them when unused.
- */
- bool vblank_disable_allowed;
-
- /*
- * If true, vblank interrupt will be disabled immediately when the
- * refcount drops to zero, as opposed to via the vblank disable
- * timer.
- * This can be set to true it the hardware has a working vblank
- * counter and the driver uses drm_vblank_on() and drm_vblank_off()
- * appropriately.
- */
- bool vblank_disable_immediate;
-
- /* array of size num_crtcs */
- struct drm_vblank_crtc *vblank;
-
- spinlock_t vblank_time_lock; /**< Protects vblank count and time updates during vblank enable/disable */
- spinlock_t vbl_lock;
-
- u32 max_vblank_count; /**< size of vblank counter register */
-
- /**
- * List of events
- */
- struct list_head vblank_event_list;
- spinlock_t event_lock;
-
- /*@} */
-
- struct drm_agp_head *agp; /**< AGP data */
-
- struct pci_dev *pdev; /**< PCI device structure */
-#ifdef __alpha__
- struct pci_controller *hose;
-#endif
-
- struct platform_device *platformdev; /**< Platform device struture */
- struct virtio_device *virtdev;
-
-#ifdef __NetBSD__
- bus_space_tag_t bst;
- struct drm_bus_map *bus_maps;
- unsigned bus_nmaps;
- bus_dma_tag_t bus_dmat; /* bus's full DMA tag, for internal use */
- bus_dma_tag_t bus_dmat32; /* bus's 32-bit DMA tag */
- bus_dma_tag_t dmat; /* DMA tag for driver, may be subregion */
- bool dmat_subregion_p;
- bus_addr_t dmat_subregion_min;
- bus_addr_t dmat_subregion_max;
- vmem_t *cma_pool;
-#endif
-
- struct drm_sg_mem *sg; /**< Scatter gather memory */
- unsigned int num_crtcs; /**< Number of CRTCs on this device */
-
- struct {
- int context;
- struct drm_hw_lock *lock;
- } sigdata;
-
- struct drm_local_map *agp_buffer_map;
- unsigned int agp_buffer_token;
-
- struct drm_mode_config mode_config; /**< Current mode config */
-
- /** \name GEM information */
- /*@{ */
- struct mutex object_name_lock;
- struct idr object_name_idr;
- struct drm_vma_offset_manager *vma_offset_manager;
- /*@} */
- int switch_power_state;
-};
-
#define DRM_SWITCH_POWER_ON 0
#define DRM_SWITCH_POWER_OFF 1
#define DRM_SWITCH_POWER_CHANGING 2
diff -r 162cb62253d3 -r c46a6b9f7ead sys/external/bsd/drm2/dist/include/drm/drm_device.h
--- a/sys/external/bsd/drm2/dist/include/drm/drm_device.h Sun Dec 19 01:55:37 2021 +0000
+++ b/sys/external/bsd/drm2/dist/include/drm/drm_device.h Sun Dec 19 01:55:45 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: drm_device.h,v 1.2 2021/12/18 23:45:45 riastradh Exp $ */
+/* $NetBSD: drm_device.h,v 1.3 2021/12/19 01:55:45 riastradh Exp $ */
#ifndef _DRM_DEVICE_H_
#define _DRM_DEVICE_H_
@@ -194,6 +194,9 @@
* @irq: Used by the drm_irq_install() and drm_irq_unistall() helpers.
*/
int irq;
+#ifdef __NetBSD__
+ struct drm_bus_irq_cookie *irq_cookie;
+#endif
/**
* @vblank_disable_immediate:
@@ -276,6 +279,20 @@
/** @hose: PCI hose, only used on ALPHA platforms. */
struct pci_controller *hose;
#endif
+
+#ifdef __NetBSD__
+ bus_space_tag_t bst;
+ struct drm_bus_map *bus_maps;
+ unsigned bus_nmaps;
+ bus_dma_tag_t bus_dmat; /* bus's full DMA tag, for internal use */
+ bus_dma_tag_t bus_dmat32; /* bus's 32-bit DMA tag */
+ bus_dma_tag_t dmat; /* DMA tag for driver, may be subregion */
+ bool dmat_subregion_p;
+ bus_addr_t dmat_subregion_min;
+ bus_addr_t dmat_subregion_max;
+ vmem_t *cma_pool;
+#endif
+
/** @num_crtcs: Number of CRTCs on this device */
unsigned int num_crtcs;
Home |
Main Index |
Thread Index |
Old Index