summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hellström <thomas@shipmail.org>2008-10-29 11:12:06 +0000
committerThomas Hellström <thomas@shipmail.org>2008-10-29 11:12:06 +0000
commit1bb9c9a608a1697203ac2b48158b0f539bf0fb90 (patch)
tree7681543c7f21ef84b04da7e27e6d5c33aa856023
parentc085b091ec8604f6a6b43f3d6514ebe8b1393356 (diff)
Add support for latest WSBM. P4M890 fixes.
-rw-r--r--src/ochr_ioctl.c9
-rw-r--r--src/via_accel.c5
-rw-r--r--src/via_cursor.c12
3 files changed, 13 insertions, 13 deletions
diff --git a/src/ochr_ioctl.c b/src/ochr_ioctl.c
index 1013b97..1482cd2 100644
--- a/src/ochr_ioctl.c
+++ b/src/ochr_ioctl.c
@@ -622,14 +622,7 @@ ochr_execbuf(int fd, struct _ViaCommandBuffer *cBuf)
exec_req->cmd_buffer = (uint64_t) (unsigned long)
cBuf->buf;
exec_req->cmd_buffer_size = cBuf->pos << 2;
-
- /*
- * FIXME: Use AGP when we've resolved the locks that happen
- * when we run 3D DRI clients and X server AGP command submission.
- */
-
- /* exec_req->mechanism = (cBuf->needsPCI) ?
- _VIA_MECHANISM_PCI : _VIA_MECHANISM_AGP; */
+ exec_req->context = DRIGetContext(cBuf->pScrn->pScreen);
exec_req->mechanism = (cBuf->needsPCI) ? _VIA_MECHANISM_PCI :
_VIA_MECHANISM_AGP;
exec_req->exec_flags = DRM_VIA_FENCE_NO_USER | cBuf->execFlags;
diff --git a/src/via_accel.c b/src/via_accel.c
index 3095839..56f0242 100644
--- a/src/via_accel.c
+++ b/src/via_accel.c
@@ -169,7 +169,7 @@ viaSetupCBuffer(ScrnInfoPtr pScrn, ViaCommandBuffer * buf, unsigned size)
if (!buf->reloc_info)
goto out_err0;
- buf->validate_list = wsbmBOCreateList(30);
+ buf->validate_list = wsbmBOCreateList(30, 1);
if (!buf->validate_list)
goto out_err1;
@@ -1374,6 +1374,9 @@ viaExaPrepareAccess(PixmapPtr pPix, int index)
flags = (index == EXA_PREPARE_DEST) ?
WSBM_SYNCCPU_WRITE : WSBM_SYNCCPU_READ;
ret = wsbmBOSyncForCpu(buf->buf, flags);
+ if (ret) {
+ ErrorF("Ret is %d: \"%s\".\n", ret, strerror(-ret));
+ }
}
return (ret == 0);
}
diff --git a/src/via_cursor.c b/src/via_cursor.c
index e040459..3af4978 100644
--- a/src/via_cursor.c
+++ b/src/via_cursor.c
@@ -79,7 +79,8 @@ VIAHWCursorInit(ScreenPtr pScreen)
pVia->cursorOffset = wsbmBOOffset(pVia->scanout.bufs[VIA_SCANOUT_CURSOR]);
memset(pVia->cursorMap, 0x00, VIA_CURSOR_SIZE);
- if (pVia->Chipset == VIA_CX700) {
+ if (pVia->Chipset == VIA_CX700 ||
+ pVia->Chipset == VIA_P4M890) {
if (!pVia->pBIOSInfo->PanelActive) {
pVia->CursorRegControl = VIA_REG_HI_CONTROL0;
pVia->CursorRegBase = VIA_REG_HI_BASE0;
@@ -138,7 +139,8 @@ VIAHWCursorInit(ScreenPtr pScreen)
VIASETREG(pVia->CursorRegBase, pVia->cursorOffset);
VIASETREG(pVia->CursorRegTransKey, 0);
- if (pVia->Chipset == VIA_CX700) {
+ if (pVia->Chipset == VIA_CX700 ||
+ pVia->Chipset == VIA_P4M890) {
if (!pVia->pBIOSInfo->PanelActive) {
VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, 0x00FFFFFF);
VIASETREG(VIA_REG_V327_HI_INVTCOLOR, 0x00FFFFFF);
@@ -175,7 +177,8 @@ ViaCursorStore(ScrnInfoPtr pScrn)
pVia->CursorTransparentKey = VIAGETREG(pVia->CursorRegTransKey);
- if (pVia->Chipset == VIA_CX700) {
+ if (pVia->Chipset == VIA_CX700 ||
+ pVia->Chipset == VIA_P4M890) {
if (!pVia->pBIOSInfo->PanelActive) {
pVia->CursorPrimHiInvtColor = VIAGETREG(VIA_REG_PRIM_HI_INVTCOLOR);
pVia->CursorV327HiInvtColor = VIAGETREG(VIA_REG_V327_HI_INVTCOLOR);
@@ -205,7 +208,8 @@ ViaCursorRestore(ScrnInfoPtr pScrn)
VIASETREG(pVia->CursorRegTransKey, pVia->CursorTransparentKey);
- if (pVia->Chipset == VIA_CX700) {
+ if (pVia->Chipset == VIA_CX700 ||
+ pVia->Chipset == VIA_P4M890) {
if (!pVia->pBIOSInfo->PanelActive) {
VIASETREG(VIA_REG_PRIM_HI_INVTCOLOR, pVia->CursorPrimHiInvtColor);
VIASETREG(VIA_REG_V327_HI_INVTCOLOR, pVia->CursorV327HiInvtColor);