summaryrefslogtreecommitdiff
path: root/xserver/hw/xfree86/drivers/modesetting/driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'xserver/hw/xfree86/drivers/modesetting/driver.h')
-rw-r--r--xserver/hw/xfree86/drivers/modesetting/driver.h41
1 files changed, 29 insertions, 12 deletions
diff --git a/xserver/hw/xfree86/drivers/modesetting/driver.h b/xserver/hw/xfree86/drivers/modesetting/driver.h
index 3decc3eea..5e1c5d988 100644
--- a/xserver/hw/xfree86/drivers/modesetting/driver.h
+++ b/xserver/hw/xfree86/drivers/modesetting/driver.h
@@ -43,13 +43,25 @@
#include "drmmode_display.h"
#define DRV_ERROR(msg) xf86DrvMsg(pScrn->scrnIndex, X_ERROR, msg);
-
-typedef struct {
- int lastInstance;
- int refCount;
- ScrnInfoPtr pScrn_1;
- ScrnInfoPtr pScrn_2;
-} EntRec, *EntPtr;
+#define MS_LOGLEVEL_DEBUG 4
+
+typedef enum {
+ OPTION_SW_CURSOR,
+ OPTION_DEVICE_PATH,
+ OPTION_SHADOW_FB,
+ OPTION_ACCEL_METHOD,
+ OPTION_PAGEFLIP,
+ OPTION_ZAPHOD_HEADS,
+} modesettingOpts;
+
+typedef struct
+{
+ int fd;
+ int fd_ref;
+ unsigned long fd_wakeup_registered; /* server generation for which fd has been registered for wakeup handling */
+ int fd_wakeup_ref;
+ unsigned int assigned_crtcs;
+} modesettingEntRec, *modesettingEntPtr;
typedef void (*ms_drm_handler_proc)(uint64_t frame,
uint64_t usec,
@@ -74,8 +86,6 @@ struct ms_drm_queue {
typedef struct _modesettingRec {
int fd;
- EntPtr entityPrivate;
-
int Chipset;
EntityInfoPtr pEnt;
#if XSERVER_LIBPCIACCESS
@@ -88,9 +98,6 @@ typedef struct _modesettingRec {
Bool noAccel;
CloseScreenProcPtr CloseScreen;
- /* Broken-out options. */
- OptionInfoPtr Options;
-
unsigned int SaveGeneration;
CreateScreenResourcesProcPtr createScreenResources;
@@ -101,6 +108,12 @@ typedef struct _modesettingRec {
drmEventContext event_context;
+ /**
+ * Page flipping stuff.
+ * @{
+ */
+ /** @} */
+
DamagePtr damage;
Bool dirty_enabled;
@@ -108,6 +121,7 @@ typedef struct _modesettingRec {
} modesettingRec, *modesettingPtr;
#define modesettingPTR(p) ((modesettingPtr)((p)->driverPrivate))
+modesettingEntPtr ms_ent_priv(ScrnInfoPtr scrn);
uint32_t ms_drm_queue_alloc(xf86CrtcPtr crtc,
void *data,
@@ -117,6 +131,9 @@ uint32_t ms_drm_queue_alloc(xf86CrtcPtr crtc,
void ms_drm_abort(ScrnInfoPtr scrn,
Bool (*match)(void *data, void *match_data),
void *match_data);
+void ms_drm_abort_seq(ScrnInfoPtr scrn, uint32_t seq);
+
+Bool ms_crtc_on(xf86CrtcPtr crtc);
xf86CrtcPtr ms_dri2_crtc_covering_drawable(DrawablePtr pDraw);
xf86CrtcPtr ms_covering_crtc(ScrnInfoPtr scrn, BoxPtr box,