Author: zbb
Date: Wed Jan  1 20:26:08 2014
New Revision: 260165
URL: http://svnweb.freebsd.org/changeset/base/260165
Log:
  Use only mapped BIOs on ARM
  
  Using unmapped BIOs causes failure inside bus_dmamap_sync, since
  this function requires valid MVA address, which is not present
  if mapping is not set up.
  
  Submitted by: Wojciech Macek <w...@semihalf.com>
  Obtained from:        Semihalf

Modified:
  head/sys/dev/ahci/ahci.c

Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c    Wed Jan  1 20:22:29 2014        (r260164)
+++ head/sys/dev/ahci/ahci.c    Wed Jan  1 20:26:08 2014        (r260165)
@@ -3066,7 +3066,15 @@ ahciaction(struct cam_sim *sim, union cc
                if (ch->caps & AHCI_CAP_SPM)
                        cpi->hba_inquiry |= PI_SATAPM;
                cpi->target_sprt = 0;
+#ifdef __arm__
+               /*
+                * Do not use unmapped buffers on ARM. Doing so will cause
+                * failure inside bus_dmamap_sync due to lack of VA.
+                */
+               cpi->hba_misc = PIM_SEQSCAN;
+#else
                cpi->hba_misc = PIM_SEQSCAN | PIM_UNMAPPED;
+#endif
                cpi->hba_eng_cnt = 0;
                if (ch->caps & AHCI_CAP_SPM)
                        cpi->max_target = 15;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to