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
This commit is contained in:
parent
c6f76759ca
commit
3f1cfdb122
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=335365
@ -1778,6 +1778,7 @@ sddastart(struct cam_periph *periph, union ccb *start_ccb)
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user