u-boot-2016/include
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
..
andestech
asm-generic
bedbug
configs am335x_evm: Add CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG support 2012-11-02 15:14:28 -07:00
cramfs
faraday
galileo
jffs2
linux
lzma
mtd
pcmcia
synopsys
u-boot
usb
zfs
.gitignore
74xx_7xx.h
_exports.h
ACEX1K.h
addr_map.h
aes.h
ahci.h ahci: cosmetics and cleanup 2012-11-02 15:20:41 -07:00
ali512x.h
altera.h
amba_clcd.h
ambapp.h
api_public.h
arm925t.h
armcoremodule.h
asm-offsets.h
at45.h
at91rm9200_i2c.h
at91rm9200_net.h
ata.h
atmel_hlcdc.h
atmel_lcdc.h
atmel_mci.h
bcd.h
bcm5221.h
bmp_layout.h
bootcount.h
bootstage.h
bouncebuf.h COMMON: Implement common bounce buffer 2012-10-22 02:53:35 -05:00
bus_vcxk.h
bzlib.h
cbfs.h fs: Add a Coreboot Filesystem (CBFS) driver and commands 2012-10-22 08:29:55 -07:00
circbuf.h
cmd_spl.h
command.h common: Discard the __u_boot_cmd section 2012-10-22 08:29:42 -07:00
common.h Support setenv_ulong() and setenv_addr() for powerpc 2012-11-02 15:20:40 -07:00
commproc.h PPC: remove dead boards (AMX860, c2mon, ETX094, IAD210, LANTEC, SCM) 2012-10-28 20:17:25 +01:00
compiler.h
config_cmd_all.h
config_cmd_default.h
config_cmd_defaults.h
config_defaults.h
config_fallbacks.h fs: separate CONFIG_FS_{FAT, EXT4} from CONFIG_CMD_{FAT, EXT*} 2012-10-29 14:21:19 -07:00
config_phylib_all_drivers.h phylib: Enable SMSC LAN87xx PHY support 2012-10-22 15:52:46 -05:00
config_uncmd_spl.h
cpsw.h
crc.h
da9030.h
dataflash.h
ddr_spd.h
dfu.h
dialog_pmic.h
div64.h
dm9000.h
dm9161.h
dp83848.h
ds1722.h
ds4510.h
dtt.h
dwmmc.h mmc: dw-mmc: support DesignWare MMC Controller 2012-10-22 02:56:25 -05:00
e500.h poweprc/85xx: add QMan frequency info and fdt fixup. 2012-10-22 15:52:46 -05:00
elf.h
env_default.h Add board_name to CONFIG_ENV_VARS_UBOOT_CONFIG 2012-11-02 15:13:30 -07:00
environment.h
errno.h
exports.h
ext4fs.h fs: separate CONFIG_FS_{FAT, EXT4} from CONFIG_CMD_{FAT, EXT*} 2012-10-29 14:21:19 -07:00
ext_common.h fs: add filesystem switch libary, implement ls and fsload commands 2012-10-29 14:21:20 -07:00
fat.h FAT: implement fat_set_blk_dev(), convert cmd_fat.c 2012-10-25 12:07:47 -07:00
fdc.h
fdt.h
fdt_support.h
fdtdec.h
fis.h
flash.h arm: Remove support for lpc2292 2012-10-26 22:35:20 +02:00
fm_eth.h fm/mEMAC: add mEMAC frame work 2012-10-22 14:31:25 -05:00
fpga.h
fs.h fs: add filesystem switch libary, implement ls and fsload commands 2012-10-29 14:21:20 -07:00
fsl_diu_fb.h
fsl_esdhc.h
fsl_mdio.h fm/mEMAC: add mEMAC frame work 2012-10-22 14:31:25 -05:00
fsl_nfc.h
fsl_pmic.h
g_dnl.h
gdsys_fpga.h
hush.h
hwconfig.h
i2c.h
i8042.h input: i8042: Provide feature to disable keyboard before booting kernel 2012-10-19 15:25:43 -07:00
ide.h ide: Add printf format string for CONFIG_SYS_64BIT_LBA option 2012-10-22 08:29:55 -07:00
image.h
input.h input: Add ANSI 3.64 escape sequence generation. 2012-10-19 15:25:44 -07:00
iomux.h
ioports.h
ipu_pixfmt.h
key_matrix.h
keyboard.h
kgdb.h
ks8721.h
lattice.h
lcd.h
lcdvideo.h
led-display.h
libata.h
libfdt.h
libfdt_env.h
libtizen.h
linker_lists.h common: Implement support for linker-generated arrays 2012-10-22 08:29:29 -07:00
linux_logo.h
lmb.h
logbuff.h
lxt971a.h
lynxkdi.h
malloc.h
max8997_pmic.h
max8998_pmic.h
mb862xx.h
mc9sdz60.h
mc13783.h
mc13892.h
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
menu.h
micrel.h
mii_phy.h
miiphy.h
mk48t59.h
mmc.h
mpc5xx.h
mpc5xxx.h
mpc5xxx_sdma.h
mpc8xx.h
mpc8xx_irq.h
mpc83xx.h mpc83xx: add support for mpc8309 2012-10-23 15:23:26 -05:00
mpc85xx.h
mpc86xx.h
mpc106.h
mpc824x.h
mpc8220.h
mpc8260.h
mpc8260_irq.h
mtd_node.h
mv88e6352.h
mvmfp.h
nand.h
net.h
netdev.h
nios2-epcs.h
nios2-io.h
nios2-yanu.h
nios2.h
nomadik.h
ns9750_bbus.h
ns9750_mem.h
ns9750_ser.h
ns9750_sys.h
ns16550.h
ns87308.h
onenand_uboot.h
os.h
part.h
pc_keyb.h
pca953x.h
pca9564.h
pca9698.h
pci.h
pci_ids.h
pcmcia.h PPC: remove dead boards (AMX860, c2mon, ETX094, IAD210, LANTEC, SCM) 2012-10-28 20:17:25 +01:00
phy.h
pmic.h
post.h
ppc_asm.tmpl
ppc_defs.h
ps2mult.h
pwm.h
radeon.h
reiserfs.h
rtc.h
s6e63d6.h
s_record.h
SA-1100.h
sata.h
scsi.h ahci: Make the AHCI code find the capacity of disks > 128 GB properly 2012-11-02 15:20:41 -07:00
sdhci.h mmc: sdhci: Add a quirk to add delay during completion of sdhci_send_cmd 2012-10-22 02:53:36 -05:00
search.h
sed156x.h
sed13806.h
serial.h serial: Implement default_serial_puts() 2012-10-17 07:55:50 -07:00
sh_pfc.h
sh_tmu.h
sha1.h
sha256.h
sja1000.h
sm501.h
smiLynxEM.h
spartan2.h
spartan3.h
spd.h
spd_sdram.h
spi.h
spi_flash.h
spl.h
status_led.h PPC: remove dead boards (AMX860, c2mon, ETX094, IAD210, LANTEC, SCM) 2012-10-28 20:17:25 +01:00
stdio_dev.h
stratixII.h
sym53c8xx.h
systemace.h
tegra-kbc.h
timestamp.h
tpm.h
tps6586x.h
tsec.h
tsi108.h
tsi148.h
twl4030.h
twl6030.h
twl6035.h
tws.h
ubi_uboot.h
universe.h
usb.h
usb_cdc_acm.h
usb_defs.h
usb_ether.h
usbdescriptors.h
usbdevice.h
version.h
video.h
video_ad7176.h
video_ad7177.h
video_ad7179.h
video_easylogo.h
video_fb.h
video_font.h
video_font_data.h
video_logo.h
virtex2.h
vsc7385.h
vsprintf.h
vxworks.h
w83c553f.h
watchdog.h
xilinx.h
xyzModem.h
zfs_common.h