[Intel-wired-lan] [PATCH iwl-next v2 03/14] libie: add PCI device initialization helpers to libie

Larysa Zaremba larysa.zaremba at intel.com
Mon May 5 06:56:18 UTC 2025


On Mon, Apr 28, 2025 at 05:56:57PM +0100, Simon Horman wrote:
> On Thu, Apr 24, 2025 at 01:32:26PM +0200, Larysa Zaremba wrote:
> > From: Phani R Burra <phani.r.burra at intel.com>
> > 
> > Add memory related support functions for drivers to access MMIO space and
> > allocate/free dma buffers.
> > 
> > Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski at intel.com>
> > Signed-off-by: Phani R Burra <phani.r.burra at intel.com>
> > Co-developed-by: Victor Raj <victor.raj at intel.com>
> > Signed-off-by: Victor Raj <victor.raj at intel.com>
> > Co-developed-by: Sridhar Samudrala <sridhar.samudrala at intel.com>
> > Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com>
> > Co-developed-by: Pavan Kumar Linga <pavan.kumar.linga at intel.com>
> > Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga at intel.com>
> > Co-developed-by: Larysa Zaremba <larysa.zaremba at intel.com>
> > Signed-off-by: Larysa Zaremba <larysa.zaremba at intel.com>
> 
> ...
> 
> > diff --git a/include/linux/intel/libie/pci.h b/include/linux/intel/libie/pci.h
> 
> ...
> 
> > +#define libie_pci_map_mmio_region(mmio_info, offset, size, ...)	\
> > +	__libie_pci_map_mmio_region(mmio_info, offset, size,		\
> > +				     COUNT_ARGS(__VA_ARGS__), ##__VA_ARGS__)
> > +
> > +#define libie_pci_get_mmio_addr(mmio_info, offset, ...)		\
> > +	__libie_pci_get_mmio_addr(mmio_info, offset,			\
> > +				   COUNT_ARGS(__VA_ARGS__), ##__VA_ARGS__)
> 
> Perhaps I'm missing something terribly obvious.  But it seems to me that
> both libie_pci_map_mmio_region() and libie_pci_get_mmio_addr() are always
> called with the same number of arguments in this patchset.

This is true.

> And if so,
> perhaps the va_args handling would be best dropped.
>

For now (but this will change), we do not map BAR indexes other than zero, 
therefore it is the default less-argument variant, this looks nicer than adding 
', 0);'. Still, it does not feel right to hardcode the library function to use 
BAR0 only, hence the variadic macro.

> > +
> > +bool __libie_pci_map_mmio_region(struct libie_mmio_info *mmio_info,
> > +				 resource_size_t offset, resource_size_t size,
> > +				 int num_args, ...);
> > +void __iomem *__libie_pci_get_mmio_addr(struct libie_mmio_info *mmio_info,
> > +					resource_size_t region_offset,
> > +					int num_args, ...);
> > +void libie_pci_unmap_all_mmio_regions(struct libie_mmio_info *mmio_info);
> > +int libie_pci_init_dev(struct pci_dev *pdev);
> > +void libie_pci_deinit_dev(struct pci_dev *pdev);
> > +
> > +#endif /* __LIBIE_PCI_H */
> > -- 
> > 2.47.0
> > 
> 


More information about the Intel-wired-lan mailing list