diff options
author | Alex Deucher <agd5f@yahoo.com> | 2005-03-16 01:00:38 +0000 |
---|---|---|
committer | Alex Deucher <agd5f@yahoo.com> | 2005-03-16 01:00:38 +0000 |
commit | 8bbfca79a7397e997b875ea8943c1120114904e0 (patch) | |
tree | 740cc0a37c3405a4f164598a976b53df59b3aca3 /src/savage_streams.c | |
parent | 689e9535e014b658d0aef2ebf554090226597a4d (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.c | 32 |
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));*/ + } |