Message ID | 20200701174506.2.I9b8f6bb1e7e6d8847e2ed2cf854ec55678db427f@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spi: spi-geni-qcom: Avoid a bunch of per-transfer overhead | expand |
On 7/2/2020 6:15 AM, Douglas Anderson wrote: > In commit 0e3b8a81f5df ("spi: spi-geni-qcom: Add interconnect > support") the spi_geni_runtime_suspend() and spi_geni_runtime_resume() > became a bit slower. Measuring on my hardware I see numbers in the > hundreds of microseconds now. > > Let's use autosuspend to help avoid some of the overhead. Now if > we're doing a bunch of transfers we won't need to be constantly > chruning. > > The number 250 ms for the autosuspend delay was picked a bit > arbitrarily, so if someone has measurements showing a better value we > could easily change this. Reviewed-by: Akash Asthana<akashast@codeaurora.org>
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index bb4cdda2dec8..f51279608fc7 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -595,6 +595,8 @@ static int spi_geni_probe(struct platform_device *pdev) init_completion(&mas->xfer_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 = geni_icc_get(&mas->se, NULL);
In commit 0e3b8a81f5df ("spi: spi-geni-qcom: Add interconnect support") the spi_geni_runtime_suspend() and spi_geni_runtime_resume() became a bit slower. Measuring on my hardware I see numbers in the hundreds of microseconds now. Let's use autosuspend to help avoid some of the overhead. Now if we're doing a bunch of transfers we won't need to be constantly chruning. The number 250 ms for the autosuspend delay was picked a bit arbitrarily, so if someone has measurements showing a better value we could easily change this. Fixes: 0e3b8a81f5df ("spi: spi-geni-qcom: Add interconnect support") Signed-off-by: Douglas Anderson <dianders@chromium.org> --- drivers/spi/spi-geni-qcom.c | 2 ++ 1 file changed, 2 insertions(+)