u-boot/drivers
Gabe Black 19d1d41e84 ahci: Make the AHCI code find the capacity of disks > 128 GB properly
In the structure returned by the ATA identify device command, there are two
fields which describe the device capacity. One is a 32 bit data type which
reports the number of sectors as a 28 bit LBA, and the other is a 64 bit data
type which is for a 48 bit LBA. If the device doesn't support 48 bit LBAs,
the small value is the only value with the correct size. If it supports more,
if the number of sectors is small enough to fit into 28 bits, both fields
reflect the correct value. If it's too large, the smaller field has 28 bits of
1s, 0xfffffff, and the other field has the correct value.

The AHCI driver is implemented by attaching to the generic SCSI code and
translating on the fly between SCSI binary data structures and AHCI data
structures. It responds to requests to execute specific SCSI commands by
executing the equivalent AHCI commands and then crafting a response which
matches what a SCSI disk would send.

The AHCI driver now considers both fields and chooses the correct one when
implementing both the SCSI READ CAPACITY (10) and READ CAPACITY (16) commands.

Signed-off-by: Gabe Black <gabeblack@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
2012-11-02 15:20:41 -07:00
..
bios_emulator Add abs() macro to return absolute value 2012-05-15 08:31:37 +02:00
block ahci: Make the AHCI code find the capacity of disks > 128 GB properly 2012-11-02 15:20:41 -07:00
bootcount Consolidate bootcount code into drivers/bootcount 2012-09-01 14:26:02 +02:00
dfu dfu:usb:fix: Read the "filesize" environment variable only when file read 2012-09-21 00:05:00 +02:00
dma MX28: DMA: Prolong the DMA timeout 2012-09-01 14:58:29 +02:00
fpga FPGA: Cyclon II: Correctly reset the FPGA before configuration 2012-10-29 14:21:20 -07:00
gpio Tegra20: Move some include files to arch-tegra for sharing with Tegra30 2012-10-15 11:54:06 -07:00
hwmon hwmon: do not init sensors on startup 2011-08-04 23:30:38 +02:00
i2c Merge branch 'master' of git://git.denx.de/u-boot-arm 2012-10-26 15:44:31 -07:00
input input: Add ANSI 3.64 escape sequence generation. 2012-10-19 15:25:44 -07:00
misc powerpc/corenet_ds: Slave module for boot from PCIE 2012-08-23 10:24:15 -05:00
mmc Merge remote-tracking branch 'u-boot-atmel/master' 2012-10-26 07:54:25 +02:00
mtd tegra: nand: add board pinmux 2012-10-15 11:54:07 -07:00
net arm: Remove support for NETARM 2012-10-26 22:38:00 +02:00
pci powerpc/boot: Change the compile macro for SRIO & PCIE boot master module 2012-10-22 15:52:46 -05:00
pcmcia PXA: Remove PXA PCMCIA support 2012-03-26 23:09:23 +02:00
power i2c: Add TPS6586X driver 2012-05-15 08:31:37 +02:00
qe mpc83xx: add support for mpc8309 2012-10-23 15:23:26 -05:00
rtc rtc: pcf8563: Make century compatible with Linux 2012-09-02 17:31:00 +02:00
serial Merge branch 'master' of git://git.denx.de/u-boot-arm 2012-10-26 15:44:31 -07:00
spi Merge remote-tracking branch 'u-boot-ti/master' 2012-10-26 07:00:28 +02:00
tpm Introduce generic TPM support in u-boot 2011-12-07 08:45:51 +01:00
twserial Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
usb Merge remote-tracking branch 'u-boot-ti/master' 2012-10-26 07:00:28 +02:00
video mx5: Use explicit clock gate names 2012-10-15 11:54:10 -07:00
watchdog dm: wdt: arm: Move tnetv107x into drivers/watchdog/ 2012-10-18 06:52:02 +02:00