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