From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suman Anna Subject: Re: [PATCHv2 07/16] iommu/omap: allow enable/disable even without pdata Date: Tue, 25 Feb 2014 16:41:03 -0600 Message-ID: <530D1BFF.9040207@ti.com> References: <1392315347-32967-1-git-send-email-s-anna@ti.com> <1392315347-32967-8-git-send-email-s-anna@ti.com> <5986613.CineS9pX88@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <5986613.CineS9pX88@avalon> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Laurent Pinchart Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Tony Lindgren , iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Florian Vaussard List-Id: devicetree@vger.kernel.org Hi Laurent, On 02/25/2014 03:15 PM, Laurent Pinchart wrote: > Hi Suman, > > Thank you for the patch. > > On Thursday 13 February 2014 12:15:38 Suman Anna wrote: >> From: Florian Vaussard >> >> When booting with a devicetree, no platform data is provided. >> Do not prematurely exit iommu_enable() and iommu_disable() in >> such a case. >> >> Note: As OMAP do not yet has a proper reset controller driver, >> IOMMUs requiring a reset signal should use pdata-quirks as a >> transitional solution. >> >> Signed-off-by: Florian Vaussard > > This looks good to me, but you should move this patch before 04/16, otherwise > you'll break bisection. OK, I see the point w.r.t the OMAP3 ISP node. I will move it to before 03/16 (the DT bindings patch), it shouldn't make any difference. regards Suman > > Acked-by: Laurent Pinchart > >> --- >> drivers/iommu/omap-iommu.c | 10 ++-------- >> 1 file changed, 2 insertions(+), 8 deletions(-) >> >> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c >> index f6afe8f..7672eb4 100644 >> --- a/drivers/iommu/omap-iommu.c >> +++ b/drivers/iommu/omap-iommu.c >> @@ -149,13 +149,10 @@ static int iommu_enable(struct omap_iommu *obj) >> struct platform_device *pdev = to_platform_device(obj->dev); >> struct iommu_platform_data *pdata = pdev->dev.platform_data; >> >> - if (!pdata) >> - return -EINVAL; >> - >> if (!arch_iommu) >> return -ENODEV; >> >> - if (pdata->deassert_reset) { >> + if (pdata && pdata->deassert_reset) { >> err = pdata->deassert_reset(pdev, pdata->reset_name); >> if (err) { >> dev_err(obj->dev, "deassert_reset failed: %d\n", err); >> @@ -175,14 +172,11 @@ static void iommu_disable(struct omap_iommu *obj) >> struct platform_device *pdev = to_platform_device(obj->dev); >> struct iommu_platform_data *pdata = pdev->dev.platform_data; >> >> - if (!pdata) >> - return; >> - >> arch_iommu->disable(obj); >> >> pm_runtime_put_sync(obj->dev); >> >> - if (pdata->assert_reset) >> + if (pdata && pdata->assert_reset) >> pdata->assert_reset(pdev, pdata->reset_name); >> } >