linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sricharan@codeaurora.org (Sricharan)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 7/8] iommu: of: Handle IOMMU lookup failure with deferred probing or error
Date: Wed, 7 Sep 2016 11:46:13 +0530	[thread overview]
Message-ID: <002c01d208cf$598d4a50$0ca7def0$@codeaurora.org> (raw)
In-Reply-To: <1c5dde1d-1ffb-d045-c090-032b9f1c7de2@samsung.com>

Hi Marek,

>Hi Sricharan,
>
>
>On 2016-08-12 17:40, Sricharan wrote:
>> Hi Tomaz,
>>
>>>> +               if (ops->add_device)
>>>> +                       ops = ops->add_device(dev) ? ops : NULL;
>>> Patch description fails to mention anything about this change. Also it
>>> looks slightly incorrect to lose the error condition here. I think we
>>> should at least print some error message here and tell the user that
>>> we are falling back to non-IOMMU setup.
>>      Ok, will have to improve the patch description to add this and will
>>      fix the error value as well. Will also add the remove_device during
>>       deconfigure as well.
>>
>>>
>>>>                  of_node_put(np);
>>>>                  idx++;
>>>> @@ -200,7 +213,7 @@ const struct iommu_ops *of_iommu_configure(struct device *dev,
>>>>
>>>>   err_put_node:
>>>>          of_node_put(np);
>>>> -       return NULL;
>>>> +       return ops;
>>>>   }
>>>>
>>>>   void __init of_iommu_init(void)
>>>> @@ -211,7 +224,7 @@ void __init of_iommu_init(void)
>>>>          for_each_matching_node_and_match(np, matches, &match) {
>>>>                  const of_iommu_init_fn init_fn = match->data;
>>>>
>>>> -               if (init_fn(np))
>>>> +               if (init_fn && init_fn(np))
>>> When is it possible to have NULL init_fn?
>>     ya wrong, should not be needed.
>
>init_fn can be NULL if you convert IOMMU driver to use platform device
>infrastructure based initialization and you don't need to do anything
>before the driver gets probed, so please keep this check.
>
>I used this approach here:
>https://git.linaro.org/people/marek.szyprowski/linux-srpol.git/commitdiff/a30735973573128b14bb4a25cf4debaa0979a655
>(this commit is a part of v4.8-clocks-pm branch)
>
>IOMMU_OF_DECLARE() with NULL init_fn is needed to notify IOMMU core that
>this IOMMU driver is available in the system and core has to defer
>probing of drivers before the IOMMU driver gets initialized from its
>controller's platform device.
>
   ok, thanks, understand. I was not thinking about the non-dt case.
I will keep this check then.

Regards,
 Sricharan     

  reply	other threads:[~2016-09-07  6:16 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-08 22:49 [PATCH 0/8] IOMMU Probe deferral support Sricharan R
2016-08-08 22:49 ` [PATCH 1/8] arm: dma-mapping: Don't override dma_ops in arch_setup_dma_ops() Sricharan R
2016-09-02  8:16   ` Marek Szyprowski
2016-09-07  6:24     ` Sricharan
2016-08-08 22:49 ` [PATCH 2/8] of: dma: Move range size workaround to of_dma_get_range() Sricharan R
2016-08-08 22:49 ` [PATCH 3/8] of: dma: Make of_dma_deconfigure() public Sricharan R
2016-08-08 22:49 ` [PATCH 4/8] of: dma: Split of_configure_dma() into mask and ops configuration Sricharan R
2016-08-12  7:31   ` Tomasz Figa
2016-08-12 15:18     ` Laurent Pinchart
2016-08-12 15:45       ` Sricharan
2016-09-09  6:53   ` Magnus Damm
2016-09-09  9:48     ` Sricharan
2016-08-08 22:49 ` [PATCH 5/8] drivers: platform: Configure dma operations at probe time Sricharan R
2016-08-16  9:25   ` Laurent Pinchart
2016-08-16 12:28     ` Sricharan
2016-08-08 22:49 ` [PATCH 6/8] drivers: platform: Remove call to of_dma_(con/decon)figure_ops Sricharan R
2016-08-12  7:33   ` Tomasz Figa
2016-08-12 15:42     ` Sricharan
2016-08-08 22:49 ` [PATCH 7/8] iommu: of: Handle IOMMU lookup failure with deferred probing or error Sricharan R
2016-08-12  7:46   ` Tomasz Figa
2016-08-12 15:40     ` Sricharan
2016-09-02  8:09       ` Marek Szyprowski
2016-09-07  6:16         ` Sricharan [this message]
2016-09-02 12:52   ` Marek Szyprowski
2016-09-07  6:29     ` Sricharan
2016-08-08 22:49 ` [PATCH 8/8] drivers: iommu: arm-smmu: Set iommu_ops in probe Sricharan 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='002c01d208cf$598d4a50$0ca7def0$@codeaurora.org' \
    --to=sricharan@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).