Search
lxdream.org :: lxdream/src/asic.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/asic.c
changeset 728:4dfc293b9d96
prev594:6118deafd705
next736:a02d1475ccfd
author nkeynes
date Sun Jul 06 05:30:32 2008 +0000 (12 years ago)
permissions -rw-r--r--
last change Add register defns for sort DMA
Add register defn for 005F81AC to match the test
file annotate diff log raw
1.1 --- a/src/asic.c Sun Jan 20 07:24:38 2008 +0000
1.2 +++ b/src/asic.c Sun Jul 06 05:30:32 2008 +0000
1.3 @@ -350,6 +350,16 @@
1.4 asic_event( EVENT_PVR_DMA );
1.5 }
1.6
1.7 +void sort_dma_transfer( )
1.8 +{
1.9 + sh4addr_t table_addr = MMIO_READ( ASIC, SORTDMATBL );
1.10 + sh4addr_t data_addr = MMIO_READ( ASIC, SORTDMADATA );
1.11 + int table_size = MMIO_READ( ASIC, SORTDMATSIZ );
1.12 + int data_size = MMIO_READ( ASIC, SORTDMADSIZ );
1.13 +
1.14 + WARN( "Sort DMA not implemented" );
1.15 +}
1.16 +
1.17 void mmio_region_ASIC_write( uint32_t reg, uint32_t val )
1.18 {
1.19 switch( reg ) {
1.20 @@ -409,7 +419,19 @@
1.21 pvr_dma_transfer();
1.22 }
1.23 break;
1.24 -
1.25 + case SORTDMATBL: case SORTDMADATA:
1.26 + MMIO_WRITE( ASIC, reg, (val & 0x0FFFFFE0) | 0x08000000 );
1.27 + break;
1.28 + case SORTDMATSIZ: case SORTDMADSIZ:
1.29 + MMIO_WRITE( ASIC, reg, (val & 1) );
1.30 + break;
1.31 + case SORTDMACTL:
1.32 + val = val & 1;
1.33 + MMIO_WRITE( ASIC, reg, val );
1.34 + if( val == 1 ) {
1.35 + sort_dma_transfer();
1.36 + }
1.37 + break;
1.38 case MAPLE_DMA:
1.39 MMIO_WRITE( ASIC, reg, val );
1.40 break;
.