svn commit: r335365 - head/sys/cam/mmc
Ilya Bakulin
kibab at FreeBSD.org
Tue Jun 19 11:23:49 UTC 2018
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;
More information about the svn-src-head
mailing list