mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 20:55:17 -05:00
iPod Classic: remove emCORE HDD endianess warning
Change-Id: I91aa2dca7e748fe043c16014661985c42ab84b1a
This commit is contained in:
parent
469d645390
commit
dbcde01835
2 changed files with 0 additions and 55 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue