From: Douglas Anderson <dianders@chromium.org>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Heiko Stuebner" <heiko@sntech.de>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Peter Ujfalusi" <peter.ujfalusi@ti.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
linux-samsung-soc@vger.kernel.org,
"Aaro Koskinen" <aaro.koskinen@iki.fi>,
"Kevin Hilman" <khilman@baylibre.com>,
"Michal Simek" <michal.simek@xilinx.com>,
"Ludovic Desroches" <ludovic.desroches@microchip.com>,
"NXP Linux Team" <linux-imx@nxp.com>,
linux-tegra@vger.kernel.org,
"Sascha Hauer" <s.hauer@pengutronix.de>,
swboyd@chromium.org, "Lars Persson" <lars.persson@axis.com>,
linux-omap@vger.kernel.org,
"Chaotian Jing" <chaotian.jing@mediatek.com>,
"Scott Branden" <sbranden@broadcom.com>,
"Andrew Jeffery" <andrew@aj.id.au>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
linux-kernel@vger.kernel.org,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Eugen Hristev" <eugen.hristev@microchip.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
linux-aspeed@lists.ozlabs.org,
"Yangtao Li" <tiny.windzz@gmail.com>,
"Hu Ziji" <huziji@marvell.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Jesper Nilsson" <jesper.nilsson@axis.com>,
"Chunyan Zhang" <zhang.lyra@gmail.com>,
linux-arm-kernel@axis.com,
"Jonathan Hunter" <jonathanh@nvidia.com>,
linux-rockchip@lists.infradead.org,
"Kukjin Kim" <kgene@kernel.org>,
"Pierre Ossman" <pierre@ossman.eu>,
"Saiyam Doshi" <saiyamdoshi.in@gmail.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Maxime Ripard" <mripard@kernel.org>,
linux-rpi-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
"Barry Song" <baohua@kernel.org>,
"Nicolas Pitre" <nico@fluxnic.net>,
"Douglas Anderson" <dianders@chromium.org>,
"Microchip Linux Driver Support" <UNGLinuxDriver@microchip.com>,
"Stefan Wahren" <wahrenst@gmx.net>,
"Christophe JAILLET" <christophe.jaillet@wanadoo.fr>,
"Ricky Wu" <ricky_wu@realtek.com>,
"Nicolas Saenz Julienne" <nsaenzjulienne@suse.de>,
"Patrice Chotard" <patrice.chotard@st.com>,
"Neil Armstrong" <narmstrong@baylibre.com>,
"Al Cooper" <alcooperx@gmail.com>,
"Wolfram Sang" <wsa+renesas@sang-engineering.com>,
"Fabio Estevam" <festevam@gmail.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Steen Hegelund" <Steen.Hegelund@microchip.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Kishon Vijay Abraham I" <kishon@ti.com>,
"Chen-Yu Tsai" <wens@csie.org>,
bcm-kernel-feedback-list@broadcom.com,
"Joel Stanley" <joel@jms.id.au>,
"Orson Zhai" <orsonzhai@gmail.com>, "Ray Jui" <rjui@broadcom.com>,
"Ben Dooks" <ben-linux@fluff.org>,
"Masahiro Yamada" <yamada.masahiro@socionext.com>,
linux-mmc@vger.kernel.org, "Baolin Wang" <baolin.wang7@gmail.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"Andreas Färber" <afaerber@suse.de>,
"H. Nikolaus Schaller" <hns@goldelico.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"Paul Cercueil" <paul@crapouillou.net>,
"Lee Jones" <lee.jones@linaro.org>, "Marek Vasut" <marex@denx.de>,
"Anson Huang" <Anson.Huang@nxp.com>,
"Jaehoon Chung" <jh80.chung@samsung.com>,
"Rui Miguel Silva" <rmfrfs@gmail.com>,
linux-mediatek@lists.infradead.org,
"Manuel Lauss" <manuel.lauss@gmail.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"Michał Mirosław" <mirq-linux@rere.qmqm.pl>,
"Angelo Dureghello" <angelo.dureghello@timesys.com>,
"Lars Povlsen" <lars.povlsen@microchip.com>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Tony Prisk" <linux@prisktech.co.nz>,
"Vinod Koul" <vkoul@kernel.org>,
"Robert Richter" <rrichter@marvell.com>,
"Viresh Kumar" <vireshk@kernel.org>,
"Jun Nie" <jun.nie@linaro.org>
Subject: [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers
Date: Thu, 3 Sep 2020 16:24:35 -0700 [thread overview]
Message-ID: <20200903232441.2694866-1-dianders@chromium.org> (raw)
As per discussion [1], it seems like it should be quite safe to turn
on PROBE_PREFER_ASYNCHRONOUS for all sd/mmc host controllers. Let's
give it a shot. For some discussion about this flag, see the commit
message for commit 3d3451124f3d ("mmc: sdhci-msm: Prefer asynchronous
probe").
I've broken this series into chunks based on LTS kernel releases to
attempt to make it easier if someone wanted to cherry-pick it to an
older kernel. While these cherry-picks won't be conflict free, there
should only be trivial context conflicts and no problems with drivers
that are totally missing. This is a bit of a compromise between a
1-big patch and a many-part patch series.
I have only tested this on a rk3399-kevin (sdhci-of-arasan) and a
rk3288-veyron (dw_mmc-rockchip) device and only lightly. If this
patch causes anyone problems those drivers should be marked with
PROBE_FORCE_SYNCHRONOUS, debugged, and then go back to prefer
asynchronous. Any problems are likely just a hidden bug that has been
exposed by this change.
NOTE: in theory, it'd be nice if there was a KConfig option that we
could flip that would turn on async probe everywhere (except for those
that opt out by adding PROBE_FORCE_SYNCHRONOUS). My hope is that by
adding this flag in more places it will become clear that this flag is
working reliably and easier to move over when we're ready.
While coccinelle is too difficult for my feeble brain, I managed to
whip up a pretty terrible python script to help with this. For your
edification:
import os
import sys
import re
for filename in os.listdir("."):
found_plat = False
found_driver = False
output = []
for line in open(filename, "r").readlines():
output.append(line)
if "struct platform_driver" in line:
found_plat = True
if found_plat and re.search(r"\t\.driver\s*=\s*{", line):
found_driver = True
found_plat = False
mo = re.search(r"(\s*)\.name(\s*)=", line)
if found_driver and mo:
if mo.group(2) == " ":
space = " "
elif mo.group(2) == "\t":
# Best we can do
space = " "
elif mo.group(2).startswith("\t"):
# Guess that removing one tab is right
space = mo.group(2)[1:]
else:
# Guess it's all spaces
space = mo.group(2)[7:] + " "
output.append("%s.probe_type%s= PROBE_PREFER_ASYNCHRONOUS,\n" % (mo.group(1), space))
found_driver = False
open(filename, "w").write("".join(output))
[1] https://lore.kernel.org/r/CAPDyKFq31bucJhP9hp1HSqh-qM2uNGHgDoyQpmbJf00nEf_T4Q@mail.gmail.com/
Douglas Anderson (6):
mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4
mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9
mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14
mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19
mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4
mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4
drivers/mmc/host/alcor.c | 1 +
drivers/mmc/host/android-goldfish.c | 1 +
drivers/mmc/host/atmel-mci.c | 1 +
drivers/mmc/host/au1xmmc.c | 1 +
drivers/mmc/host/bcm2835.c | 1 +
drivers/mmc/host/cavium-octeon.c | 1 +
drivers/mmc/host/davinci_mmc.c | 1 +
drivers/mmc/host/dw_mmc-bluefield.c | 1 +
drivers/mmc/host/dw_mmc-exynos.c | 1 +
drivers/mmc/host/dw_mmc-hi3798cv200.c | 1 +
drivers/mmc/host/dw_mmc-k3.c | 1 +
drivers/mmc/host/dw_mmc-pltfm.c | 1 +
drivers/mmc/host/dw_mmc-rockchip.c | 1 +
drivers/mmc/host/dw_mmc-zx.c | 1 +
drivers/mmc/host/jz4740_mmc.c | 1 +
drivers/mmc/host/meson-gx-mmc.c | 1 +
drivers/mmc/host/meson-mx-sdhc-mmc.c | 1 +
drivers/mmc/host/meson-mx-sdio.c | 1 +
drivers/mmc/host/moxart-mmc.c | 1 +
drivers/mmc/host/mtk-sd.c | 1 +
drivers/mmc/host/mvsdio.c | 1 +
drivers/mmc/host/mxcmmc.c | 1 +
drivers/mmc/host/mxs-mmc.c | 1 +
drivers/mmc/host/omap.c | 1 +
drivers/mmc/host/omap_hsmmc.c | 1 +
drivers/mmc/host/owl-mmc.c | 1 +
drivers/mmc/host/pxamci.c | 1 +
drivers/mmc/host/renesas_sdhi_internal_dmac.c | 1 +
drivers/mmc/host/renesas_sdhi_sys_dmac.c | 1 +
drivers/mmc/host/rtsx_pci_sdmmc.c | 1 +
drivers/mmc/host/rtsx_usb_sdmmc.c | 1 +
drivers/mmc/host/s3cmci.c | 1 +
drivers/mmc/host/sdhci-acpi.c | 1 +
drivers/mmc/host/sdhci-bcm-kona.c | 1 +
drivers/mmc/host/sdhci-brcmstb.c | 1 +
drivers/mmc/host/sdhci-cadence.c | 1 +
drivers/mmc/host/sdhci-cns3xxx.c | 1 +
drivers/mmc/host/sdhci-dove.c | 1 +
drivers/mmc/host/sdhci-esdhc-imx.c | 1 +
drivers/mmc/host/sdhci-esdhc-mcf.c | 1 +
drivers/mmc/host/sdhci-iproc.c | 1 +
drivers/mmc/host/sdhci-milbeaut.c | 1 +
drivers/mmc/host/sdhci-of-arasan.c | 1 +
drivers/mmc/host/sdhci-of-aspeed.c | 2 ++
drivers/mmc/host/sdhci-of-at91.c | 1 +
drivers/mmc/host/sdhci-of-dwcmshc.c | 1 +
drivers/mmc/host/sdhci-of-esdhc.c | 1 +
drivers/mmc/host/sdhci-of-hlwd.c | 1 +
drivers/mmc/host/sdhci-of-sparx5.c | 1 +
drivers/mmc/host/sdhci-omap.c | 1 +
drivers/mmc/host/sdhci-pic32.c | 1 +
drivers/mmc/host/sdhci-pxav2.c | 1 +
drivers/mmc/host/sdhci-pxav3.c | 1 +
drivers/mmc/host/sdhci-s3c.c | 1 +
drivers/mmc/host/sdhci-sirf.c | 1 +
drivers/mmc/host/sdhci-spear.c | 1 +
drivers/mmc/host/sdhci-sprd.c | 1 +
drivers/mmc/host/sdhci-st.c | 1 +
drivers/mmc/host/sdhci-tegra.c | 1 +
drivers/mmc/host/sdhci-xenon.c | 1 +
drivers/mmc/host/sdhci_am654.c | 1 +
drivers/mmc/host/sdhci_f_sdh30.c | 1 +
drivers/mmc/host/sh_mmcif.c | 1 +
drivers/mmc/host/sunxi-mmc.c | 1 +
drivers/mmc/host/tmio_mmc.c | 1 +
drivers/mmc/host/uniphier-sd.c | 1 +
drivers/mmc/host/usdhi6rol0.c | 1 +
drivers/mmc/host/wbsd.c | 1 +
drivers/mmc/host/wmt-sdmmc.c | 1 +
69 files changed, 70 insertions(+)
--
2.28.0.526.ge36021eeef-goog
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
next reply other threads:[~2020-09-03 23:25 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-03 23:24 Douglas Anderson [this message]
2020-09-03 23:24 ` [PATCH 3/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 Douglas Anderson
2020-09-04 6:35 ` Wolfram Sang
2020-09-03 23:24 ` [PATCH 4/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19 Douglas Anderson
2020-09-03 23:24 ` [PATCH 6/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4 Douglas Anderson
2020-09-04 8:14 ` Lars Povlsen
2020-09-04 9:33 ` Angelo Dureghello
2020-09-04 10:42 ` Manivannan Sadhasivam
2020-09-04 21:53 ` [PATCH 0/6] mmc: Set PROBE_PREFER_ASYNCHRONOUS for all host drivers Martin Blumenstingl
2020-09-07 3:57 ` Anand Moon
2020-09-07 4:04 ` Chen-Yu Tsai
2020-09-07 4:07 ` Chen-Yu Tsai
2020-09-07 10:25 ` Ulf Hansson
2020-09-07 12:28 ` Ulf Hansson
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=20200903232441.2694866-1-dianders@chromium.org \
--to=dianders@chromium.org \
--cc=Anson.Huang@nxp.com \
--cc=Steen.Hegelund@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=aaro.koskinen@iki.fi \
--cc=adrian.hunter@intel.com \
--cc=afaerber@suse.de \
--cc=alcooperx@gmail.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@aj.id.au \
--cc=angelo.dureghello@timesys.com \
--cc=baohua@kernel.org \
--cc=baolin.wang7@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=ben-linux@fluff.org \
--cc=chaotian.jing@mediatek.com \
--cc=christophe.jaillet@wanadoo.fr \
--cc=eugen.hristev@microchip.com \
--cc=f.fainelli@gmail.com \
--cc=festevam@gmail.com \
--cc=geert+renesas@glider.be \
--cc=gregkh@linuxfoundation.org \
--cc=heiko@sntech.de \
--cc=hns@goldelico.com \
--cc=huziji@marvell.com \
--cc=jbrunet@baylibre.com \
--cc=jesper.nilsson@axis.com \
--cc=jh80.chung@samsung.com \
--cc=joel@jms.id.au \
--cc=jonathanh@nvidia.com \
--cc=jun.nie@linaro.org \
--cc=kernel@pengutronix.de \
--cc=kgene@kernel.org \
--cc=khilman@baylibre.com \
--cc=kishon@ti.com \
--cc=krzk@kernel.org \
--cc=lars.persson@axis.com \
--cc=lars.povlsen@microchip.com \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@axis.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux@prisktech.co.nz \
--cc=ludovic.desroches@microchip.com \
--cc=manivannan.sadhasivam@linaro.org \
--cc=manuel.lauss@gmail.com \
--cc=marex@denx.de \
--cc=martin.blumenstingl@googlemail.com \
--cc=matthias.bgg@gmail.com \
--cc=michal.simek@xilinx.com \
--cc=mirq-linux@rere.qmqm.pl \
--cc=mripard@kernel.org \
--cc=narmstrong@baylibre.com \
--cc=nico@fluxnic.net \
--cc=nicolas.ferre@microchip.com \
--cc=nsaenzjulienne@suse.de \
--cc=orsonzhai@gmail.com \
--cc=patrice.chotard@st.com \
--cc=paul@crapouillou.net \
--cc=peter.ujfalusi@ti.com \
--cc=pierre@ossman.eu \
--cc=ricky_wu@realtek.com \
--cc=rjui@broadcom.com \
--cc=rmfrfs@gmail.com \
--cc=rrichter@marvell.com \
--cc=s.hauer@pengutronix.de \
--cc=saiyamdoshi.in@gmail.com \
--cc=sbranden@broadcom.com \
--cc=shawnguo@kernel.org \
--cc=swboyd@chromium.org \
--cc=thierry.reding@gmail.com \
--cc=tiny.windzz@gmail.com \
--cc=ulf.hansson@linaro.org \
--cc=vireshk@kernel.org \
--cc=vkoul@kernel.org \
--cc=wahrenst@gmx.net \
--cc=wens@csie.org \
--cc=wsa+renesas@sang-engineering.com \
--cc=yamada.masahiro@socionext.com \
--cc=yoshihiro.shimoda.uh@renesas.com \
--cc=zhang.lyra@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).