summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-07-07 14:26:34 +0100
committerMark Brown <broonie@kernel.org>2020-07-07 14:26:34 +0100
commit0e801d547cf3d988edb17514e1f0d5b7b1fd7e90 (patch)
tree2afba83a07266488e0cca094b88c2b3ad7058759
parent411b0f305b4ba05a7bae6b0fe924d02a3086eed6 (diff)
parentcfdab2cd85ecd3f98837e5cc59dd3319cd9b6fff (diff)
downloadlinux-0e801d547cf3d988edb17514e1f0d5b7b1fd7e90.tar.gz
linux-0e801d547cf3d988edb17514e1f0d5b7b1fd7e90.tar.bz2
linux-0e801d547cf3d988edb17514e1f0d5b7b1fd7e90.zip
Merge series "spi: spi-geni-qcom: Avoid a bunch of per-transfer overhead" from Douglas Anderson <dianders@chromium.org>:
This series tries to reduce a whole bunch of overhead in each SPI transfer. Much of this overhead is new with the recent interconnect changes, but even without those changes we still had some overhead that we could avoid. Let's avoid all of it. These changes are atop the Qualcomm tree to avoid merge conflicts. If they look good, the most expedient way to land them is probably to get Ack's from Mark and land then via the Qualcomm tree. Most testing was done on the Chrome OS 5.4 tree, but sanity check was done on mainline. Douglas Anderson (3): spi: spi-geni-qcom: Avoid clock setting if not needed spi: spi-geni-qcom: Set an autosuspend delay of 250 ms spi: spi-geni-qcom: Get rid of most overhead in prepare_message() drivers/spi/spi-geni-qcom.c | 67 ++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 35 deletions(-) -- 2.27.0.383.g050319c2ae-goog
-rw-r--r--drivers/spi/spi-geni-qcom.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
index e99a9d57449f..1d96a7f32fda 100644
--- a/drivers/spi/spi-geni-qcom.c
+++ b/drivers/spi/spi-geni-qcom.c
@@ -619,6 +619,8 @@ static int spi_geni_probe(struct platform_device *pdev)
init_completion(&mas->cancel_done);
init_completion(&mas->abort_done);
spin_lock_init(&mas->lock);
+ pm_runtime_use_autosuspend(&pdev->dev);
+ pm_runtime_set_autosuspend_delay(&pdev->dev, 250);
pm_runtime_enable(dev);
ret = spi_geni_init(mas);