From patchwork Tue Apr 14 16:14:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 185412 Delivered-To: patches@linaro.org Received: by 2002:a92:3d9a:0:0:0:0:0 with SMTP id k26csp1601716ilf; Tue, 14 Apr 2020 09:14:35 -0700 (PDT) X-Received: by 2002:a2e:8ed9:: with SMTP id e25mr514046ljl.219.1586880875025; Tue, 14 Apr 2020 09:14:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586880875; cv=none; d=google.com; s=arc-20160816; b=AM8T5azhGTBrlf/0AnBgwdGoLJnwFXkKY7zACcfBeNkSdB5lNUv9XlLjVyniIkHl1C vngOn8Or1dhpdITNbyYqfN7NifXu+yEHHSJnbbwUeBZR+HinRE6uIP91SdDsyGChGmmt be61KExaIINfEFHJ6ev94vKotheFDRwbK5wfzsHTx9ykR0AUtvlAdzz/0vsUS0N4XmZt Cuu2DOsgWgVjZZVMiVMXkvHjbiBLkSdX0fTz7suxDfrHD+Ke3aDWCYjyuMPc3qEpWdgj gdi9wW0jDAQrQ1pzv/AuKup+UO2uLhBHwtL4VYUdaTrelx3oVBZHwAmPAkXRFmk2uQRV AMvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=80KaipN4E9vrj55eH79AaG72UG5XrIIdifniUA7tIgQ=; b=O68joXrOGw9J0WfIHwKCRFRFOEU0k2KOLjYbaE3PnUXddttFYQn8z1wpV7QY6RTvXi ng99Ly0tDdT9wmlMzcj7C1xuLbvv49GTkTZnzrGf1RSsChovQCtX1v7LbxH8dD9SVE2Q msh+eIaouHi8BLHdQ3/E9A/rH02mpxxd4+8xIrl2AvmfC6UuTUaCpH4Uir7aVa9NNq7Y qxc2Wu4jjh+oeGsm4EZnfpskgOmQpIjUXVcS2OALCmRVJ+pRxF02us49sGBnBmrKYen5 dM7L/9YvT76wH2F9v2h8JN/TpKLbd6GOmhxaVt7FB+AQFCe6lKb674rJ2oUFVRtBEP0h Iv2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zjda40N9; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id a6sor4097845lfo.21.2020.04.14.09.14.34 for (Google Transport Security); Tue, 14 Apr 2020 09:14:34 -0700 (PDT) Received-SPF: pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zjda40N9; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=80KaipN4E9vrj55eH79AaG72UG5XrIIdifniUA7tIgQ=; b=zjda40N94dMtZ05lDEBld1dw0zmn8kOXTcFruxfBvztIxnN3/i0t9iyLcIdEHWEMeT LIHVtPtiuW3LjC4Hji3TPIU01Nc4MMVy1huwdKkweZa1chhPnUInVOfIreIwnRkno6oI w0W0yqPBCq1zWSYWDKcUBYQOSSpv/rhtGq+Bknf1CXDbbOTyicGDstNXVD9y4PzXSHon +w3FrYUNvasodr5remaYOXk6xpRe1v5KyMpJwg+SPHxnjKHbd2lrM2i7jhxu6XKjNAw8 r/bWx1Q0Z5bxEyambleM/Tq+/vY+xC6yrxuv6BTnDVnTLpGPujv9D9Ee4QhmDvyMNsdy G5xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=80KaipN4E9vrj55eH79AaG72UG5XrIIdifniUA7tIgQ=; b=h8bL8XdIEAU/u8dqAetCbQlY00aE2KXB81dffJh5OqHKtpaXETqE1lOozxYc7bc/wY CjhYIURoqoeEuZAO2kcTqIS6kQGIIvYTRyWd7HkTwFvUThS7HJpvrralZ8FP904asmWV 97NUWg9rPnHkLTVhykKe/3w/Ve9FQxXYcYRFEOA9ywkWE3rAZpCSgPg6LBHfWhY4bq72 tdRzZRJkiIh+vaywexuL975s7HLM7oa1vfVGP+eueU+2TSZpa2oV9M6yWcVv8BccKxv7 jA+IYPBqHz0aOZNDlRa1oy1xY/sSpWR/U+WRgoO/umE9JgyGkT2fQHXIKRhXmcupolfp YfGQ== X-Gm-Message-State: AGi0PuZ4ZP3p/a4G/cbnKDytM5wPbmcMZT3DMx2EVetw/XWwI2lj0Abq 4P+zO7a0YV8ui7PK/Pkw9wJcAhrL X-Google-Smtp-Source: APiQypKrhjdd2yd3xyPYdZQTdhlyhXKzzJglPXxGZ8H0YJAaXPYdcgoGYo2D4jnefw8dyN9f9FYD6w== X-Received: by 2002:a19:dc05:: with SMTP id t5mr332133lfg.73.1586880874527; Tue, 14 Apr 2020 09:14:34 -0700 (PDT) Return-Path: Received: from localhost.localdomain (h-98-128-181-131.NA.cust.bahnhof.se. [98.128.181.131]) by smtp.gmail.com with ESMTPSA id a26sm9330669ljn.22.2020.04.14.09.14.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2020 09:14:33 -0700 (PDT) From: Ulf Hansson To: linux-mmc@vger.kernel.org, Ulf Hansson Cc: Adrian Hunter , Linus Walleij , Rui Miguel Silva , Johan Hovold , Alex Elder , Greg Kroah-Hartman , =?utf-8?q?Jonathan_Neusch=C3=A4fer?= , Bruce Chang , Harald Welte , Alex Dubov , Sascha Sommer , Manivannan Sadhasivam , mirq-linux@rere.qmqm.pl, Jesper Nilsson , Lars Persson , Paul Cercueil , Ludovic Desroches , Nicolas Ferre Subject: [PATCH 10/19] mmc: sdricoh_cs: Move MMC_APP_CMD handling to sdricoh_mmc_cmd() Date: Tue, 14 Apr 2020 18:14:04 +0200 Message-Id: <20200414161413.3036-11-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200414161413.3036-1-ulf.hansson@linaro.org> References: <20200414161413.3036-1-ulf.hansson@linaro.org> MIME-Version: 1.0 Move MMC_APP_CMD specific handling to be managed by sdricoh_mmc_cmd(), as this makes the code a bit cleaner. Cc: Sascha Sommer Signed-off-by: Ulf Hansson --- drivers/mmc/host/sdricoh_cs.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) -- 2.20.1 diff --git a/drivers/mmc/host/sdricoh_cs.c b/drivers/mmc/host/sdricoh_cs.c index a41c0660abbf..e7d74db95b57 100644 --- a/drivers/mmc/host/sdricoh_cs.c +++ b/drivers/mmc/host/sdricoh_cs.c @@ -149,16 +149,25 @@ static int sdricoh_query_status(struct sdricoh_host *host, unsigned int wanted, } -static int sdricoh_mmc_cmd(struct sdricoh_host *host, unsigned char opcode, - unsigned int arg) +static int sdricoh_mmc_cmd(struct sdricoh_host *host, struct mmc_command *cmd) { unsigned int status; int result = 0; unsigned int loop = 0; + unsigned char opcode = cmd->opcode; + /* reset status reg? */ sdricoh_writel(host, R21C_STATUS, 0x18); + + /* MMC_APP_CMDs need some special handling */ + if (host->app_cmd) { + opcode |= 64; + host->app_cmd = 0; + } else if (opcode == MMC_APP_CMD) + host->app_cmd = 1; + /* fill parameters */ - sdricoh_writel(host, R204_CMD_ARG, arg); + sdricoh_writel(host, R204_CMD_ARG, cmd->arg); sdricoh_writel(host, R200_CMD, (0x10000 << 8) | opcode); /* wait for command completion */ if (opcode) { @@ -250,28 +259,20 @@ static void sdricoh_request(struct mmc_host *mmc, struct mmc_request *mrq) struct mmc_command *cmd = mrq->cmd; struct mmc_data *data = cmd->data; struct device *dev = host->dev; - unsigned char opcode = cmd->opcode; int i; dev_dbg(dev, "=============================\n"); - dev_dbg(dev, "sdricoh_request opcode=%i\n", opcode); + dev_dbg(dev, "sdricoh_request opcode=%i\n", cmd->opcode); sdricoh_writel(host, R21C_STATUS, 0x18); - /* MMC_APP_CMDs need some special handling */ - if (host->app_cmd) { - opcode |= 64; - host->app_cmd = 0; - } else if (opcode == MMC_APP_CMD) - host->app_cmd = 1; - /* read/write commands seem to require this */ if (data) { sdricoh_writew(host, R226_BLOCKSIZE, data->blksz); sdricoh_writel(host, R208_DATAIO, 0); } - cmd->error = sdricoh_mmc_cmd(host, opcode, cmd->arg); + cmd->error = sdricoh_mmc_cmd(host, cmd); /* read response buffer */ if (cmd->flags & MMC_RSP_PRESENT) {