From: Tony Lindgren <tony@atomide.com>
To: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
richardcochran@gmail.com, Russell King <linux@arm.linux.org.uk>,
Suman Anna <s-anna@ti.com>,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, nsekhar@ti.com
Subject: Re: [PATCH v3 3/3] pci: dra7xx: use pdata callbacks to perform reset
Date: Wed, 27 Jan 2016 09:31:04 -0800 [thread overview]
Message-ID: <20160127173104.GQ19432@atomide.com> (raw)
In-Reply-To: <1452780672-14339-4-git-send-email-kishon@ti.com>
* Kishon Vijay Abraham I <kishon@ti.com> [160114 06:12]:
> Use assert/deassert callbacks populated in the platform data to
> to perform reset of PCIe.
>
> Use these callbacks until a reset controller driver is
> is available in the kernel to reset PCIe.
...
> --- a/drivers/pci/host/pci-dra7xx.c
> +++ b/drivers/pci/host/pci-dra7xx.c
> @@ -347,6 +404,10 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev)
> enum of_gpio_flags flags;
> unsigned long gpio_flags;
>
> + ret = dra7xx_pcie_reset(pdev);
> + if (ret)
> + return ret;
> +
> dra7xx = devm_kzalloc(dev, sizeof(*dra7xx), GFP_KERNEL);
> if (!dra7xx)
> return -ENOMEM;
With the hwmod data properly configured the reset already happens
for the device by the bus driver, the hwmod code in this case?
> @@ -457,6 +518,7 @@ static int __exit dra7xx_pcie_remove(struct platform_device *pdev)
> struct pcie_port *pp = &dra7xx->pp;
> struct device *dev = &pdev->dev;
> int count = dra7xx->phy_count;
> + int ret;
>
> if (pp->irq_domain)
> irq_domain_remove(pp->irq_domain);
> @@ -467,6 +529,10 @@ static int __exit dra7xx_pcie_remove(struct platform_device *pdev)
> phy_exit(dra7xx->phy[count]);
> }
>
> + ret = dra7xx_pcie_assert_reset(pdev);
> + if (ret < 0)
> + return ret;
> +
> return 0;
> }
Why do you need another reset here? Can't you just implement PM runtime
in the driver and do the usual pm_runtime_put_sync followed by
pm_runtime_disable?
Basically I'm wondering how come we need these platform data callbacks
at all.
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 3/3] pci: dra7xx: use pdata callbacks to perform reset
Date: Wed, 27 Jan 2016 09:31:04 -0800 [thread overview]
Message-ID: <20160127173104.GQ19432@atomide.com> (raw)
In-Reply-To: <1452780672-14339-4-git-send-email-kishon@ti.com>
* Kishon Vijay Abraham I <kishon@ti.com> [160114 06:12]:
> Use assert/deassert callbacks populated in the platform data to
> to perform reset of PCIe.
>
> Use these callbacks until a reset controller driver is
> is available in the kernel to reset PCIe.
...
> --- a/drivers/pci/host/pci-dra7xx.c
> +++ b/drivers/pci/host/pci-dra7xx.c
> @@ -347,6 +404,10 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev)
> enum of_gpio_flags flags;
> unsigned long gpio_flags;
>
> + ret = dra7xx_pcie_reset(pdev);
> + if (ret)
> + return ret;
> +
> dra7xx = devm_kzalloc(dev, sizeof(*dra7xx), GFP_KERNEL);
> if (!dra7xx)
> return -ENOMEM;
With the hwmod data properly configured the reset already happens
for the device by the bus driver, the hwmod code in this case?
> @@ -457,6 +518,7 @@ static int __exit dra7xx_pcie_remove(struct platform_device *pdev)
> struct pcie_port *pp = &dra7xx->pp;
> struct device *dev = &pdev->dev;
> int count = dra7xx->phy_count;
> + int ret;
>
> if (pp->irq_domain)
> irq_domain_remove(pp->irq_domain);
> @@ -467,6 +529,10 @@ static int __exit dra7xx_pcie_remove(struct platform_device *pdev)
> phy_exit(dra7xx->phy[count]);
> }
>
> + ret = dra7xx_pcie_assert_reset(pdev);
> + if (ret < 0)
> + return ret;
> +
> return 0;
> }
Why do you need another reset here? Can't you just implement PM runtime
in the driver and do the usual pm_runtime_put_sync followed by
pm_runtime_disable?
Basically I'm wondering how come we need these platform data callbacks
at all.
Regards,
Tony
next prev parent reply other threads:[~2016-01-27 17:31 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-14 14:11 [PATCH v3 0/3] dra7xx: get pcie working in mainline Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-01-14 14:11 ` [PATCH v3 1/3] ARM: DRA7: hwmod: Add reset data for PCIe Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-02-08 1:50 ` Paul Walmsley
2016-02-08 1:50 ` Paul Walmsley
2016-01-14 14:11 ` [PATCH v3 2/3] ARM: DRA7: add pdata-quirks to do reset of PCIe Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-01-15 19:19 ` Suman Anna
2016-01-15 19:19 ` Suman Anna
2016-01-15 19:19 ` Suman Anna
2016-01-15 19:22 ` Tony Lindgren
2016-01-15 19:22 ` Tony Lindgren
2016-01-15 19:41 ` Suman Anna
2016-01-15 19:41 ` Suman Anna
2016-01-15 19:41 ` Suman Anna
2016-01-18 9:12 ` Sekhar Nori
2016-01-18 9:12 ` Sekhar Nori
2016-01-18 9:12 ` Sekhar Nori
2016-01-27 17:23 ` Tony Lindgren
2016-01-27 17:23 ` Tony Lindgren
2016-01-14 14:11 ` [PATCH v3 3/3] pci: dra7xx: use pdata callbacks to perform reset Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-01-14 14:11 ` Kishon Vijay Abraham I
2016-01-27 17:31 ` Tony Lindgren [this message]
2016-01-27 17:31 ` Tony Lindgren
2016-01-27 18:16 ` Suman Anna
2016-01-27 18:16 ` Suman Anna
2016-01-27 18:16 ` Suman Anna
2016-01-27 18:56 ` Tony Lindgren
2016-01-27 18:56 ` Tony Lindgren
2016-01-27 23:16 ` Suman Anna
2016-01-27 23:16 ` Suman Anna
2016-01-27 23:16 ` Suman Anna
2016-01-28 18:31 ` Tony Lindgren
2016-01-28 18:31 ` Tony Lindgren
2016-01-28 21:15 ` Suman Anna
2016-01-28 21:15 ` Suman Anna
2016-01-28 21:15 ` Suman Anna
2016-02-02 10:40 ` Kishon Vijay Abraham I
2016-02-02 10:40 ` Kishon Vijay Abraham I
2016-02-02 10:40 ` Kishon Vijay Abraham I
2016-02-05 4:19 ` Kishon Vijay Abraham I
2016-02-05 4:19 ` Kishon Vijay Abraham I
2016-02-05 4:19 ` Kishon Vijay Abraham I
2016-02-08 2:48 ` Paul Walmsley
2016-02-08 2:48 ` Paul Walmsley
2016-02-08 20:56 ` Suman Anna
2016-02-08 20:56 ` Suman Anna
2016-02-08 20:56 ` Suman Anna
2016-02-09 8:49 ` Paul Walmsley
2016-02-09 8:49 ` Paul Walmsley
2016-02-09 17:40 ` Suman Anna
2016-02-09 17:40 ` Suman Anna
2016-02-09 17:40 ` Suman Anna
2016-02-09 19:36 ` Paul Walmsley
2016-02-09 19:36 ` Paul Walmsley
2016-02-10 1:42 ` Suman Anna
2016-02-10 1:42 ` Suman Anna
2016-02-10 1:42 ` Suman Anna
2016-02-10 5:38 ` Kishon Vijay Abraham I
2016-02-10 5:38 ` Kishon Vijay Abraham I
2016-02-10 5:38 ` Kishon Vijay Abraham I
2016-02-11 19:27 ` Paul Walmsley
2016-02-11 19:27 ` Paul Walmsley
2016-02-11 22:04 ` Suman Anna
2016-02-11 22:04 ` Suman Anna
2016-02-11 22:04 ` Suman Anna
2016-02-12 6:49 ` Kishon Vijay Abraham I
2016-02-12 6:49 ` Kishon Vijay Abraham I
2016-02-12 6:49 ` Kishon Vijay Abraham I
2016-02-12 17:20 ` Suman Anna
2016-02-12 17:20 ` Suman Anna
2016-02-12 17:20 ` Suman Anna
2016-02-18 14:21 ` Sekhar Nori
2016-02-18 14:21 ` Sekhar Nori
2016-02-18 14:21 ` Sekhar Nori
2016-02-18 17:23 ` Paul Walmsley
2016-02-18 17:23 ` Paul Walmsley
2016-02-18 18:27 ` Suman Anna
2016-02-18 18:27 ` Suman Anna
2016-02-18 18:27 ` Suman Anna
2016-02-22 6:18 ` Kishon Vijay Abraham I
2016-02-22 6:18 ` Kishon Vijay Abraham I
2016-02-22 6:18 ` Kishon Vijay Abraham I
2016-02-22 6:31 ` Paul Walmsley
2016-02-22 6:31 ` Paul Walmsley
2016-02-22 9:55 ` Kishon Vijay Abraham I
2016-02-22 9:55 ` Kishon Vijay Abraham I
2016-02-22 9:55 ` Kishon Vijay Abraham I
2016-02-23 11:57 ` Kishon Vijay Abraham I
2016-02-23 11:57 ` Kishon Vijay Abraham I
2016-02-23 11:57 ` Kishon Vijay Abraham I
2016-02-23 18:28 ` Paul Walmsley
2016-02-23 18:28 ` Paul Walmsley
2016-02-24 6:21 ` Kishon Vijay Abraham I
2016-02-24 6:21 ` Kishon Vijay Abraham I
2016-02-24 6:21 ` Kishon Vijay Abraham I
2016-03-01 8:25 ` Paul Walmsley
2016-03-01 8:25 ` Paul Walmsley
2016-03-01 11:55 ` Kishon Vijay Abraham I
2016-03-01 11:55 ` Kishon Vijay Abraham I
2016-03-01 11:55 ` Kishon Vijay Abraham I
2016-03-01 14:43 ` Bjorn Helgaas
2016-03-01 14:43 ` Bjorn Helgaas
2016-03-01 16:55 ` Suman Anna
2016-03-01 16:55 ` Suman Anna
2016-03-01 16:55 ` Suman Anna
2016-02-11 20:43 ` Suman Anna
2016-02-11 20:43 ` Suman Anna
2016-02-11 20:43 ` Suman Anna
2016-02-12 6:55 ` Kishon Vijay Abraham I
2016-02-12 6:55 ` Kishon Vijay Abraham I
2016-02-12 6:55 ` Kishon Vijay Abraham I
2016-02-10 5:36 ` Kishon Vijay Abraham I
2016-02-10 5:36 ` Kishon Vijay Abraham I
2016-02-10 5:36 ` Kishon Vijay Abraham I
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=20160127173104.GQ19432@atomide.com \
--to=tony@atomide.com \
--cc=bhelgaas@google.com \
--cc=kishon@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nsekhar@ti.com \
--cc=richardcochran@gmail.com \
--cc=s-anna@ti.com \
/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.