From: Vinod Koul <vinod.koul@intel.com>
To: Sinan Kaya <okaya@codeaurora.org>
Cc: dmaengine@vger.kernel.org, timur@codeaurora.org,
cov@codeaurora.org, jcm@redhat.com, agross@codeaurora.org,
arnd@arndb.de, linux-arm-msm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH V7 2/3] dma: add Qualcomm Technologies HIDMA management driver
Date: Sat, 5 Dec 2015 13:28:26 +0530 [thread overview]
Message-ID: <20151205075826.GI1854@localhost> (raw)
In-Reply-To: <565E7A3E.1070207@codeaurora.org>
On Tue, Dec 01, 2015 at 11:57:34PM -0500, Sinan Kaya wrote:
> On 11/30/2015 10:17 PM, Vinod Koul wrote:
> > On Mon, Nov 30, 2015 at 09:42:01AM -0500, Sinan Kaya wrote:
> >
> >>>> +static int hidma_mgmt_probe(struct platform_device *pdev)
> >>>> +{
> >>>> + struct hidma_mgmt_dev *mgmtdev;
> >>>> + struct resource *res;
> >>>> + void __iomem *virtaddr;
> >>>> + int irq;
> >>>> + int rc;
> >>>> + u32 val;
> >>>> +
> >>>> + pm_runtime_set_autosuspend_delay(&pdev->dev, AUTOSUSPEND_TIMEOUT);
> >>>> + pm_runtime_use_autosuspend(&pdev->dev);
> >>>> + pm_runtime_set_active(&pdev->dev);
> >>>> + pm_runtime_enable(&pdev->dev);
> >>>
> >>> at this time pm core will treat device as fully enabled and pm methods can
> >>> be invoked, but you are not ready yet right. Typically these are done at the
> >>> end of the probe unless you have a reason...
> >>
> >> I need it here because the clocks are declared as ACPI power resources.
> >> The kernel is turning off all power resources during initialization. In
> >> order for this code to touch the hardware, I need to call enable so that
> >> clocks are enabled once again.
> >
> > The question is are you ready in your driver routines to be invoked by pm
> > core?
> >
>
> I don't have any support for suspend and resume PM APIs. The only PM
> interface I support is PM runtime. PM can turn on/off the clocks based
> on the reference counts it maintains after get/set APIs. Since PM is
> turning off the clocks during power up before my driver load, I do need
> to grab this lock to re-enable it during HW initialization. Then, let PM
> turn off the clocks again after the AUTOSUSPEND_TIMEOUT when I'm done.
>
> Is there any other interaction with the PM that I'm not aware of?
No this is fine. The the runtime_resume will be onvoked and it will request
resources are those set before you enable the device?
--
~Vinod
WARNING: multiple messages have this Message-ID (diff)
From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V7 2/3] dma: add Qualcomm Technologies HIDMA management driver
Date: Sat, 5 Dec 2015 13:28:26 +0530 [thread overview]
Message-ID: <20151205075826.GI1854@localhost> (raw)
In-Reply-To: <565E7A3E.1070207@codeaurora.org>
On Tue, Dec 01, 2015 at 11:57:34PM -0500, Sinan Kaya wrote:
> On 11/30/2015 10:17 PM, Vinod Koul wrote:
> > On Mon, Nov 30, 2015 at 09:42:01AM -0500, Sinan Kaya wrote:
> >
> >>>> +static int hidma_mgmt_probe(struct platform_device *pdev)
> >>>> +{
> >>>> + struct hidma_mgmt_dev *mgmtdev;
> >>>> + struct resource *res;
> >>>> + void __iomem *virtaddr;
> >>>> + int irq;
> >>>> + int rc;
> >>>> + u32 val;
> >>>> +
> >>>> + pm_runtime_set_autosuspend_delay(&pdev->dev, AUTOSUSPEND_TIMEOUT);
> >>>> + pm_runtime_use_autosuspend(&pdev->dev);
> >>>> + pm_runtime_set_active(&pdev->dev);
> >>>> + pm_runtime_enable(&pdev->dev);
> >>>
> >>> at this time pm core will treat device as fully enabled and pm methods can
> >>> be invoked, but you are not ready yet right. Typically these are done at the
> >>> end of the probe unless you have a reason...
> >>
> >> I need it here because the clocks are declared as ACPI power resources.
> >> The kernel is turning off all power resources during initialization. In
> >> order for this code to touch the hardware, I need to call enable so that
> >> clocks are enabled once again.
> >
> > The question is are you ready in your driver routines to be invoked by pm
> > core?
> >
>
> I don't have any support for suspend and resume PM APIs. The only PM
> interface I support is PM runtime. PM can turn on/off the clocks based
> on the reference counts it maintains after get/set APIs. Since PM is
> turning off the clocks during power up before my driver load, I do need
> to grab this lock to re-enable it during HW initialization. Then, let PM
> turn off the clocks again after the AUTOSUSPEND_TIMEOUT when I'm done.
>
> Is there any other interaction with the PM that I'm not aware of?
No this is fine. The the runtime_resume will be onvoked and it will request
resources are those set before you enable the device?
--
~Vinod
next prev parent reply other threads:[~2015-12-05 7:55 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-23 2:28 [PATCH V7 0/3] dma: add Qualcomm Technologies HIDMA driver Sinan Kaya
2015-11-23 2:28 ` Sinan Kaya
2015-11-23 2:28 ` [PATCH V7 1/3] dma: qcom_bam_dma: move to qcom directory Sinan Kaya
2015-11-23 2:28 ` Sinan Kaya
2015-11-25 21:42 ` Andy Gross
2015-11-25 21:42 ` Andy Gross
2015-11-28 15:06 ` Sinan Kaya
2015-11-28 15:06 ` Sinan Kaya
2015-11-23 2:28 ` [PATCH V7 2/3] dma: add Qualcomm Technologies HIDMA management driver Sinan Kaya
2015-11-23 2:28 ` Sinan Kaya
2015-11-23 18:06 ` Andy Shevchenko
2015-11-23 18:06 ` Andy Shevchenko
2015-11-23 18:49 ` Sinan Kaya
2015-11-23 18:49 ` Sinan Kaya
2015-11-30 8:21 ` Vinod Koul
2015-11-30 8:21 ` Vinod Koul
2015-11-30 14:42 ` Sinan Kaya
2015-11-30 14:42 ` Sinan Kaya
2015-12-01 3:17 ` Vinod Koul
2015-12-01 3:17 ` Vinod Koul
2015-12-01 3:17 ` Vinod Koul
2015-12-02 4:57 ` Sinan Kaya
2015-12-02 4:57 ` Sinan Kaya
2015-12-05 7:58 ` Vinod Koul [this message]
2015-12-05 7:58 ` Vinod Koul
2015-12-08 14:36 ` Sinan Kaya
2015-12-08 14:36 ` Sinan Kaya
2015-11-23 2:28 ` [PATCH V7 3/3] dma: add Qualcomm Technologies HIDMA channel driver Sinan Kaya
2015-11-23 2:28 ` Sinan Kaya
2015-11-30 8:59 ` Vinod Koul
2015-11-30 8:59 ` Vinod Koul
2015-11-30 20:06 ` Sinan Kaya
2015-11-30 20:06 ` Sinan Kaya
2015-12-01 11:34 ` Vinod Koul
2015-12-01 11:34 ` Vinod Koul
2015-12-01 21:16 ` Sinan Kaya
2015-12-01 21:16 ` Sinan Kaya
2015-12-02 19:04 ` Sinan Kaya
2015-12-02 19:04 ` Sinan Kaya
2015-12-05 8:00 ` Vinod Koul
2015-12-05 8:00 ` Vinod Koul
2015-12-08 14:33 ` Sinan Kaya
2015-12-08 14:33 ` Sinan Kaya
2015-12-10 20:10 ` Sinan Kaya
2015-12-10 20:10 ` Sinan Kaya
2015-12-11 9:35 ` Vinod Koul
2015-12-11 9:35 ` Vinod Koul
2015-12-17 23:52 ` Sinan Kaya
2015-12-17 23:52 ` Sinan Kaya
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=20151205075826.GI1854@localhost \
--to=vinod.koul@intel.com \
--cc=agross@codeaurora.org \
--cc=arnd@arndb.de \
--cc=cov@codeaurora.org \
--cc=dmaengine@vger.kernel.org \
--cc=jcm@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=okaya@codeaurora.org \
--cc=timur@codeaurora.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.