summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2010-04-15 12:30:46 +0000
committermav <mav@FreeBSD.org>2010-04-15 12:30:46 +0000
commitc30102cf2c9898bda70deb042e4ce0355588e00a (patch)
treebf459b0d295dca340e733575be7f6009560d88e8 /sys/arm
parentc12f36a8d5c4dfe422d6889737303ff528c13557 (diff)
downloadFreeBSD-src-c30102cf2c9898bda70deb042e4ce0355588e00a.zip
FreeBSD-src-c30102cf2c9898bda70deb042e4ce0355588e00a.tar.gz
MFC r206053, r206054:
Fill extended ATA command registers in cPRD to support 48bit commands.
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/mv/mv_sata.c5
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..a607298 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 >> 8;
bus_dmamap_sync(ch->dma.work_tag, ch->dma.work_map,
BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
OpenPOWER on IntegriCloud