1.1 --- a/src/asic.c Wed Sep 10 02:03:20 2008 +0000
1.2 +++ b/src/asic.c Wed Dec 24 06:06:23 2008 +0000
1.4 MMIO_WRITE( ASIC, SORTDMACTL, 0 );
1.7 -void mmio_region_ASIC_write( uint32_t reg, uint32_t val )
1.8 +MMIO_REGION_READ_FN( ASIC, reg )
1.26 + val = MMIO_READ(ASIC, reg);
1.29 + return g2_read_status();
1.31 + val = MMIO_READ(ASIC, reg);
1.37 +MMIO_REGION_WRITE_FN( ASIC, reg, val )
1.42 break; /* Treat this as read-only for the moment */
1.43 @@ -496,36 +526,37 @@
1.47 -int32_t mmio_region_ASIC_read( uint32_t reg )
1.48 +MMIO_REGION_READ_FN( EXTDMA, reg )
1.53 + if( !idereg.interface_enabled && IS_IDE_REGISTER(reg) ) {
1.54 + return 0xFFFFFFFF; /* disabled */
1.71 - val = MMIO_READ(ASIC, reg);
1.74 - return g2_read_status();
1.75 + case IDEALTSTATUS:
1.76 + val = idereg.status;
1.78 + case IDEDATA: return ide_read_data_pio( );
1.79 + case IDEFEAT: return idereg.error;
1.80 + case IDECOUNT:return idereg.count;
1.81 + case IDELBA0: return ide_get_drive_status();
1.82 + case IDELBA1: return idereg.lba1;
1.83 + case IDELBA2: return idereg.lba2;
1.84 + case IDEDEV: return idereg.device;
1.86 + val = ide_read_status();
1.89 - val = MMIO_READ(ASIC, reg);
1.90 + val = MMIO_READ( EXTDMA, reg );
1.96 MMIO_REGION_WRITE_FN( EXTDMA, reg, val )
1.99 if( !idereg.interface_enabled && IS_IDE_REGISTER(reg) ) {
1.100 return; /* disabled */
1.102 @@ -645,30 +676,3 @@
1.106 -MMIO_REGION_READ_FN( EXTDMA, reg )
1.109 - if( !idereg.interface_enabled && IS_IDE_REGISTER(reg) ) {
1.110 - return 0xFFFFFFFF; /* disabled */
1.114 - case IDEALTSTATUS:
1.115 - val = idereg.status;
1.117 - case IDEDATA: return ide_read_data_pio( );
1.118 - case IDEFEAT: return idereg.error;
1.119 - case IDECOUNT:return idereg.count;
1.120 - case IDELBA0: return ide_get_drive_status();
1.121 - case IDELBA1: return idereg.lba1;
1.122 - case IDELBA2: return idereg.lba2;
1.123 - case IDEDEV: return idereg.device;
1.125 - val = ide_read_status();
1.128 - val = MMIO_READ( EXTDMA, reg );