[PATCH 14/19] qxl.h: add device_primary tri state UNDEFINED/NONE/CREATED
Alon Levy
alevy at redhat.com
Thu May 31 03:24:48 PDT 2012
---
src/qxl.h | 8 ++++++++
src/qxl_driver.c | 4 ++++
2 files changed, 12 insertions(+)
diff --git a/src/qxl.h b/src/qxl.h
index c6d3793..56e03a3 100644
--- a/src/qxl.h
+++ b/src/qxl.h
@@ -126,6 +126,12 @@ enum {
OPTION_COUNT,
};
+enum {
+ QXL_DEVICE_PRIMARY_UNDEFINED,
+ QXL_DEVICE_PRIMARY_NONE,
+ QXL_DEVICE_PRIMARY_CREATED,
+};
+
struct _qxl_screen_t
{
/* These are the names QXL uses */
@@ -138,6 +144,8 @@ struct _qxl_screen_t
struct qxl_ring * command_ring;
struct qxl_ring * cursor_ring;
struct qxl_ring * release_ring;
+
+ int device_primary;
int num_modes;
struct QXLMode * modes;
diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index 1dbde5b..d78ea23 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -179,6 +179,7 @@ void qxl_create_primary(qxl_screen_t *qxl)
#else
ioport_write(qxl, QXL_IO_CREATE_PRIMARY, 0);
#endif
+ qxl->device_primary = QXL_DEVICE_PRIMARY_CREATED;
}
void qxl_notify_oom(qxl_screen_t *qxl)
@@ -547,6 +548,7 @@ static void
qxl_reset_and_create_mem_slots (qxl_screen_t *qxl)
{
ioport_write(qxl, QXL_IO_RESET, 0);
+ qxl->device_primary = QXL_DEVICE_PRIMARY_NONE;
/* Mem slots */
ErrorF ("slots start: %d, slots end: %d\n",
qxl->rom->slots_start,
@@ -1236,6 +1238,7 @@ qxl_leave_vt(int scrnIndex, int flags)
ioport_write(qxl, QXL_IO_RESET, 0);
qxl_restore_state(pScrn);
+ qxl->device_primary = QXL_DEVICE_PRIMARY_NONE;
}
static Bool
@@ -1449,6 +1452,7 @@ qxl_pre_init(ScrnInfoPtr pScrn, int flags)
pScrn->driverPrivate = xnfcalloc(sizeof(qxl_screen_t), 1);
qxl = pScrn->driverPrivate;
memset(qxl, 0, sizeof(qxl));
+ qxl->device_primary = QXL_DEVICE_PRIMARY_UNDEFINED;
qxl->entity = xf86GetEntityInfo(pScrn->entityList[0]);
--
1.7.10.1
More information about the xorg-devel
mailing list