summaryrefslogtreecommitdiff
path: root/src/savage_streams.c
diff options
context:
space:
mode:
authorAlex Deucher <agd5f@yahoo.com>2005-03-16 01:00:38 +0000
committerAlex Deucher <agd5f@yahoo.com>2005-03-16 01:00:38 +0000
commit8bbfca79a7397e997b875ea8943c1120114904e0 (patch)
tree740cc0a37c3405a4f164598a976b53df59b3aca3 /src/savage_streams.c
parent689e9535e014b658d0aef2ebf554090226597a4d (diff)
- small fixups for old streams
- more work on Xv support for savage2000 (still not working 100%)
Diffstat (limited to 'src/savage_streams.c')
-rw-r--r--src/savage_streams.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/savage_streams.c b/src/savage_streams.c
index 8b6d560..2fe2c25 100644
--- a/src/savage_streams.c
+++ b/src/savage_streams.c
@@ -145,6 +145,8 @@ void SavageInitStreamsOld(ScrnInfoPtr pScrn)
OUTREG(PSTREAM_FBSIZE_REG,
pScrn->virtualY * pScrn->virtualX * (pScrn->bitsPerPixel >> 3));
}
+
+ OUTREG(FIFO_CONTROL, 0x18ffeL);
OUTREG( PSTREAM_WINDOW_START_REG, OS_XY(0,0) );
OUTREG( PSTREAM_WINDOW_SIZE_REG, OS_WH(pScrn->displayWidth, pScrn->virtualY) );
@@ -319,10 +321,11 @@ void SavageInitStreams2000(ScrnInfoPtr pScrn)
}
- OUTREG( SEC_STREAM_CKEY_LOW, 0 );
+ OUTREG( SEC_STREAM_CKEY_LOW, (4L << 29) );
OUTREG( SEC_STREAM_CKEY_UPPER, 0 );
OUTREG( SEC_STREAM_HSCALING, 0 );
OUTREG( SEC_STREAM_VSCALING, 0 );
+ OUTREG(SEC_STREAM2_STRIDE_LPB, 0);
OUTREG( BLEND_CONTROL, 0 );
OUTREG( SEC_STREAM_FBUF_ADDR0, 0 );
OUTREG( SEC_STREAM_FBUF_ADDR1, 0 );
@@ -334,11 +337,22 @@ void SavageInitStreams2000(ScrnInfoPtr pScrn)
OUTREG( SEC_STREAM_OPAQUE_OVERLAY, 0 );
OUTREG( SEC_STREAM_STRIDE, 0 );
+ /* FIFO related regs */
+ OUTREG8(CRT_ADDRESS_REG,0x86);
+ OUTREG8(CRT_DATA_REG,0x2c);
+
+ OUTREG8(CRT_ADDRESS_REG,0x87);
+ OUTREG8(CRT_DATA_REG,0xf8);
+
+ OUTREG8(CRT_ADDRESS_REG,0x89);
+ OUTREG8(CRT_DATA_REG,0x40);
+
+
/* These values specify brightness, contrast, saturation and hue. */
- OUTREG( SEC_STREAM_COLOR_CONVERT0_2000, 0x0000C892 );
- OUTREG( SEC_STREAM_COLOR_CONVERT1_2000, 0x00033400 );
- OUTREG( SEC_STREAM_COLOR_CONVERT2_2000, 0x000001CF );
- OUTREG( SEC_STREAM_COLOR_CONVERT3_2000, 0x01F1547E );
+ OUTREG( SEC_STREAM_COLOR_CONVERT0_2000, 0x640092 /*0x0000C892*/ );
+ OUTREG( SEC_STREAM_COLOR_CONVERT1_2000, 0x19a0000 /*0x00033400*/ );
+ OUTREG( SEC_STREAM_COLOR_CONVERT2_2000, 0x001cf /*0x000001CF*/ );
+ OUTREG( SEC_STREAM_COLOR_CONVERT3_2000, 0xF8CA007E /*0x01F1547E*/ );
}
@@ -384,10 +398,10 @@ void PatchEnableSPofPanel(ScrnInfoPtr pScrn)
}
VerticalRetraceWait();
-
+
OUTREG8(CRT_ADDRESS_REG,0x67);
OUTREG8(CRT_DATA_REG,(INREG8(CRT_DATA_REG)&0xf3)|0x04);
-
+
OUTREG8(CRT_ADDRESS_REG,0x65);
OUTREG8(CRT_DATA_REG,INREG8(CRT_DATA_REG)|0xC0);
@@ -396,8 +410,10 @@ void PatchEnableSPofPanel(ScrnInfoPtr pScrn)
} else {
OUTREG32(PSTREAM_CONTROL_REG,0x02000000);
}
+
OUTREG32(PSTREAM_WINDOW_SIZE_REG, 0x0);
-
+ /*OUTREG32(PSTREAM_WINDOW_SIZE_REG, OS_WH(pScrn->displayWidth, pScrn->virtualY));*/
+
}