From: Julien Grall <julien@xen.org>
To: Brian Woods <brian.woods@xilinx.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [Xen-devel] [RFC 1/2] arm, smmu: add support for iommu_fwspec functions
Date: Tue, 14 Jan 2020 21:44:34 +0000 [thread overview]
Message-ID: <1567bba4-f984-acb6-0a04-8f5e13aa5ef5@xen.org> (raw)
In-Reply-To: <1578619590-3661-2-git-send-email-brian.woods@xilinx.com>
Hi Brian,
On 10/01/2020 01:26, Brian Woods wrote:
> Modify the smmu driver so that it uses the iommu_fwspec helper
> functions. This means both ARM IOMMU drivers will both use the
> iommu_fwspec helper functions, making enabling generic device tree
> bindings in the SMMU driver much cleaner.
>
> Signed-off-by: Brian Woods <brian.woods@xilinx.com>
> ---
> RFC especially wanted on:
> - Check in device_tree.c. This is needed, otherwise it won't boot due
> to dev_iommu_fwspec_get(dev) being true and returning EEXIST. I'm
> not completely sure what type of check is best here.
I guess this because the masters are registered during the
initialization of the SMMU. Could we instead look at registering them
from the add_device callback?
I understand this would mean to go through all the SMMU and require a
bit more work. But I think it will help longer term as the workflow for
registering a master would be similar whether legacy or generic bindings
are used.
@Stefano any opinions?
>
> xen/drivers/passthrough/arm/smmu.c | 74 ++++++++++++++++++++++-------------
> xen/drivers/passthrough/device_tree.c | 3 ++ > 2 files changed, 49 insertions(+), 28 deletions(-)
>
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index 94662a8..c5db5be 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -49,6 +49,7 @@
> #include <asm/atomic.h>
> #include <asm/device.h>
> #include <asm/io.h>
> +#include <asm/iommu_fwspec.h>
> #include <asm/platform.h>
>
> /* Xen: The below defines are redefined within the file. Undef it */
> @@ -597,8 +598,7 @@ struct arm_smmu_smr {
> };
>
> struct arm_smmu_master_cfg {
> - int num_streamids;
> - u16 streamids[MAX_MASTER_STREAMIDS];
Now that we use fwspec, do we really need to keep the
MAX_MASTER_STREAMIDS limit?
> + struct iommu_fwspec *fwspec;
NIT: Can the content be const?
> struct arm_smmu_smr *smrs;
> };
>
> @@ -779,7 +779,7 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
> struct device *dev,
> struct of_phandle_args *masterspec)
> {
> - int i;
> + int i, ret = 0;
> struct arm_smmu_master *master;
>
> master = find_smmu_master(smmu, masterspec->np);
> @@ -798,26 +798,37 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
> }
>
> master = devm_kzalloc(dev, sizeof(*master), GFP_KERNEL);
> - if (!master)
> + if (!master) {
> return -ENOMEM;
> + }
NIT: May I ask why did you add the {} here?
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2020-01-14 21:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-10 1:26 [Xen-devel] [RFC 0/2] Generic DT Support for SMMU Brian Woods
2020-01-10 1:26 ` [Xen-devel] [RFC 1/2] arm, smmu: add support for iommu_fwspec functions Brian Woods
2020-01-14 21:44 ` Julien Grall [this message]
2020-01-14 22:24 ` Stefano Stabellini
2020-01-10 1:26 ` [Xen-devel] [RFC 2/2] smmu: add support for generic DT bindings Brian Woods
2020-01-14 21:22 ` Julien Grall
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=1567bba4-f984-acb6-0a04-8f5e13aa5ef5@xen.org \
--to=julien@xen.org \
--cc=Volodymyr_Babchuk@epam.com \
--cc=brian.woods@xilinx.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.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).