From 4314ceb73b68cc36e28e8d3711159578b0404c8c Mon Sep 17 00:00:00 2001 From: Jack Halpin Date: Tue, 24 Nov 2009 06:37:36 +0000 Subject: AMS Sansa: Remove MCI_RX_ACTIVE FIFO check following SD transfers. We don't need to check the FIFO for MCI_RX_ACTIVE because we don't experience problems reading from the SD cards. We need the MCI_TX_ACTIVE FIFO check during writes because some SD cards spend longer times in the PRG state programming the data that has been written to them. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23733 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/ata_sd_as3525.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'firmware/target/arm/as3525/ata_sd_as3525.c') diff --git a/firmware/target/arm/as3525/ata_sd_as3525.c b/firmware/target/arm/as3525/ata_sd_as3525.c index ee9e182760..734d29a8d1 100644 --- a/firmware/target/arm/as3525/ata_sd_as3525.c +++ b/firmware/target/arm/as3525/ata_sd_as3525.c @@ -615,8 +615,8 @@ static int sd_select_bank(signed char bank) wakeup_wait(&transfer_completion_signal, TIMEOUT_BLOCK); - /* Wait for FIFO to empty */ - while(MCI_STATUS(INTERNAL_AS3525) & (MCI_TX_ACTIVE | MCI_RX_ACTIVE)); + /* Wait for FIFO to empty, card may still be in PRG state */ + while(MCI_STATUS(INTERNAL_AS3525) & MCI_TX_ACTIVE ); dma_release(); @@ -737,8 +737,8 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, wakeup_wait(&transfer_completion_signal, TIMEOUT_BLOCK); - /* Wait for FIFO to empty */ - while(MCI_STATUS(drive) & (MCI_TX_ACTIVE | MCI_RX_ACTIVE)); + /* Wait for FIFO to empty, card may still be in PRG state for writes */ + while(MCI_STATUS(drive) & MCI_TX_ACTIVE); if(!transfer_error[drive]) { -- cgit v1.2.3