diff options
author | mav <mav@FreeBSD.org> | 2010-04-01 18:17:53 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2010-04-01 18:17:53 +0000 |
commit | dda331b169b5f1384d139076a4aba670140d3d46 (patch) | |
tree | 97231cd9762673ed1483ee7af6e6e9aa99a5afad | |
parent | c8b1846a534d1c4efe7a5ef8b5e4d33fdc69efaf (diff) | |
download | FreeBSD-src-dda331b169b5f1384d139076a4aba670140d3d46.zip FreeBSD-src-dda331b169b5f1384d139076a4aba670140d3d46.tar.gz |
Fill extended ATA command registers in cPRD to support 48bit commands.
-rw-r--r-- | sys/arm/mv/mv_sata.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/arm/mv/mv_sata.c b/sys/arm/mv/mv_sata.c index 01713da..78bf387 100644 --- a/sys/arm/mv/mv_sata.c +++ b/sys/arm/mv/mv_sata.c @@ -600,7 +600,12 @@ sata_channel_begin_transaction(struct ata_request *request) crqb->crqb_ata_lba_mid = request->u.ata.lba >> 8; crqb->crqb_ata_lba_high = request->u.ata.lba >> 16; crqb->crqb_ata_device = ((request->u.ata.lba >> 24) & 0x0F) | (1 << 6); + crqb->crqb_ata_lba_low_p = request->u.ata.lba >> 24; + crqb->crqb_ata_lba_mid_p = request->u.ata.lba >> 32; + crqb->crqb_ata_lba_high_p = request->u.ata.lba >> 40; + crqb->crqb_ata_feature_p = request->u.ata.feature >> 8; crqb->crqb_ata_count = request->u.ata.count; + crqb->crqb_ata_count_p = request->u.ata.count; bus_dmamap_sync(ch->dma.work_tag, ch->dma.work_map, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); |