Module Name:    src
Committed By:   mlelstv
Date:           Sat Jan  4 22:28:26 UTC 2020

Modified Files:
        src/sys/dev/sdmmc: sdmmc_io.c sdmmc_mem.c

Log Message:
Be less noisy for some commands.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/sdmmc/sdmmc_io.c
cvs rdiff -u -r1.70 -r1.71 src/sys/dev/sdmmc/sdmmc_mem.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/sdmmc/sdmmc_io.c
diff -u src/sys/dev/sdmmc/sdmmc_io.c:1.18 src/sys/dev/sdmmc/sdmmc_io.c:1.19
--- src/sys/dev/sdmmc/sdmmc_io.c:1.18	Mon Oct 28 06:20:01 2019
+++ src/sys/dev/sdmmc/sdmmc_io.c	Sat Jan  4 22:28:26 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdmmc_io.c,v 1.18 2019/10/28 06:20:01 mlelstv Exp $	*/
+/*	$NetBSD: sdmmc_io.c,v 1.19 2020/01/04 22:28:26 mlelstv Exp $	*/
 /*	$OpenBSD: sdmmc_io.c,v 1.10 2007/09/17 01:33:33 krw Exp $	*/
 
 /*
@@ -20,7 +20,7 @@
 /* Routines for SD I/O cards. */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdmmc_io.c,v 1.18 2019/10/28 06:20:01 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdmmc_io.c,v 1.19 2020/01/04 22:28:26 mlelstv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sdmmc.h"
@@ -52,7 +52,7 @@ struct sdmmc_intr_handler {
 };
 
 static int	sdmmc_io_rw_direct(struct sdmmc_softc *,
-		    struct sdmmc_function *, int, u_char *, int);
+		    struct sdmmc_function *, int, u_char *, int, bool);
 static int	sdmmc_io_rw_extended(struct sdmmc_softc *,
 		    struct sdmmc_function *, int, u_char *, int, int);
 #if 0
@@ -341,7 +341,7 @@ sdmmc_io_function_disable(struct sdmmc_f
 
 static int
 sdmmc_io_rw_direct(struct sdmmc_softc *sc, struct sdmmc_function *sf,
-    int reg, u_char *datap, int arg)
+    int reg, u_char *datap, int arg, bool toutok)
 {
 	struct sdmmc_command cmd;
 	int error;
@@ -364,12 +364,14 @@ sdmmc_io_rw_direct(struct sdmmc_softc *s
 	cmd.c_opcode = SD_IO_RW_DIRECT;
 	cmd.c_arg = arg;
 	cmd.c_flags = SCF_CMD_AC | SCF_RSP_R5;
+	if (toutok)
+		cmd.c_flags |= SCF_TOUT_OK;
 
 	error = sdmmc_mmc_command(sc, &cmd);
 	if (error == 0)
 		*datap = SD_R5_DATA(cmd.c_resp);
 
-	if (error) {
+	if (error && error != ETIMEDOUT) {
 		device_printf(sc->sc_dev,
 		    "direct I/O error %d, r=%d p=%p %s\n",
 		    error, reg, datap,
@@ -439,7 +441,7 @@ sdmmc_io_read_1(struct sdmmc_function *s
 	/* Don't lock */
 
 	(void)sdmmc_io_rw_direct(sf->sc, sf, reg, (u_char *)&data,
-	    SD_ARG_CMD52_READ);
+	    SD_ARG_CMD52_READ, false);
 	return data;
 }
 
@@ -450,7 +452,7 @@ sdmmc_io_write_1(struct sdmmc_function *
 	/* Don't lock */
 
 	(void)sdmmc_io_rw_direct(sf->sc, sf, reg, (u_char *)&data,
-	    SD_ARG_CMD52_WRITE);
+	    SD_ARG_CMD52_WRITE, false);
 }
 
 uint16_t
@@ -622,7 +624,7 @@ sdmmc_io_xchg(struct sdmmc_softc *sc, st
 	/* Don't lock */
 
 	return sdmmc_io_rw_direct(sc, sf, reg, datap,
-	    SD_ARG_CMD52_WRITE|SD_ARG_CMD52_EXCHANGE);
+	    SD_ARG_CMD52_WRITE|SD_ARG_CMD52_EXCHANGE, false);
 }
 #endif
 
@@ -635,7 +637,7 @@ sdmmc_io_function_abort(struct sdmmc_fun
 	u_char data = CCCR_CTL_AS(sf->number);
 
 	return sdmmc_io_rw_direct(sf->sc, NULL, SD_IO_CCCR_CTL, &data,
-	    SD_ARG_CMD52_WRITE);
+	    SD_ARG_CMD52_WRITE, true);
 }
 
 /*
@@ -647,7 +649,7 @@ sdmmc_io_reset(struct sdmmc_softc *sc)
 	u_char data = CCCR_CTL_RES;
 
 	if (sdmmc_io_rw_direct(sc, NULL, SD_IO_CCCR_CTL, &data,
-	    SD_ARG_CMD52_WRITE) == 0)
+	    SD_ARG_CMD52_WRITE, true) == 0)
 		sdmmc_pause(100000, NULL); /* XXX SDMMC_LOCK */
 }
 

Index: src/sys/dev/sdmmc/sdmmc_mem.c
diff -u src/sys/dev/sdmmc/sdmmc_mem.c:1.70 src/sys/dev/sdmmc/sdmmc_mem.c:1.71
--- src/sys/dev/sdmmc/sdmmc_mem.c:1.70	Mon Oct 28 06:31:39 2019
+++ src/sys/dev/sdmmc/sdmmc_mem.c	Sat Jan  4 22:28:26 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdmmc_mem.c,v 1.70 2019/10/28 06:31:39 mlelstv Exp $	*/
+/*	$NetBSD: sdmmc_mem.c,v 1.71 2020/01/04 22:28:26 mlelstv Exp $	*/
 /*	$OpenBSD: sdmmc_mem.c,v 1.10 2009/01/09 10:55:22 jsg Exp $	*/
 
 /*
@@ -45,7 +45,7 @@
 /* Routines for SD/MMC memory cards. */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.70 2019/10/28 06:31:39 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.71 2020/01/04 22:28:26 mlelstv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sdmmc.h"
@@ -676,7 +676,7 @@ sdmmc_mem_send_if_cond(struct sdmmc_soft
 
 	memset(&cmd, 0, sizeof(cmd));
 	cmd.c_arg = ocr;
-	cmd.c_flags = SCF_CMD_BCR | SCF_RSP_R7 | SCF_RSP_SPI_R7;
+	cmd.c_flags = SCF_CMD_BCR | SCF_RSP_R7 | SCF_RSP_SPI_R7 | SCF_TOUT_OK;
 	cmd.c_opcode = SD_SEND_IF_COND;
 
 	error = sdmmc_mmc_command(sc, &cmd);

Reply via email to