From dbcde01835f73285d1a4a61a2dc55add92ad25de Mon Sep 17 00:00:00 2001 From: Cástor Muñoz Date: Sun, 15 May 2016 02:11:32 +0200 Subject: iPod Classic: remove emCORE HDD endianess warning Change-Id: I91aa2dca7e748fe043c16014661985c42ab84b1a --- firmware/export/config/ipod6g.h | 4 -- .../target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c | 51 ---------------------- 2 files changed, 55 deletions(-) (limited to 'firmware') diff --git a/firmware/export/config/ipod6g.h b/firmware/export/config/ipod6g.h index 917ebb90d2..84a13d8830 100644 --- a/firmware/export/config/ipod6g.h +++ b/firmware/export/config/ipod6g.h @@ -196,10 +196,6 @@ #define ATA_HAVE_BBT #define ATA_BBT_PAGES 4096 -#ifndef BOOTLOADER -/* TODO: probably this check is no longer needed and might be removed */ -#define CHECK_ATA_SWAP -#endif #define SECTOR_SIZE 4096 diff --git a/firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c b/firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c index 403946bfa6..48197cb085 100644 --- a/firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c +++ b/firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c @@ -33,9 +33,6 @@ #include "led.h" #include "ata_idle_notify.h" #include "disk_cache.h" -#ifdef CHECK_ATA_SWAP -#include "splash.h" -#endif #ifndef ATA_RETRIES @@ -53,9 +50,6 @@ static uint8_t ceata_taskfile[16] STORAGE_ALIGN_ATTR; static uint16_t ata_identify_data[0x100] STORAGE_ALIGN_ATTR; static bool ceata; -#ifdef CHECK_ATA_SWAP -static bool ata_swap; -#endif static bool ata_lba48; static bool ata_dma; static uint64_t ata_total_sectors; @@ -536,18 +530,11 @@ static int ata_identify(uint16_t* buf) } else { -#ifdef CHECK_ATA_SWAP - uint32_t old = ATA_CFG; - ATA_CFG |= BIT(6); -#endif PASS_RC(ata_wait_for_not_bsy(10000000), 1, 0); ata_write_cbr(&ATA_PIO_DVR, 0); ata_write_cbr(&ATA_PIO_CSD, 0xec); PASS_RC(ata_wait_for_start_of_transfer(10000000), 1, 1); for (i = 0; i < 0x100; i++) buf[i] = ata_read_cbr(&ATA_PIO_DTR); -#ifdef CHECK_ATA_SWAP - ATA_CFG = old; -#endif } return 0; } @@ -636,11 +623,7 @@ static int ata_power_up(void) sleep(HZ / 5); ATA_PIO_TIME = 0x191f7; ATA_PIO_LHR = 0; -#ifdef CHECK_ATA_SWAP - if (!ata_swap) ATA_CFG = BIT(6); -#else ATA_CFG = BIT(6); -#endif while (!(ATA_PIO_READY & BIT(1))) yield(); PASS_RC(ata_identify(ata_identify_data), 3, 3); uint32_t piotime = 0x11f3; @@ -1196,43 +1179,16 @@ int ata_init(void) semaphore_init(&mmc_wakeup, 1, 0); semaphore_init(&mmc_comp_wakeup, 1, 0); ceata = PDAT(11) & BIT(1); -#ifdef CHECK_ATA_SWAP - ata_swap = false; -#endif ata_powered = false; ata_total_sectors = 0; #ifdef ATA_HAVE_BBT PASS_RC(ata_bbt_reload(), 0, 0); -#endif - -#ifdef CHECK_ATA_SWAP - /* HDD data endianness check: - During the transition period Rockbox needs to detect the HDD data - endianness automatically and support both. We're now using the correct - endianness by default and only switching back to swapped bytes if we - find a reversed MBR signature. - To make this warning go away, update your emCORE version. The HDD will - be reformatted with the correct endianness during the process. - Once most users have switched over, this code may be removed again. - -- Michael Sparmann (theseven), 2011-10-22 */ - if (!ceata) - { - unsigned char* sector = aligned_buffer; - ata_rw_sectors(0, 1, sector, false); - if (sector[510] == 0xaa && sector[511] == 0x55) - { - ata_swap = true; - splashf(5000, "Wrong HDD endianness, please update your emCORE version!"); - } - } #else -#ifndef ATA_HAVE_BBT /* get ata_identify_data */ mutex_lock(&ata_mutex); int rc = ata_power_up(); mutex_unlock(&ata_mutex); if (IS_ERR(rc)) return rc; -#endif #endif create_thread(ata_thread, ata_stack, @@ -1267,10 +1223,6 @@ static int ata_smart(uint16_t* buf) else { int i; -#ifdef CHECK_ATA_SWAP - uint32_t old = ATA_CFG; - ATA_CFG |= BIT(6); /* 16bit big-endian */ -#endif PASS_RC(ata_wait_for_not_bsy(10000000), 3, 6); ata_write_cbr(&ATA_PIO_FED, 0xd0); ata_write_cbr(&ATA_PIO_LMR, 0x4f); @@ -1279,9 +1231,6 @@ static int ata_smart(uint16_t* buf) ata_write_cbr(&ATA_PIO_CSD, 0xb0); PASS_RC(ata_wait_for_start_of_transfer(10000000), 3, 7); for (i = 0; i < 0x100; i++) buf[i] = ata_read_cbr(&ATA_PIO_DTR); -#ifdef CHECK_ATA_SWAP - ATA_CFG = old; -#endif } ata_set_active(); return 0; -- cgit v1.2.3