From: Dmitry Osipenko <digetx@gmail.com>
To: "Jens Axboe" <axboe@kernel.dk>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Michał Mirosław" <mirq-linux@rere.qmqm.pl>,
"David Heidelberg" <david@ixit.cz>,
"Peter Geis" <pgwipeout@gmail.com>,
"Stephen Warren" <swarren@wwwdotorg.org>,
"Nicolas Chauvet" <kwizart@gmail.com>,
"Ulf Hansson" <ulf.hansson@linaro.org>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Billy Laws" <blaws05@gmail.com>
Cc: linux-tegra@vger.kernel.org, linux-block@vger.kernel.org,
Andrey Danin <danindrey@mail.ru>,
Gilles Grandou <gilles@grandou.net>,
Ryan Grachek <ryan@edited.us>,
linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 09/10] mmc: sdhci-tegra: Enable boot partitions scanning on Tegra20 and Tegra30
Date: Mon, 23 Mar 2020 19:34:30 +0300 [thread overview]
Message-ID: <20200323163431.7678-10-digetx@gmail.com> (raw)
In-Reply-To: <20200323163431.7678-1-digetx@gmail.com>
Consumer-grade devices usually have a custom NVIDIA Tegra Partition table
used by built-in eMMC storage. On some devices partition table resides on
a boot eMMC partition, and thus, the boot partitions need to be scanned.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
drivers/mmc/host/sdhci-tegra.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 3e2c5101291d..364572eaed8a 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -100,6 +100,7 @@
#define NVQUIRK_NEEDS_PAD_CONTROL BIT(7)
#define NVQUIRK_DIS_CARD_CLK_CONFIG_TAP BIT(8)
#define NVQUIRK_CQHCI_DCMD_R1B_CMD_TIMING BIT(9)
+#define NVQUIRK_SCAN_BOOT_PARTITIONS BIT(10)
/* SDMMC CQE Base Address for Tegra Host Ver 4.1 and Higher */
#define SDHCI_TEGRA_CQE_BASE_ADDR 0xF000
@@ -1304,7 +1305,8 @@ static const struct sdhci_tegra_soc_data soc_data_tegra20 = {
.pdata = &sdhci_tegra20_pdata,
.dma_mask = DMA_BIT_MASK(32),
.nvquirks = NVQUIRK_FORCE_SDHCI_SPEC_200 |
- NVQUIRK_ENABLE_BLOCK_GAP_DET,
+ NVQUIRK_ENABLE_BLOCK_GAP_DET |
+ NVQUIRK_SCAN_BOOT_PARTITIONS,
};
static const struct sdhci_pltfm_data sdhci_tegra30_pdata = {
@@ -1333,7 +1335,8 @@ static const struct sdhci_tegra_soc_data soc_data_tegra30 = {
.nvquirks = NVQUIRK_ENABLE_SDHCI_SPEC_300 |
NVQUIRK_ENABLE_SDR50 |
NVQUIRK_ENABLE_SDR104 |
- NVQUIRK_HAS_PADCALIB,
+ NVQUIRK_HAS_PADCALIB |
+ NVQUIRK_SCAN_BOOT_PARTITIONS,
};
static const struct sdhci_ops tegra114_sdhci_ops = {
@@ -1586,6 +1589,9 @@ static int sdhci_tegra_probe(struct platform_device *pdev)
/* HW busy detection is supported, but R1B responses are required. */
host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_NEED_RSP_BUSY;
+ if (tegra_host->soc_data->nvquirks & NVQUIRK_SCAN_BOOT_PARTITIONS)
+ host->mmc->scan_mmc_boot_partitions = true;
+
tegra_sdhci_parse_dt(host);
tegra_host->power_gpio = devm_gpiod_get_optional(&pdev->dev, "power",
--
2.25.1
next prev parent reply other threads:[~2020-03-23 16:36 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-23 16:34 [PATCH v3 00/10] Introduce NVIDIA Tegra Partition Table Dmitry Osipenko
2020-03-23 16:34 ` Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 01/10] mmc: core: Add raw_boot_mult field to mmc_ext_csd Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 02/10] mmc: block: Add mmc_bdev_to_card() helper Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 03/10] partitions: Introduce NVIDIA Tegra Partition Table Dmitry Osipenko
2020-03-23 16:34 ` Dmitry Osipenko
2020-03-23 19:17 ` Michał Mirosław
2020-03-23 19:17 ` Michał Mirosław
2020-03-23 19:59 ` Dmitry Osipenko
2020-03-23 21:35 ` Michał Mirosław
2020-03-23 23:22 ` Dmitry Osipenko
2020-03-23 23:22 ` Dmitry Osipenko
2020-03-24 20:52 ` Michał Mirosław
2020-03-24 20:52 ` Michał Mirosław
2020-03-25 0:27 ` Dmitry Osipenko
2020-03-25 0:27 ` Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 04/10] block: Introduce GENHD_FL_PART_SCAN_ONCE Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 05/10] mmc: block: Add mmc_bdev_to_part_type() helper Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 06/10] mmc: block: Add mmc_bdev_to_area_type() helper Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 07/10] mmc: block: Add MMC_QUIRK_RESCAN_MAIN_BLKDEV Dmitry Osipenko
2020-03-23 16:34 ` [PATCH v3 08/10] mmc: block: Support partition-table scanning on boot partitions Dmitry Osipenko
2020-03-23 16:34 ` Dmitry Osipenko
2020-03-23 16:34 ` Dmitry Osipenko [this message]
2020-03-23 16:34 ` [PATCH v3 10/10] partitions/tegra: Implement eMMC boot partitions scanning Dmitry Osipenko
2020-03-23 16:34 ` Dmitry Osipenko
2020-03-23 16:49 ` [PATCH v3 00/10] Introduce NVIDIA Tegra Partition Table Dmitry Osipenko
2020-03-23 16:49 ` Dmitry Osipenko
2020-03-23 18:07 ` Michał Mirosław
2020-03-23 19:44 ` Dmitry Osipenko
2020-03-23 19:44 ` Dmitry Osipenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200323163431.7678-10-digetx@gmail.com \
--to=digetx@gmail.com \
--cc=adrian.hunter@intel.com \
--cc=axboe@kernel.dk \
--cc=blaws05@gmail.com \
--cc=danindrey@mail.ru \
--cc=david@ixit.cz \
--cc=gilles@grandou.net \
--cc=jonathanh@nvidia.com \
--cc=kwizart@gmail.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mirq-linux@rere.qmqm.pl \
--cc=pgwipeout@gmail.com \
--cc=ryan@edited.us \
--cc=swarren@wwwdotorg.org \
--cc=thierry.reding@gmail.com \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.