All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vignesh R <vigneshr@ti.com>
To: <matthew.gerlach@linux.intel.com>
Cc: Marek Vasut <marek.vasut@gmail.com>,
	Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>,
	David Woodhouse <dwmw2@infradead.org>,
	Brian Norris <computersforpeace@gmail.com>,
	Boris Brezillon <boris.brezillon@free-electrons.com>,
	Rob Herring <robh+dt@kernel.org>, <linux-mtd@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support
Date: Wed, 27 Sep 2017 16:18:49 +0530	[thread overview]
Message-ID: <7237fa9e-4d3a-8a82-10c6-76737c23ed6f@ti.com> (raw)
In-Reply-To: <fdfe29bf-ff46-7542-8e36-e8e45e1ca85f@gmail.com>

Hi Matthew,

On Tuesday 26 September 2017 05:19 AM, Marek Vasut wrote:
[...]
>>>> Ok thanks! Do you know if pm_runtime_get_sync() can enable clocks for
>>>> QSPI on SoCFPGA or if clk_prepare_enable() is needed? Just trying to see
>>>> if its possible to get rid of clk_*() calls in favor of pm_*() calls.
>>>
>>> Not of the top of my head, sorry. +CC Matthew, he should know.
>>
>> I am not an expert at the clock framework nor the power management, but I
>> did ask around a bit.  No one I asked was planning to change the clk_*()
>> calls to pm_*() call, but the feedback was that it would be a good idea.
> 
> The question is, if we do the replacement, will it break on socfpga ?
> A quick test might be useful.
> 

yes, a quick qspi test with clk_prepare_enable() replaced by pm_*() calls
like below patch would be helpful:


diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index 53c7d8e0327a..7ad3e176cc88 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -34,6 +34,7 @@
 #include <linux/sched.h>
 #include <linux/spi/spi.h>
 #include <linux/timer.h>
+#include <linux/pm_runtime.h>
 
 #define CQSPI_NAME                     "cadence-qspi"
 #define CQSPI_MAX_CHIPSELECT           16
@@ -1206,11 +1207,8 @@ static int cqspi_probe(struct platform_device *pdev)
                return -ENXIO;
        }
 
-       ret = clk_prepare_enable(cqspi->clk);
-       if (ret) {
-               dev_err(dev, "Cannot enable QSPI clock.\n");
-               return ret;
-       }
+       pm_runtime_enable(dev);
+       pm_runtime_get_sync(dev);
 
        cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk);
 
 



-- 
Regards
Vignesh

WARNING: multiple messages have this Message-ID (diff)
From: Vignesh R <vigneshr-l0cyMroinI0@public.gmane.org>
To: matthew.gerlach-VuQAYsv1563Yd54FQh9/CA@public.gmane.org
Cc: Marek Vasut <marek.vasut-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Cyrille Pitchen
	<cyrille.pitchen-yU5RGvR974pGWvitb5QawA@public.gmane.org>,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Brian Norris
	<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Boris Brezillon
	<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH v3 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support
Date: Wed, 27 Sep 2017 16:18:49 +0530	[thread overview]
Message-ID: <7237fa9e-4d3a-8a82-10c6-76737c23ed6f@ti.com> (raw)
In-Reply-To: <fdfe29bf-ff46-7542-8e36-e8e45e1ca85f-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Hi Matthew,

On Tuesday 26 September 2017 05:19 AM, Marek Vasut wrote:
[...]
>>>> Ok thanks! Do you know if pm_runtime_get_sync() can enable clocks for
>>>> QSPI on SoCFPGA or if clk_prepare_enable() is needed? Just trying to see
>>>> if its possible to get rid of clk_*() calls in favor of pm_*() calls.
>>>
>>> Not of the top of my head, sorry. +CC Matthew, he should know.
>>
>> I am not an expert at the clock framework nor the power management, but I
>> did ask around a bit.  No one I asked was planning to change the clk_*()
>> calls to pm_*() call, but the feedback was that it would be a good idea.
> 
> The question is, if we do the replacement, will it break on socfpga ?
> A quick test might be useful.
> 

yes, a quick qspi test with clk_prepare_enable() replaced by pm_*() calls
like below patch would be helpful:


diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index 53c7d8e0327a..7ad3e176cc88 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -34,6 +34,7 @@
 #include <linux/sched.h>
 #include <linux/spi/spi.h>
 #include <linux/timer.h>
+#include <linux/pm_runtime.h>
 
 #define CQSPI_NAME                     "cadence-qspi"
 #define CQSPI_MAX_CHIPSELECT           16
@@ -1206,11 +1207,8 @@ static int cqspi_probe(struct platform_device *pdev)
                return -ENXIO;
        }
 
-       ret = clk_prepare_enable(cqspi->clk);
-       if (ret) {
-               dev_err(dev, "Cannot enable QSPI clock.\n");
-               return ret;
-       }
+       pm_runtime_enable(dev);
+       pm_runtime_get_sync(dev);
 
        cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk);
 
 



-- 
Regards
Vignesh
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: vigneshr@ti.com (Vignesh R)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support
Date: Wed, 27 Sep 2017 16:18:49 +0530	[thread overview]
Message-ID: <7237fa9e-4d3a-8a82-10c6-76737c23ed6f@ti.com> (raw)
In-Reply-To: <fdfe29bf-ff46-7542-8e36-e8e45e1ca85f@gmail.com>

