From b05f86083439db939c9adc55f603119cb0855180 Mon Sep 17 00:00:00 2001 From: wodz Date: Mon, 10 May 2010 13:24:44 +0000 Subject: [PATCH] HD200 - Disable asm optimised reads as it showed to be broken. Enable asm optimised writes. test_disk was failing because of broken read routine. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25931 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/coldfire/mpio/ata-as-mpio.S | 4 ++-- firmware/target/coldfire/mpio/ata-target.h | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/firmware/target/coldfire/mpio/ata-as-mpio.S b/firmware/target/coldfire/mpio/ata-as-mpio.S index 4a6bd3e613..2a76072918 100644 --- a/firmware/target/coldfire/mpio/ata-as-mpio.S +++ b/firmware/target/coldfire/mpio/ata-as-mpio.S @@ -23,6 +23,7 @@ .equ .ata_port, 0x20000020 .equ .swapmask, 0x00FF00FF +#if 0 .align 2 .global copy_read_sectors .type copy_read_sectors,@function @@ -374,12 +375,12 @@ copy_read_sectors: .r_end: .size copy_read_sectors,.r_end-copy_read_sectors +#endif .align 2 .global copy_write_sectors .type copy_write_sectors,@function -#if 0 /* Write a number of words to the ATA data port * * Utilises line bursts, assumes there is at least one full line to copy. @@ -754,4 +755,3 @@ copy_write_sectors: .w_end: .size copy_write_sectors,.w_end-copy_write_sectors -#endif diff --git a/firmware/target/coldfire/mpio/ata-target.h b/firmware/target/coldfire/mpio/ata-target.h index 1fa4c5af41..32e97ff56e 100644 --- a/firmware/target/coldfire/mpio/ata-target.h +++ b/firmware/target/coldfire/mpio/ata-target.h @@ -21,9 +21,8 @@ #ifndef ATA_TARGET_H #define ATA_TARGET_H -/* asm optimised read & write loops - we skip this for now*/ -#define ATA_OPTIMIZED_READING -//#define ATA_OPTIMIZED_WRITING +/* #define ATA_OPTIMIZED_READING */ +#define ATA_OPTIMIZED_WRITING #define SWAP_WORDS @@ -72,6 +71,6 @@ void ata_enable(bool on); void ata_device_init(void); bool ata_is_coldstart(void); -void copy_read_sectors(unsigned char* buf, int wordcount); -//void copy_write_sectors(const unsigned char* buf, int wordcount); +/* void copy_read_sectors(unsigned char* buf, int wordcount); */ +void copy_write_sectors(const unsigned char* buf, int wordcount); #endif -- 2.11.4.GIT