summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-11-24 14:37:51 +0000
committerDave Airlie <airlied@redhat.com>2011-11-24 14:37:51 +0000
commit3ced5f7ee4e94a7fb90dfc49ade97a49ed036f89 (patch)
treec2573ec193bdc3579f10dbb461ce4b49b9e938bd
parented1571bed275f13726d07f425383f25e6633c11f (diff)
move stuff from scrn->nv
-rw-r--r--src/drmmode_display.c5
-rw-r--r--src/nouveau_exa.c2
-rw-r--r--src/nv04_exa.c9
-rw-r--r--src/nv10_exa.c3
-rw-r--r--src/nv30_exa.c3
-rw-r--r--src/nv40_exa.c3
-rw-r--r--src/nv50_exa.c12
-rw-r--r--src/nv_accel_common.c3
-rw-r--r--src/nv_dma.c23
-rw-r--r--src/nv_driver.c8
-rw-r--r--src/nv_proto.h6
-rw-r--r--src/nv_type.h2
-rw-r--r--src/nvc0_exa.c12
13 files changed, 38 insertions, 53 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 3afef66..5068b9f 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -431,12 +431,13 @@ static void *
drmmode_crtc_shadow_allocate(xf86CrtcPtr crtc, int width, int height)
{
ScrnInfoPtr scrn = crtc->scrn;
+ NVPtr pNv = NVPTR(scrn);
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
drmmode_ptr drmmode = drmmode_crtc->drmmode;
void *virtual;
int ret;
- ret = nouveau_allocate_surface(scrn, width, height,
+ ret = nouveau_allocate_surface(pNv, width, height,
scrn->bitsPerPixel,
NOUVEAU_CREATE_PIXMAP_SCANOUT,
&drmmode_crtc->rotate_pitch,
@@ -1087,7 +1088,7 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
nouveau_bo_ref(pNv->scanout, &old_bo);
nouveau_bo_ref(NULL, &pNv->scanout);
- ret = nouveau_allocate_surface(scrn, width, height,
+ ret = nouveau_allocate_surface(pNv, width, height,
scrn->bitsPerPixel,
NOUVEAU_CREATE_PIXMAP_SCANOUT,
&pitch, &pNv->scanout);
diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
index 6ffee2a..7e0dd5b 100644
--- a/src/nouveau_exa.c
+++ b/src/nouveau_exa.c
@@ -329,7 +329,7 @@ nouveau_exa_create_pixmap(ScreenPtr pScreen, int width, int height, int depth,
if (!nvpix)
return NULL;
- ret = nouveau_allocate_surface(scrn, width, height, bitsPerPixel,
+ ret = nouveau_allocate_surface(pNv, width, height, bitsPerPixel,
usage_hint, new_pitch, &nvpix->bo);
if (!ret) {
free(nvpix);
diff --git a/src/nv04_exa.c b/src/nv04_exa.c
index 2603bd4..60e0fba 100644
--- a/src/nv04_exa.c
+++ b/src/nv04_exa.c
@@ -67,8 +67,7 @@ NV04EXASetROP(ScrnInfoPtr pScrn, CARD32 alu, CARD32 planemask)
static void
NV04EXAStateSolidResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV04EXAPrepareSolid(pNv->pdpix, pNv->alu, pNv->planemask, pNv->fg_colour);
}
@@ -171,8 +170,7 @@ NV04EXADoneSolid (PixmapPtr pPixmap)
static void
NV04EXAStateCopyResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV04EXAPrepareCopy(pNv->pspix, pNv->pdpix, 0, 0, pNv->alu,
pNv->planemask);
@@ -300,8 +298,7 @@ NV04EXADoneCopy(PixmapPtr pDstPixmap)
static Bool
NV04EXAStateIFCSubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
struct nouveau_grobj *surf2d = pNv->NvContextSurfaces;
struct nouveau_grobj *ifc = pNv->NvImageFromCpu;
struct nouveau_bo *bo = nouveau_pixmap_bo(pNv->pdpix);
diff --git a/src/nv10_exa.c b/src/nv10_exa.c
index cdfed37..411cfdd 100644
--- a/src/nv10_exa.c
+++ b/src/nv10_exa.c
@@ -569,8 +569,7 @@ setup_blend_function(NVPtr pNv)
static void
NV10StateCompositeReemit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV10EXAPrepareComposite(pNv->alu, pNv->pspict, pNv->pmpict, pNv->pdpict,
pNv->pspix, pNv->pmpix, pNv->pdpix);
diff --git a/src/nv30_exa.c b/src/nv30_exa.c
index 50342b7..433578b 100644
--- a/src/nv30_exa.c
+++ b/src/nv30_exa.c
@@ -454,8 +454,7 @@ NV30EXACheckComposite(int op, PicturePtr psPict,
static void
NV30EXAStateCompositeReemit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV30EXAPrepareComposite(pNv->alu, pNv->pspict, pNv->pmpict, pNv->pdpict,
pNv->pspix, pNv->pmpix, pNv->pdpix);
diff --git a/src/nv40_exa.c b/src/nv40_exa.c
index cc44dad..a617ba6 100644
--- a/src/nv40_exa.c
+++ b/src/nv40_exa.c
@@ -400,8 +400,7 @@ NV40EXACheckComposite(int op, PicturePtr psPict,
static void
NV40EXAStateCompositeReemit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV40EXAPrepareComposite(pNv->alu, pNv->pspict, pNv->pmpict, pNv->pdpict,
pNv->pspix, pNv->pmpix, pNv->pdpix);
diff --git a/src/nv50_exa.c b/src/nv50_exa.c
index 6f753f2..04c1126 100644
--- a/src/nv50_exa.c
+++ b/src/nv50_exa.c
@@ -214,8 +214,7 @@ NV50EXASetROP(PixmapPtr pdpix, int alu, Pixel planemask)
static void
NV50EXAStateSolidResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV50EXAPrepareSolid(pNv->pdpix, pNv->alu, pNv->planemask,
pNv->fg_colour);
@@ -280,8 +279,7 @@ NV50EXADoneSolid(PixmapPtr pdpix)
static void
NV50EXAStateCopyResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV50EXAPrepareCopy(pNv->pspix, pNv->pdpix, 0, 0, pNv->alu,
pNv->planemask);
@@ -357,8 +355,7 @@ NV50EXADoneCopy(PixmapPtr pdpix)
static void
NV50EXAStateSIFCResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
if (MARK_RING(pNv->chan, 32, 2))
return;
@@ -823,8 +820,7 @@ NV50EXACheckComposite(int op,
static void
NV50EXAStateCompositeResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NV50EXAPrepareComposite(pNv->alu, pNv->pspict, pNv->pmpict, pNv->pdpict,
pNv->pspix, pNv->pmpix, pNv->pdpix);
diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
index fa0cdd2..cfdaf63 100644
--- a/src/nv_accel_common.c
+++ b/src/nv_accel_common.c
@@ -24,10 +24,9 @@
#include "nv04_pushbuf.h"
Bool
-nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp,
+nouveau_allocate_surface(NVPtr pNv, int width, int height, int bpp,
int usage_hint, int *pitch, struct nouveau_bo **bo)
{
- NVPtr pNv = NVPTR(scrn);
Bool scanout = (usage_hint & NOUVEAU_CREATE_PIXMAP_SCANOUT);
Bool tiled = (usage_hint & NOUVEAU_CREATE_PIXMAP_TILED);
int tile_mode = 0, tile_flags = 0;
diff --git a/src/nv_dma.c b/src/nv_dma.c
index 49ed40a..feffc75 100644
--- a/src/nv_dma.c
+++ b/src/nv_dma.c
@@ -25,10 +25,8 @@
#include "nv_include.h"
static void
-NVLockedUp(ScrnInfoPtr pScrn)
+NVLockedUp(NVPtr pNv)
{
- NVPtr pNv = NVPTR(pScrn);
-
/* avoid re-entering FatalError on shutdown */
if (pNv->LockedUp)
return;
@@ -40,42 +38,39 @@ NVLockedUp(ScrnInfoPtr pScrn)
static void
NVChannelHangNotify(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
+ NVPtr pNv = chan->user_private;
- NVLockedUp(pScrn);
+ NVLockedUp(pNv);
}
Bool
-NVInitDma(ScrnInfoPtr pScrn)
+NVInitDma(NVPtr pNv)
{
- NVPtr pNv = NVPTR(pScrn);
int ret;
ret = nouveau_channel_alloc(pNv->dev, NvDmaFB, NvDmaTT, 24*1024,
&pNv->chan);
if (ret) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ xf86DrvMsg(pNv->log_index, X_ERROR,
"Error creating GPU channel: %d\n", ret);
return FALSE;
}
- pNv->chan->user_private = pScrn;
+ pNv->chan->user_private = pNv;
pNv->chan->hang_notify = NVChannelHangNotify;
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ xf86DrvMsg(pNv->log_index, X_INFO,
"Opened GPU channel %d\n", pNv->chan->id);
return TRUE;
}
void
-NVTakedownDma(ScrnInfoPtr pScrn)
+NVTakedownDma(NVPtr pNv)
{
- NVPtr pNv = NVPTR(pScrn);
-
if (!pNv->chan)
return;
- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ xf86DrvMsg(pNv->log_index, X_INFO,
"Closed GPU channel %d\n", pNv->chan->id);
nouveau_channel_free(&pNv->chan);
}
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 781ce81..624c673 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -449,7 +449,7 @@ NVCloseScreen(int scrnIndex, ScreenPtr pScreen)
NVAccelFree(pNv);
NVTakedownVideo(pScrn);
- NVTakedownDma(pScrn);
+ NVTakedownDma(pNv);
NVUnmapMem(pScrn);
xf86_cursors_fini(pScreen);
@@ -638,6 +638,8 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
pNv = NVPTR(pScrn);
+ pNv->log_index = pScrn->scrnIndex;
+
/* Get the entity, and make sure it is PCI. */
pNv->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
if (pNv->pEnt->location.type != BUS_PCI)
@@ -904,7 +906,7 @@ NVMapMem(ScrnInfoPtr pScrn)
struct nouveau_device *dev = pNv->dev;
int ret, pitch, size;
- ret = nouveau_allocate_surface(pScrn, pScrn->virtualX, pScrn->virtualY,
+ ret = nouveau_allocate_surface(pNv, pScrn->virtualX, pScrn->virtualY,
pScrn->bitsPerPixel,
NOUVEAU_CREATE_PIXMAP_SCANOUT,
&pitch, &pNv->scanout);
@@ -1030,7 +1032,7 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
int displayWidth;
if (!pNv->NoAccel) {
- if (!NVInitDma(pScrn) || !NVAccelCommonInit(pNv)) {
+ if (!NVInitDma(pNv) || !NVAccelCommonInit(pNv)) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Error initialising acceleration. "
"Falling back to NoAccel\n");
diff --git a/src/nv_proto.h b/src/nv_proto.h
index 4f64129..245787d 100644
--- a/src/nv_proto.h
+++ b/src/nv_proto.h
@@ -18,7 +18,7 @@ Bool NVAccelGetCtxSurf2DFormatFromPicture(PicturePtr pPix, int *fmt_ret);
PixmapPtr NVGetDrawablePixmap(DrawablePtr pDraw);
void NVAccelFree(NVPtr pNv);
void NV11SyncToVBlank(PixmapPtr ppix, BoxPtr box);
-Bool nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height,
+Bool nouveau_allocate_surface(NVPtr pNv, int width, int height,
int bpp, int usage_hint, int *pitch,
struct nouveau_bo **bo);
@@ -36,8 +36,8 @@ void NVSetPortDefaults (ScrnInfoPtr pScrn, NVPortPrivPtr pPriv);
unsigned int nv_window_belongs_to_crtc(ScrnInfoPtr, int, int, int, int);
/* in nv_dma.c */
-Bool NVInitDma(ScrnInfoPtr pScrn);
-void NVTakedownDma(ScrnInfoPtr pScrn);
+Bool NVInitDma(NVPtr pNv);
+void NVTakedownDma(NVPtr pNv);
/* in nouveau_exa.c */
Bool nouveau_exa_init(ScreenPtr pScreen);
diff --git a/src/nv_type.h b/src/nv_type.h
index 4204556..ef17cbe 100644
--- a/src/nv_type.h
+++ b/src/nv_type.h
@@ -29,6 +29,8 @@
/* NV50 */
typedef struct _NVRec *NVPtr;
typedef struct _NVRec {
+
+ int log_index;
uint32_t Architecture;
EntityInfoPtr pEnt;
struct pci_device *PciInfo;
diff --git a/src/nvc0_exa.c b/src/nvc0_exa.c
index 9833275..2cbd6ad 100644
--- a/src/nvc0_exa.c
+++ b/src/nvc0_exa.c
@@ -392,8 +392,7 @@ NVC0EXASetROP(PixmapPtr pdpix, int alu, Pixel planemask)
static void
NVC0EXAStateSolidResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NVC0EXAPrepareSolid(pNv->pdpix, pNv->alu, pNv->planemask,
pNv->fg_colour);
@@ -458,8 +457,7 @@ NVC0EXADoneSolid(PixmapPtr pdpix)
static void
NVC0EXAStateCopyResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NVC0EXAPrepareCopy(pNv->pspix, pNv->pdpix, 0, 0, pNv->alu,
pNv->planemask);
@@ -535,8 +533,7 @@ NVC0EXADoneCopy(PixmapPtr pdpix)
static void
NVC0EXAStateSIFCResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
if (MARK_RING(pNv->chan, 32, 2))
return;
@@ -1017,8 +1014,7 @@ NVC0EXACheckComposite(int op,
static void
NVC0EXAStateCompositeResubmit(struct nouveau_channel *chan)
{
- ScrnInfoPtr pScrn = chan->user_private;
- NVPtr pNv = NVPTR(pScrn);
+ NVPtr pNv = chan->user_private;
NVC0EXAPrepareComposite(pNv->alu, pNv->pspict, pNv->pmpict, pNv->pdpict,
pNv->pspix, pNv->pmpix, pNv->pdpix);