summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-06-05 10:38:21 +0100
committerDave Airlie <airlied@redhat.com>2012-06-05 11:31:45 +0100
commitc9824827422f8ec4f46c9cba42d871c98dc54761 (patch)
treebec5fd850383002d0fa5b706d9da99476b10b60c
parentd9850a05003008d86d0b226bcd775aebdd43bccd (diff)
sna: drop using block/wakeup data.
These went away in the new server API, and really if this made any measurable difference, I'd be impressed. Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--src/sna/sna.h2
-rw-r--r--src/sna/sna_driver.c14
2 files changed, 6 insertions, 10 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h
index df7f42fa..f8ec7964 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -252,9 +252,7 @@ struct sna {
struct intel_chipset chipset;
ScreenBlockHandlerProcPtr BlockHandler;
- void *BlockData;
ScreenWakeupHandlerProcPtr WakeupHandler;
- void *WakeupData;
CloseScreenProcPtr CloseScreen;
PicturePtr clear;
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 59ee57fe..a389acff 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -577,13 +577,14 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
static void
sna_block_handler(int i, pointer data, pointer timeout, pointer read_mask)
{
- struct sna *sna = data;
+ ScrnInfoPtr scrn = xf86ScreenToScrn(screenInfo.screens[i]);
+ struct sna *sna = to_sna(scrn);
struct timeval **tv = timeout;
DBG(("%s (tv=%ld.%06ld)\n", __FUNCTION__,
*tv ? (*tv)->tv_sec : -1, *tv ? (*tv)->tv_usec : 0));
- sna->BlockHandler(i, sna->BlockData, timeout, read_mask);
+ sna->BlockHandler(i, data, timeout, read_mask);
if (*tv == NULL || ((*tv)->tv_usec | (*tv)->tv_sec))
sna_accel_block_handler(sna, tv);
@@ -592,7 +593,8 @@ sna_block_handler(int i, pointer data, pointer timeout, pointer read_mask)
static void
sna_wakeup_handler(int i, pointer data, unsigned long result, pointer read_mask)
{
- struct sna *sna = data;
+ ScrnInfoPtr scrn = xf86ScreenToScrn(screenInfo.screens[i]);
+ struct sna *sna = to_sna(scrn);
DBG(("%s\n", __FUNCTION__));
@@ -600,7 +602,7 @@ sna_wakeup_handler(int i, pointer data, unsigned long result, pointer read_mask)
if ((int)result < 0)
return;
- sna->WakeupHandler(i, sna->WakeupData, result, read_mask);
+ sna->WakeupHandler(i, data, result, read_mask);
sna_accel_wakeup_handler(sna, read_mask);
@@ -900,14 +902,10 @@ sna_screen_init(int scrnIndex, ScreenPtr screen, int argc, char **argv)
scrn->vtSema = TRUE;
sna->BlockHandler = screen->BlockHandler;
- sna->BlockData = screen->blockData;
screen->BlockHandler = sna_block_handler;
- screen->blockData = sna;
sna->WakeupHandler = screen->WakeupHandler;
- sna->WakeupData = screen->wakeupData;
screen->WakeupHandler = sna_wakeup_handler;
- screen->wakeupData = sna;
screen->SaveScreen = xf86SaveScreen;
sna->CloseScreen = screen->CloseScreen;