lkml.org 
[lkml]   [2019]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 17/19] iommu: Add max num of cache and granu types
    From
    Date
    Hi Jacob,

    On 4/29/19 6:17 PM, Jacob Pan wrote:
    > On Fri, 26 Apr 2019 18:22:46 +0200
    > Auger Eric <eric.auger@redhat.com> wrote:
    >
    >> Hi Jacob,
    >>
    >> On 4/24/19 1:31 AM, Jacob Pan wrote:
    >>> To convert to/from cache types and granularities between generic and
    >>> VT-d specific counterparts, a 2D arrary is used. Introduce the
    >>> limits
    >> array
    >>> to help define the converstion array size.
    >> conversion
    >>>
    > will fix, thanks
    >>> Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
    >>> ---
    >>> include/uapi/linux/iommu.h | 2 ++
    >>> 1 file changed, 2 insertions(+)
    >>>
    >>> diff --git a/include/uapi/linux/iommu.h b/include/uapi/linux/iommu.h
    >>> index 5c95905..2d8fac8 100644
    >>> --- a/include/uapi/linux/iommu.h
    >>> +++ b/include/uapi/linux/iommu.h
    >>> @@ -197,6 +197,7 @@ struct iommu_inv_addr_info {
    >>> __u64 granule_size;
    >>> __u64 nb_granules;
    >>> };
    >>> +#define NR_IOMMU_CACHE_INVAL_GRANU (3)
    >>>
    >>> /**
    >>> * First level/stage invalidation information
    >>> @@ -235,6 +236,7 @@ struct iommu_cache_invalidate_info {
    >>> struct iommu_inv_addr_info addr_info;
    >>> };
    >>> };
    >>> +#define NR_IOMMU_CACHE_TYPE (3)
    >>> /**
    >>> * struct gpasid_bind_data - Information about device and guest
    >>> PASID binding
    >>> * @gcr3: Guest CR3 value from guest mm
    >>>
    >> Is it really something that needs to be exposed in the uapi?
    >>
    > I put it in uapi since the related definitions for granularity and
    > cache type are in the same file.
    > Maybe putting them close together like this? I was thinking you can just
    > fold it into your next series as one patch for introducing cache
    > invalidation.
    > diff --git a/include/uapi/linux/iommu.h b/include/uapi/linux/iommu.h
    > index 2d8fac8..4ff6929 100644
    > --- a/include/uapi/linux/iommu.h
    > +++ b/include/uapi/linux/iommu.h
    > @@ -164,6 +164,7 @@ enum iommu_inv_granularity {
    > IOMMU_INV_GRANU_DOMAIN, /* domain-selective invalidation */
    > IOMMU_INV_GRANU_PASID, /* pasid-selective invalidation */
    > IOMMU_INV_GRANU_ADDR, /* page-selective invalidation */
    > + NR_IOMMU_INVAL_GRANU, /* number of invalidation granularities
    > */ };
    >
    > /**
    > @@ -228,6 +229,7 @@ struct iommu_cache_invalidate_info {
    > #define IOMMU_CACHE_INV_TYPE_IOTLB (1 << 0) /* IOMMU IOTLB */
    > #define IOMMU_CACHE_INV_TYPE_DEV_IOTLB (1 << 1) /* Device IOTLB */
    > #define IOMMU_CACHE_INV_TYPE_PASID (1 << 2) /* PASID cache */
    > +#define NR_IOMMU_CACHE_TYPE (3)

    OK I will add this.

    Thanks

    Eric
    > __u8 cache;
    > __u8 granularity;
    >
    >> Thanks
    >>
    >> Eric
    >
    > [Jacob Pan]
    >

    \
     
     \ /
      Last update: 2019-04-30 07:17    [W:2.830 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site