Date: Tue, 19 Jun 2018 11:23:48 +0000 (UTC) From: Ilya Bakulin <kibab@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r335365 - head/sys/cam/mmc Message-ID: <201806191123.w5JBNmIx024103@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kibab Date: Tue Jun 19 11:23:48 2018 New Revision: 335365 URL: https://svnweb.freebsd.org/changeset/base/335365 Log: Set MMC_DATA_MULTI flag when doing multi-block transfers Lower layers (MMC / SDHCI controller drivers) may make certain decisions based on the presence of this flag. The fact that sdhci.c doesn't look at this flag is another problem that should be fixed separately. Found when adding MMCCAM support to AllWinner MMC controller driver where the presence of this flag actually matters. Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D15888 Modified: head/sys/cam/mmc/mmc_da.c Modified: head/sys/cam/mmc/mmc_da.c ============================================================================== --- head/sys/cam/mmc/mmc_da.c Tue Jun 19 11:20:28 2018 (r335364) +++ head/sys/cam/mmc/mmc_da.c Tue Jun 19 11:23:48 2018 (r335365) @@ -1778,6 +1778,7 @@ sddastart(struct cam_periph *periph, union ccb *start_ mmcio->cmd.data->flags = (bp->bio_cmd == BIO_READ ? MMC_DATA_READ : MMC_DATA_WRITE); /* Direct h/w to issue CMD12 upon completion */ if (count > 1) { + mmcio->cmd.data->flags |= MMC_DATA_MULTI; mmcio->stop.opcode = MMC_STOP_TRANSMISSION; mmcio->stop.flags = MMC_RSP_R1B | MMC_CMD_AC; mmcio->stop.arg = 0;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806191123.w5JBNmIx024103>