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
next prev parent 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).