[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFrT46SXxiHw5=q8HwK5PMJCsp+iE8Wm4CsEqfBf6EWicA@mail.gmail.com>
Date: Thu, 3 Nov 2022 11:59:12 +0100
From: Ulf Hansson <ulf.hansson@...aro.org>
To: joro@...tes.org, robin.murphy@....com, will@...nel.org
Cc: Prathamesh Shete <pshete@...dia.com>, adrian.hunter@...el.com,
thierry.reding@...il.com, jonathanh@...dia.com,
p.zabel@...gutronix.de, linux-mmc@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org,
iommu@...ts.linux.dev, anrao@...dia.com, smangipudi@...dia.com,
kyarlagadda@...dia.com, Thierry Reding <treding@...dia.com>
Subject: Re: [PATCH v10 1/4] iommu: Always define struct iommu_fwspec
On Thu, 3 Nov 2022 at 05:39, Prathamesh Shete <pshete@...dia.com> wrote:
>
> In order to fully make use of the !IOMMU_API stub functions, make the
> struct iommu_fwspec always available so that users of the stubs can keep
> using the structure's internals without causing compile failures.
>
> Signed-off-by: Thierry Reding <treding@...dia.com>
> Reviewed-by: Ulf Hansson <ulf.hansson@...aro.org>
Joerg, Will, Robin - may I have an ack from some of you for $subject
patch, so I can funnel it via my mmc tree for v6.2?
Kind regards
Uffe
> ---
> include/linux/iommu.h | 39 +++++++++++++++++++--------------------
> 1 file changed, 19 insertions(+), 20 deletions(-)
>
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index ea30f00dc145..afa829bc4356 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -173,6 +173,25 @@ enum iommu_dev_features {
>
> #define IOMMU_PASID_INVALID (-1U)
>
> +/**
> + * struct iommu_fwspec - per-device IOMMU instance data
> + * @ops: ops for this device's IOMMU
> + * @iommu_fwnode: firmware handle for this device's IOMMU
> + * @flags: IOMMU_FWSPEC_* flags
> + * @num_ids: number of associated device IDs
> + * @ids: IDs which this device may present to the IOMMU
> + */
> +struct iommu_fwspec {
> + const struct iommu_ops *ops;
> + struct fwnode_handle *iommu_fwnode;
> + u32 flags;
> + unsigned int num_ids;
> + u32 ids[];
> +};
> +
> +/* ATS is supported */
> +#define IOMMU_FWSPEC_PCI_RC_ATS (1 << 0)
> +
> #ifdef CONFIG_IOMMU_API
>
> /**
> @@ -600,25 +619,6 @@ extern struct iommu_group *generic_device_group(struct device *dev);
> /* FSL-MC device grouping function */
> struct iommu_group *fsl_mc_device_group(struct device *dev);
>
> -/**
> - * struct iommu_fwspec - per-device IOMMU instance data
> - * @ops: ops for this device's IOMMU
> - * @iommu_fwnode: firmware handle for this device's IOMMU
> - * @flags: IOMMU_FWSPEC_* flags
> - * @num_ids: number of associated device IDs
> - * @ids: IDs which this device may present to the IOMMU
> - */
> -struct iommu_fwspec {
> - const struct iommu_ops *ops;
> - struct fwnode_handle *iommu_fwnode;
> - u32 flags;
> - unsigned int num_ids;
> - u32 ids[];
> -};
> -
> -/* ATS is supported */
> -#define IOMMU_FWSPEC_PCI_RC_ATS (1 << 0)
> -
> /**
> * struct iommu_sva - handle to a device-mm bond
> */
> @@ -682,7 +682,6 @@ bool iommu_group_dma_owner_claimed(struct iommu_group *group);
>
> struct iommu_ops {};
> struct iommu_group {};
> -struct iommu_fwspec {};
> struct iommu_device {};
> struct iommu_fault_param {};
> struct iommu_iotlb_gather {};
> --
> 2.17.1
>
Powered by blists - more mailing lists