[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20191202170358.GB4174@infradead.org>
Date: Mon, 2 Dec 2019 09:03:58 -0800
From: Christoph Hellwig <hch@...radead.org>
To: James Sewart <jamessewart@...sta.com>
Cc: linux-pci@...r.kernel.org, Logan Gunthorpe <logang@...tatee.com>,
Christoph Hellwig <hch@...radead.org>,
Dmitry Safonov <0x7f454c46@...il.com>,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
Dmitry Safonov <dima@...sta.com>,
Alex Williamson <alex.williamson@...hat.com>,
Bjorn Helgaas <helgaas@...nel.org>
Subject: Re: [PATCH v5 2/3] PCI: Add parameter nr_devfns to pci_add_dma_alias
On Fri, Nov 29, 2019 at 05:56:55PM +0000, James Sewart wrote:
> pci_add_dma_alias can now be used to create a dma alias for a range of
> devfns.
>
> Signed-off-by: James Sewart <jamessewart@...sta.com>
> ---
> drivers/pci/pci.c | 23 ++++++++++++++++++-----
> drivers/pci/quirks.c | 14 +++++++-------
> include/linux/pci.h | 2 +-
> 3 files changed, 26 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 0a4449a30ace..f9800a610ca1 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -5857,7 +5857,8 @@ int pci_set_vga_state(struct pci_dev *dev, bool decode,
> /**
> * pci_add_dma_alias - Add a DMA devfn alias for a device
> * @dev: the PCI device for which alias is added
> - * @devfn: alias slot and function
> + * @devfn_from: alias slot and function
> + * @nr_devfns: Number of subsequent devfns to alias
> *
> * This helper encodes an 8-bit devfn as a bit number in dma_alias_mask
> * which is used to program permissible bus-devfn source addresses for DMA
> @@ -5873,8 +5874,14 @@ int pci_set_vga_state(struct pci_dev *dev, bool decode,
> * cannot be left as a userspace activity). DMA aliases should therefore
> * be configured via quirks, such as the PCI fixup header quirk.
> */
> -void pci_add_dma_alias(struct pci_dev *dev, u8 devfn)
> +void pci_add_dma_alias(struct pci_dev *dev, u8 devfn_from, unsigned nr_devfns)
> {
> + int devfn_to;
> +
> + if (nr_devfns > U8_MAX+1)
> + nr_devfns = U8_MAX+1;
Missing whitespaces here as well. Also this could use max() and I
think you want a documented constants for MAX_NR_DEVFNS that documents
this "not off by one".
Powered by blists - more mailing lists