Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PCI: Add BAR index argument to pci_mmap_page_range()

In all cases we know which BAR it is. Passing it in means that arch code
(or generic code; watch this space) won't have to go looking for it again.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

authored by

David Woodhouse and committed by
Bjorn Helgaas
f66e2258 dca40b18

+30 -18
+2 -1
arch/arm/kernel/bios32.c
··· 597 597 return start; 598 598 } 599 599 600 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 600 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 601 + struct vm_area_struct *vma, 601 602 enum pci_mmap_state mmap_state, int write_combine) 602 603 { 603 604 if (mmap_state == pci_mmap_io)
+2 -1
arch/cris/arch-v32/drivers/pci/bios.c
··· 14 14 pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat); 15 15 } 16 16 17 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 17 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 18 + struct vm_area_struct *vma, 18 19 enum pci_mmap_state mmap_state, int write_combine) 19 20 { 20 21 unsigned long prot;
+2 -1
arch/ia64/pci/pci.c
··· 419 419 } 420 420 421 421 int 422 - pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma, 422 + pci_mmap_page_range (struct pci_dev *dev, int bar, 423 + struct vm_area_struct *vma, 423 424 enum pci_mmap_state mmap_state, int write_combine) 424 425 { 425 426 unsigned long size = vma->vm_end - vma->vm_start;
+1 -1
arch/microblaze/pci/pci-common.c
··· 278 278 * 279 279 * Returns a negative error code on failure, zero on success. 280 280 */ 281 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 281 + int pci_mmap_page_range(struct pci_dev *dev, int bar, struct vm_area_struct *vma, 282 282 enum pci_mmap_state mmap_state, int write_combine) 283 283 { 284 284 resource_size_t offset =
+2 -1
arch/mips/pci/pci.c
··· 58 58 *end = rsrc->start + size; 59 59 } 60 60 61 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 61 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 62 + struct vm_area_struct *vma, 62 63 enum pci_mmap_state mmap_state, int write_combine) 63 64 { 64 65 unsigned long prot;
+2 -1
arch/mn10300/unit-asb2305/pci-asb2305.c
··· 211 211 pcibios_allocate_resources(1); 212 212 } 213 213 214 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 214 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 215 + struct vm_area_struct *vma, 215 216 enum pci_mmap_state mmap_state, int write_combine) 216 217 { 217 218 unsigned long prot;
+2 -1
arch/parisc/kernel/pci.c
··· 228 228 } 229 229 230 230 231 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 231 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 232 + struct vm_area_struct *vma, 232 233 enum pci_mmap_state mmap_state, int write_combine) 233 234 { 234 235 unsigned long prot;
+2 -1
arch/powerpc/kernel/pci-common.c
··· 513 513 * 514 514 * Returns a negative error code on failure, zero on success. 515 515 */ 516 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 516 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 517 + struct vm_area_struct *vma, 517 518 enum pci_mmap_state mmap_state, int write_combine) 518 519 { 519 520 resource_size_t offset =
+2 -1
arch/sh/drivers/pci/pci.c
··· 269 269 } 270 270 } 271 271 272 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 272 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 273 + struct vm_area_struct *vma, 273 274 enum pci_mmap_state mmap_state, int write_combine) 274 275 { 275 276 /*
+3 -3
arch/sparc/kernel/pci.c
··· 862 862 * 863 863 * Returns a negative error code on failure, zero on success. 864 864 */ 865 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 866 - enum pci_mmap_state mmap_state, 867 - int write_combine) 865 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 866 + struct vm_area_struct *vma, 867 + enum pci_mmap_state mmap_state, int write_combine) 868 868 { 869 869 int ret; 870 870
+2 -1
arch/unicore32/kernel/pci.c
··· 357 357 return 0; 358 358 } 359 359 360 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 360 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 361 + struct vm_area_struct *vma, 361 362 enum pci_mmap_state mmap_state, int write_combine) 362 363 { 363 364 unsigned long phys;
+2 -1
arch/x86/pci/i386.c
··· 411 411 .access = generic_access_phys, 412 412 }; 413 413 414 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 414 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 415 + struct vm_area_struct *vma, 415 416 enum pci_mmap_state mmap_state, int write_combine) 416 417 { 417 418 unsigned long prot;
+2 -1
arch/xtensa/kernel/pci.c
··· 343 343 * 344 344 * Returns a negative error code on failure, zero on success. 345 345 */ 346 - int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 346 + int pci_mmap_page_range(struct pci_dev *dev, int bar, 347 + struct vm_area_struct *vma, 347 348 enum pci_mmap_state mmap_state, 348 349 int write_combine) 349 350 {
+1 -1
drivers/pci/pci-sysfs.c
··· 1041 1041 pci_resource_to_user(pdev, bar, res, &start, &end); 1042 1042 vma->vm_pgoff += start >> PAGE_SHIFT; 1043 1043 mmap_type = res->flags & IORESOURCE_MEM ? pci_mmap_mem : pci_mmap_io; 1044 - return pci_mmap_page_range(pdev, vma, mmap_type, write_combine); 1044 + return pci_mmap_page_range(pdev, bar, vma, mmap_type, write_combine); 1045 1045 } 1046 1046 1047 1047 static int pci_mmap_resource_uc(struct file *filp, struct kobject *kobj,
+1 -1
drivers/pci/proc.c
··· 262 262 else 263 263 return -EINVAL; 264 264 } 265 - ret = pci_mmap_page_range(dev, vma, 265 + ret = pci_mmap_page_range(dev, i, vma, 266 266 fpriv->mmap_state, write_combine); 267 267 if (ret < 0) 268 268 return ret;
+2 -1
include/linux/pci.h
··· 1630 1630 * Architectures provide this function if they set HAVE_PCI_MMAP, and 1631 1631 * it accepts the 'write_combine' argument when arch_can_pci_mmap_wc() 1632 1632 * evaluates to nonzero. */ 1633 - int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma, 1633 + int pci_mmap_page_range(struct pci_dev *pdev, int bar, 1634 + struct vm_area_struct *vma, 1634 1635 enum pci_mmap_state mmap_state, int write_combine); 1635 1636 1636 1637 #ifndef arch_can_pci_mmap_wc