Date: Wed, 1 Jan 2014 20:26:08 +0000 (UTC) From: Zbigniew Bodek <zbb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r260165 - head/sys/dev/ahci Message-ID: <201401012026.s01KQ8KU017949@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 <wma@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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201401012026.s01KQ8KU017949>