[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 2/4] xen/pci: Introduce new CONFIG_PCI_ATS flag for PCI ATS functionality.
> On 3 Nov 2020, at 15:59, Rahul Singh <Rahul.Singh@xxxxxxx> wrote: > > PCI ATS functionality is not enabled and tested for ARM architecture > but it is enabled for x86 and referenced in common passthrough/pci.c > code. > > Therefore introducing the new flag to enable the ATS functionality for > x86 only to avoid issues for ARM architecture. > > No functional change. > > Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx> Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx> Cheers Bertrand > --- > > Changes in v2: > - Fixed return value of PCI ATS related functions when PCI_ATS is not enabled. > - Make PCI_ATS user selectable kconfig option. > > --- > xen/drivers/passthrough/ats.h | 26 ++++++++++++++++++++++++++ > xen/drivers/passthrough/x86/Makefile | 2 +- > xen/drivers/pci/Kconfig | 9 +++++++++ > 3 files changed, 36 insertions(+), 1 deletion(-) > > diff --git a/xen/drivers/passthrough/ats.h b/xen/drivers/passthrough/ats.h > index 22ae209b37..3a71fedcb4 100644 > --- a/xen/drivers/passthrough/ats.h > +++ b/xen/drivers/passthrough/ats.h > @@ -17,6 +17,8 @@ > > #include <xen/pci_regs.h> > > +#ifdef CONFIG_PCI_ATS > + > #define ATS_REG_CAP 4 > #define ATS_REG_CTL 6 > #define ATS_QUEUE_DEPTH_MASK 0x1f > @@ -48,5 +50,29 @@ static inline int pci_ats_device(int seg, int bus, int > devfn) > return pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS); > } > > +#else > + > +#define ats_enabled (false) > + > +static inline int enable_ats_device(struct pci_dev *pdev, > + struct list_head *ats_list) > +{ > + return -EOPNOTSUPP; > +} > + > +static inline void disable_ats_device(struct pci_dev *pdev) { } > + > +static inline int pci_ats_enabled(int seg, int bus, int devfn) > +{ > + return 0; > +} > + > +static inline int pci_ats_device(int seg, int bus, int devfn) > +{ > + return 0; > +} > + > +#endif /* CONFIG_PCI_ATS */ > + > #endif /* _ATS_H_ */ > > diff --git a/xen/drivers/passthrough/x86/Makefile > b/xen/drivers/passthrough/x86/Makefile > index a70cf9460d..aa515c680d 100644 > --- a/xen/drivers/passthrough/x86/Makefile > +++ b/xen/drivers/passthrough/x86/Makefile > @@ -1,2 +1,2 @@ > -obj-y += ats.o > +obj-$(CONFIG_PCI_ATS) += ats.o > obj-y += iommu.o > diff --git a/xen/drivers/pci/Kconfig b/xen/drivers/pci/Kconfig > index 7da03fa13b..3cb79ea954 100644 > --- a/xen/drivers/pci/Kconfig > +++ b/xen/drivers/pci/Kconfig > @@ -1,3 +1,12 @@ > > config HAS_PCI > bool > + > +config PCI_ATS > + bool "PCI ATS support" > + default y > + depends on X86 && HAS_PCI > + ---help--- > + Enable PCI Address Translation Services. > + > + If unsure, say Y. > -- > 2.17.1 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |