filename | src/asic.c |
changeset | 728:4dfc293b9d96 |
prev | 594:6118deafd705 |
next | 736: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 +00001.2 +++ b/src/asic.c Sun Jul 06 05:30:32 2008 +00001.3 @@ -350,6 +350,16 @@1.4 asic_event( EVENT_PVR_DMA );1.5 }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;
.