Skip site navigation (1)Skip section navigation (2)
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>