On Mon, Feb 17, 2020 at 07:00:03PM +0530, Akash Asthana wrote: > Get the interconnect paths for SPI based Serial Engine device > and vote according to the current bus speed of the driver. > > Signed-off-by: Akash Asthana <akashast@xxxxxxxxxxxxxx> > --- > drivers/spi/spi-geni-qcom.c | 65 ++++++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 62 insertions(+), 3 deletions(-) > > diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c > index c397242..a066ef26 100644 > --- a/drivers/spi/spi-geni-qcom.c > +++ b/drivers/spi/spi-geni-qcom.c > @@ -608,16 +653,25 @@ static int spi_geni_remove(struct platform_device *pdev) > spi_unregister_master(spi); > > free_irq(mas->irq, spi); > + geni_spi_icc_put(&mas->se); > pm_runtime_disable(&pdev->dev); > return 0; > } > > static int __maybe_unused spi_geni_runtime_suspend(struct device *dev) > { > + int ret; > struct spi_master *spi = dev_get_drvdata(dev); > struct spi_geni_master *mas = spi_master_get_devdata(spi); > > - return geni_se_resources_off(&mas->se); > + ret = geni_se_resources_off(&mas->se); > + if (ret) > + return ret; > + > + icc_set_bw(mas->se.icc_path[GENI_TO_CORE], 0, 0); This causes my SC7180 system to reset at boot time: [ 3.509652] qcom-qmp-phy 88e9000.phy-wrapper: Registered Qcom-QMP phy [ 3.516956] qcom-qusb2-phy 88e3000.phy: Registered Qcom-QUSB2 phy [ 3.524450] geni_se_qup 8c0000.geniqup: Adding to iommu group 4 [ 3.533896] spi_master spi0: will run message pump with realtime priority <reset> The system does not reset when passing 'Bps_to_icc(1000)' (=> 1) instead of 0.