[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN9PR11MB5276BB50143B801E8F02D9958C442@BN9PR11MB5276.namprd11.prod.outlook.com>
Date: Thu, 8 Feb 2024 06:19:11 +0000
From: "Tian, Kevin" <kevin.tian@...el.com>
To: "ankita@...dia.com" <ankita@...dia.com>, "jgg@...dia.com"
<jgg@...dia.com>, "alex.williamson@...hat.com" <alex.williamson@...hat.com>,
"yishaih@...dia.com" <yishaih@...dia.com>, "mst@...hat.com" <mst@...hat.com>,
"shameerali.kolothum.thodi@...wei.com"
<shameerali.kolothum.thodi@...wei.com>, "clg@...hat.com" <clg@...hat.com>,
"oleksandr@...alenko.name" <oleksandr@...alenko.name>, "K V P, Satyanarayana"
<satyanarayana.k.v.p@...el.com>, "eric.auger@...hat.com"
<eric.auger@...hat.com>, "brett.creeley@....com" <brett.creeley@....com>,
"horms@...nel.org" <horms@...nel.org>, "rrameshbabu@...dia.com"
<rrameshbabu@...dia.com>
CC: "aniketa@...dia.com" <aniketa@...dia.com>, "cjia@...dia.com"
<cjia@...dia.com>, "kwankhede@...dia.com" <kwankhede@...dia.com>,
"targupta@...dia.com" <targupta@...dia.com>, "vsethi@...dia.com"
<vsethi@...dia.com>, "Currid, Andy" <acurrid@...dia.com>,
"apopple@...dia.com" <apopple@...dia.com>, "jhubbard@...dia.com"
<jhubbard@...dia.com>, "danw@...dia.com" <danw@...dia.com>,
"anuaggarwal@...dia.com" <anuaggarwal@...dia.com>, "mochs@...dia.com"
<mochs@...dia.com>, "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>
Subject: RE: [PATCH v17 2/3] vfio/pci: rename and export range_intesect_range
> From: ankita@...dia.com <ankita@...dia.com>
> Sent: Tuesday, February 6, 2024 7:01 AM
>
> From: Ankit Agrawal <ankita@...dia.com>
>
> range_intesect_range determines an overlap between two ranges. If an
s/intesect/intersect/
> overlap, the helper function returns the overlapping offset and size.
>
> The VFIO PCI variant driver emulates the PCI config space BAR offset
> registers. These offset may be accessed for read/write with a variety
> of lengths including sub-word sizes from sub-word offsets. The driver
> makes use of this helper function to read/write the targeted part of
> the emulated register.
>
> Make this a vfio_pci_core function, rename and export as GPL. Also
> update references in virtio driver.
>
> Signed-off-by: Ankit Agrawal <ankita@...dia.com>
> ---
> drivers/vfio/pci/vfio_pci_config.c | 45 +++++++++++++++++++
> drivers/vfio/pci/virtio/main.c | 72 +++++++++++-------------------
> include/linux/vfio_pci_core.h | 5 +++
> 3 files changed, 76 insertions(+), 46 deletions(-)
>
> diff --git a/drivers/vfio/pci/vfio_pci_config.c
> b/drivers/vfio/pci/vfio_pci_config.c
> index 672a1804af6a..4fc3c605af13 100644
> --- a/drivers/vfio/pci/vfio_pci_config.c
> +++ b/drivers/vfio/pci/vfio_pci_config.c
> @@ -1966,3 +1966,48 @@ ssize_t vfio_pci_config_rw(struct
> vfio_pci_core_device *vdev, char __user *buf,
>
> return done;
> }
> +
> +/**
> + * vfio_pci_core_range_intersect_range() - Determine overlap between a
> buffer
> + * and register offset ranges.
> + * @range1_start: start offset of the buffer
> + * @count1: number of buffer bytes.
> + * @range2_start: start register offset
> + * @count2: number of bytes of register
> + * @start_offset: start offset of overlap start in the buffer
> + * @intersect_count: number of overlapping bytes
> + * @register_offset: start offset of overlap start in register
> + *
> + * The function determines an overlap between a register and a buffer.
> + * range1 represents the buffer and range2 represents register.
> + *
> + * Returns: true if there is overlap, false if not.
> + * The overlap start and range is returned through function args.
> + */
> +bool vfio_pci_core_range_intersect_range(loff_t range1_start, size_t count1,
> + loff_t range2_start, size_t count2,
> + loff_t *start_offset,
> + size_t *intersect_count,
> + size_t *register_offset)
based on description it's probably clearer to rename:
range1_start -> buf_start
count1 -> buf_cnt
range2_start -> reg_start
count2 -> reg_cnt
start_offset -> buf_offset
but not big deal, so:
Reviewed-by: Kevin Tian <kevin.tian@...el.com>
Powered by blists - more mailing lists