Hi Matthew,

On Tuesday 26 September 2017 05:19 AM, Marek Vasut wrote:
[...]
>>>> Ok thanks! Do you know if pm_runtime_get_sync() can enable clocks for
>>>> QSPI on SoCFPGA or if clk_prepare_enable() is needed? Just trying to see
>>>> if its possible to get rid of clk_*() calls in favor of pm_*() calls.
>>>
>>> Not of the top of my head, sorry. +CC Matthew, he should know.
>>
>> I am not an expert at the clock framework nor the power management, but I
>> did ask around a bit.? No one I asked was planning to change the clk_*()
>> calls to pm_*() call, but the feedback was that it would be a good idea.
> 
> The question is, if we do the replacement, will it break on socfpga ?
> A quick test might be useful.
> 

yes, a quick qspi test with clk_prepare_enable() replaced by pm_*() calls
like below patch would be helpful:


diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index 53c7d8e0327a..7ad3e176cc88 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -34,6 +34,7 @@
 #include <linux/sched.h>
 #include <linux/spi/spi.h>
 #include <linux/timer.h>
+#include <linux/pm_runtime.h>
 
 #define CQSPI_NAME                     "cadence-qspi"
 #define CQSPI_MAX_CHIPSELECT           16
@@ -1206,11 +1207,8 @@ static int cqspi_probe(struct platform_device *pdev)
                return -ENXIO;
        }
 
-       ret = clk_prepare_enable(cqspi->clk);
-       if (ret) {
-               dev_err(dev, "Cannot enable QSPI clock.\n");
-               return ret;
-       }
+       pm_runtime_enable(dev);
+       pm_runtime_get_sync(dev);
 
        cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk);
 
 



-- 
Regards
Vignesh

  reply	other threads:[~2017-09-27 10:49 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-24 10:59 [PATCH v3 0/5] K2G: Add QSPI support Vignesh R
2017-09-24 10:59 ` Vignesh R
2017-09-24 10:59 ` Vignesh R
2017-09-24 10:59 ` [PATCH v3 1/5] mtd: spi-nor: cadence-quadspi: Add TI 66AK2G SoC specific compatible Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59 ` [PATCH v3 2/5] mtd: spi-nor: cadence-quadspi: add a delay in write sequence Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 11:59   ` Marek Vasut
2017-09-24 11:59     ` Marek Vasut
2017-09-24 12:33     ` Vignesh R
2017-09-24 12:33       ` Vignesh R
2017-09-24 12:33       ` Vignesh R
2017-09-24 13:13       ` Marek Vasut
2017-09-24 13:13         ` Marek Vasut
2017-09-24 13:13         ` Marek Vasut
2017-10-02 12:46         ` Vignesh R
2017-10-02 12:46           ` Vignesh R
2017-10-02 12:46           ` Vignesh R
2017-09-24 10:59 ` [PATCH v3 3/5] mtd: spi-nor: cadence-quadspi: Add new binding to enable loop-back circuit Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59 ` [PATCH v3 4/5] mtd: spi-nor: cadence-quadspi: Add support to enable loop-back clock circuit Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59 ` [PATCH v3 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 10:59   ` Vignesh R
2017-09-24 12:01   ` Marek Vasut
2017-09-24 12:01     ` Marek Vasut
2017-09-24 13:08     ` Vignesh R
2017-09-24 13:08       ` Vignesh R
2017-09-24 13:08       ` Vignesh R
2017-09-24 13:12       ` Marek Vasut
2017-09-24 13:12         ` Marek Vasut
2017-09-24 13:12         ` Marek Vasut
2017-09-24 13:27         ` Vignesh R
2017-09-24 13:27           ` Vignesh R
2017-09-24 13:27           ` Vignesh R
2017-09-24 13:51           ` Marek Vasut
2017-09-24 13:51             ` Marek Vasut
2017-09-25 22:41             ` matthew.gerlach
2017-09-25 22:41               ` matthew.gerlach at linux.intel.com
2017-09-25 22:41               ` matthew.gerlach-VuQAYsv1563Yd54FQh9/CA
2017-09-25 23:49               ` Marek Vasut
2017-09-25 23:49                 ` Marek Vasut
2017-09-25 23:49                 ` Marek Vasut
2017-09-27 10:48                 ` Vignesh R [this message]
2017-09-27 10:48                   ` Vignesh R
2017-09-27 10:48                   ` Vignesh R
2017-09-28 15:01                   ` matthew.gerlach
2017-09-28 15:01                     ` matthew.gerlach at linux.intel.com
2017-10-02 12:28                     ` Vignesh R
2017-10-02 12:28                       ` Vignesh R
2017-10-02 12:28                       ` Vignesh R

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=7237fa9e-4d3a-8a82-10c6-76737c23ed6f@ti.com \
    --to=vigneshr@ti.com \
    --cc=boris.brezillon@free-electrons.com \
    --cc=computersforpeace@gmail.com \
    --cc=cyrille.pitchen@wedev4u.fr \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=marek.vasut@gmail.com \
    --cc=matthew.gerlach@linux.intel.com \
    --cc=robh+dt@kernel.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.