Home
last modified time | relevance | path

Searched full:bars (Results 1 – 25 of 285) sorted by relevance

12345678910>>...12

/linux-6.12.1/drivers/net/ethernet/pensando/ionic/
Dionic_bus_pci.c50 struct ionic_dev_bar *bars; in ionic_map_bars() local
53 bars = ionic->bars; in ionic_map_bars()
59 bars[j].len = pci_resource_len(pdev, i); in ionic_map_bars()
63 bars[j].vaddr = NULL; in ionic_map_bars()
65 bars[j].vaddr = pci_iomap(pdev, i, bars[j].len); in ionic_map_bars()
66 if (!bars[j].vaddr) { in ionic_map_bars()
74 bars[j].bus_addr = pci_resource_start(pdev, i); in ionic_map_bars()
75 bars[j].res_index = i; in ionic_map_bars()
85 struct ionic_dev_bar *bars = ionic->bars; in ionic_unmap_bars() local
89 if (bars[i].vaddr) { in ionic_unmap_bars()
[all …]
/linux-6.12.1/drivers/net/ethernet/amd/pds_core/
Dmain.c37 struct pdsc_dev_bar *bars = pdsc->bars; in pdsc_unmap_bars() local
46 if (bars[i].vaddr) in pdsc_unmap_bars()
47 pci_iounmap(pdsc->pdev, bars[i].vaddr); in pdsc_unmap_bars()
48 bars[i].vaddr = NULL; in pdsc_unmap_bars()
54 struct pdsc_dev_bar *bar = pdsc->bars; in pdsc_map_bars()
57 struct pdsc_dev_bar *bars; in pdsc_map_bars() local
63 bars = pdsc->bars; in pdsc_map_bars()
66 * we need to poke into all the bars to find the set we're in pdsc_map_bars()
73 bars[j].len = pci_resource_len(pdev, i); in pdsc_map_bars()
74 bars[j].bus_addr = pci_resource_start(pdev, i); in pdsc_map_bars()
[all …]
/linux-6.12.1/Documentation/arch/powerpc/
Dpci_iov_resource_on_powernv.rst107 scheme where individual function BARs can be "grouped" to fit in one or
127 for large BARs in 64-bit space:
156 PE" mode to overlay over specific BARs to work around some of that, for
157 example for devices with very large BARs, e.g., GPUs. It would make
170 PCI devices, but the BARs in VF config space headers are unusual. For
171 a non-VF device, software uses BARs in the config space header to
174 discover sizes and assign addresses. The BARs in the VF's config space
178 base address for all the corresponding VF(n) BARs. For example, if the
190 window with 1MB segments. VF BARs that are 1MB or larger could be
193 flexible, but it works best when all the VF BARs are the same size. If
[all …]
/linux-6.12.1/drivers/mfd/
Dsta2x11-mfd.c520 struct sta2x11_mfd_bar_setup_data bars[2]; member
529 .bars = {
542 .bars = {
559 for (i = 0; i < ARRAY_SIZE(sd->bars); i++) in sta2x11_mfd_setup()
560 for (j = 0; j < sd->bars[i].ncells; j++) { in sta2x11_mfd_setup()
561 sd->bars[i].cells[j].pdata_size = sizeof(pdev); in sta2x11_mfd_setup()
562 sd->bars[i].cells[j].platform_data = &pdev; in sta2x11_mfd_setup()
595 /* Just 2 bars for all mfd's at present */ in sta2x11_mfd_probe()
598 setup_data->bars[i].cells, in sta2x11_mfd_probe()
599 setup_data->bars[i].ncells, in sta2x11_mfd_probe()
/linux-6.12.1/drivers/accel/habanalabs/common/pci/
Dpci.c23 * hl_pci_bars_map() - Map PCI BARs.
45 bar = i * 2; /* 64-bit BARs */ in hl_pci_bars_map()
61 bar = i * 2; /* 64-bit BARs */ in hl_pci_bars_map()
72 * hl_pci_bars_unmap() - Unmap PCI BARS.
75 * Release all PCI BARs and unmap their virtual addresses.
83 bar = i * 2; /* 64-bit BARs */ in hl_pci_bars_unmap()
374 * Set DMA masks, initialize the PCI controller and map the PCI BARs.
432 * Unmap PCI bars and disable PCI device.
/linux-6.12.1/arch/s390/pci/
Dpci.c282 idx = zdev->bars[bar].map_idx; in pci_iomap_range_fh()
301 iova = ioremap((unsigned long) zdev->bars[bar].mio_wt, barsize); in pci_iomap_range_mio()
331 iova = ioremap((unsigned long) zdev->bars[bar].mio_wb, barsize); in pci_iomap_wc_range_mio()
416 (resource_size_t __force) zdev->bars[i].mio_wt; in zpci_map_resources()
473 if (!zdev->bars[bar].size) in zpci_do_update_iomap_fh()
475 idx = zdev->bars[bar].map_idx; in zpci_do_update_iomap_fh()
526 if (!zdev->bars[i].size) in zpci_setup_bus_resources()
531 zdev->bars[i].map_idx = entry; in zpci_setup_bus_resources()
535 if (zdev->bars[i].val & 8) in zpci_setup_bus_resources()
537 if (zdev->bars[i].val & 4) in zpci_setup_bus_resources()
[all …]
/linux-6.12.1/drivers/scsi/csiostor/
Dcsio_init.c184 * @bars: Bitmask of bars to be requested.
190 csio_pci_init(struct pci_dev *pdev, int *bars) in csio_pci_init() argument
194 *bars = pci_select_bars(pdev, IORESOURCE_MEM); in csio_pci_init()
199 if (pci_request_selected_regions(pdev, *bars, KBUILD_MODNAME)) in csio_pci_init()
217 pci_release_selected_regions(pdev, *bars); in csio_pci_init()
228 * @bars: Bars to be released.
232 csio_pci_exit(struct pci_dev *pdev, int *bars) in csio_pci_exit() argument
234 pci_release_selected_regions(pdev, *bars); in csio_pci_exit()
512 * Allocates HW structure, DMA, memory resources, maps BARS to
930 * - Allocates HW structure, DMA, memory resources, maps BARS to
[all …]
/linux-6.12.1/arch/powerpc/platforms/powernv/
Dpci-sriov.c21 * For conventional PCI devices this isn't really an issue since PCI device BARs
29 * allocate the SR-IOV BARs in a way that lets us map them using the MBT.
45 * (num-vfs * num-sriov-bars) in total. To use a) we need the size of each segment
56 * At this point the device has been probed and the device's BARs are sized,
57 * but no resource allocations have been done. The SR-IOV BARs are sized
63 * sorts the BARs on a bus by their required alignment, which is calculated
109 * it only usable for devices with very large per-VF BARs. Such devices are
123 * us to support SR-IOV BARs in the 32bit MMIO window. This is useful since
215 /* Save ourselves some MMIO space by disabling the unusable BARs */ in pnv_pci_ioda_fixup_iov_resources()
258 * BARs would not be placed in the correct PE. in pnv_pci_iov_resource_alignment()
[all …]
Dpci.h229 /* Did we map the VF BAR with single-PE IODA BARs? */
241 * SR-IOV BARs for this device.
246 * If we map the SR-IOV BARs with a segmented window then
/linux-6.12.1/drivers/net/ethernet/netronome/nfp/nfpcore/
Dnfp6000_pcie.c10 * Multiplexes the NFP BARs between NFP internal resources and
13 * The BARs are managed with refcounts and are allocated/acquired
106 /* The number of explicit BARs to reserve.
149 int bars; member
347 /* We don't match explicit bars through the area interface */ in matching_bar()
372 for (n = 0; n < nfp->bars; n++) { in find_matching_bar()
390 for (n = 0; n < nfp->bars; n++) { in find_unused_bar_noblock()
519 /* Map all PCI bars and fetch the actual BAR configurations from the
566 snprintf(status_msg, sizeof(status_msg) - 1, "RESERVED BARs: "); in enable_bars()
575 /* Skip over BARs that are not IORESOURCE_MEM */ in enable_bars()
[all …]
/linux-6.12.1/drivers/ntb/hw/idt/
DKconfig18 and SWPORTxCTL registers). Then all NT-function BARs must be enabled
19 with chosen valid aperture. For memory windows related BARs the
/linux-6.12.1/Documentation/PCI/endpoint/
Dpci-ntb-function.rst12 machine, expose memory ranges as BARs, and perform DMA. They also support
230 one is permitted. All these regions should be mapped to BARs for hosts to
248 be enough BARs for all the regions in a platform that supports only 64-bit
249 BARs.
252 packed and mapped to BARs in a way that provides NTB functionality and
269 With this scheme, for the basic NTB functionality 3 BARs should be sufficient.
339 space. Allocating and configuring BARs for doorbell and memory window1
348 is mapped to separate BARs.
/linux-6.12.1/Documentation/gpu/amdgpu/display/
Ddc-debug.rst9 bars added at the scanout time by the driver to convey some specific
33 * Pipe split can be observed if there are two bars with a difference in height
38 feature one or two green bars at the bottom of the video depending on pipe
/linux-6.12.1/drivers/pci/
Ddevres.c40 * Legacy struct storing addresses to whole mapped BARs.
773 * Unmap a BAR and release its region manually. Only pass BARs that were
789 * pcim_iomap_regions - Request and iomap PCI BARs (DEPRECATED)
791 * @mask: Mask of BARs to request and iomap
962 * pcim_iomap_regions_request_all - Request all BARs and iomap specified ones
965 * @mask: Mask of BARs to iomap
970 * Request all PCI BARs and iomap regions specified by @mask.
1018 * pcim_iounmap_regions - Unmap and release PCI BARs
1020 * @mask: Mask of BARs to unmap and release
1074 * only ever keeps track of whole BARs. in pcim_iomap_range()
Dsetup-res.c35 /* Per SR-IOV spec 3.4.1.11, VF BARs are RO zero */ in pci_std_update_resource()
40 * Ignore resources for unimplemented BARs and unused resource slots in pci_std_update_resource()
41 * for 64 bit BARs. in pci_std_update_resource()
75 * Apparently some Matrox devices have ROM BARs that read in pci_std_update_resource()
76 * as zero when disabled, so don't update ROM BARs unless in pci_std_update_resource()
80 * disabled ROM can conflict with other BARs. in pci_std_update_resource()
/linux-6.12.1/drivers/vdpa/solidrun/
Dsnet_vdpa.h143 /* PCI BARs */
144 void __iomem *bars[PCI_STD_NUM_BARS]; member
170 return ioread32(psnet->bars[psnet->barno] + off); in psnet_read32()
Dsnet_main.c563 * Later, we will discover the BAR and unmap all other BARs. in psnet_open_pf_bar()
576 name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "psnet[%s]-bars", pci_name(pdev)); in psnet_open_pf_bar()
582 SNET_ERR(pdev, "Failed to request and map PCI BARs\n"); in psnet_open_pf_bar()
588 psnet->bars[i] = pcim_iomap_table(pdev)[i]; in psnet_open_pf_bar()
599 name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "snet[%s]-bars", pci_name(pdev)); in snet_open_vf_bar()
645 if (!psnet->bars[i]) in psnet_detect_bar()
648 if (ioread32(psnet->bars[i] + off) == SNET_SIGNATURE) in psnet_detect_bar()
662 if (psnet->bars[i] && i != psnet->barno) in psnet_unmap_unused_bars()
687 /* Save used BAR number and unmap all other BARs */ in psnet_read_cfg()
/linux-6.12.1/Documentation/driver-api/driver-model/
Ddevres.rst25 native mode makes use of 5 PCI BARs and all of them should be
396 pcim_iomap_regions() : do request_region() and iomap() on multiple BARs
397 pcim_iomap_regions_request_all() : do request_region() on all and iomap() on multiple BARs
400 pcim_iounmap_regions() : do iounmap() and release_region() on multiple BARs
/linux-6.12.1/arch/sparc/kernel/
Dleon_pci_grpci2.c31 * - barcfgs : Custom Configuration of Host's 6 target BARs
79 unsigned int bars[6]; /* 0x20 read-only PCI BARs */ member
605 /* Setup the Host's PCI Target BARs for other peripherals to access, in grpci2_hw_init()
606 * and do DMA to the host's memory. The target BARs can be sized and in grpci2_hw_init()
609 * User may set custom target BARs, but default is: in grpci2_hw_init()
610 * The first BARs is used to map kernel low (DMA is part of normal in grpci2_hw_init()
612 * PCI bus, the other BARs are disabled. We assume that the first BAR in grpci2_hw_init()
617 /* Target BARs must have the proper alignment */ in grpci2_hw_init()
/linux-6.12.1/Documentation/devicetree/bindings/i2c/
Di2c-pxa-pci-ce4100.txt5 PCI device has three PCI-bars, each bar contains a complete I2C
20 1:1 mapped to the BARs, and the second is the
/linux-6.12.1/drivers/fpga/
Ddfl-pci.c163 int dfl_res_off, i, bars, voff; in find_dfls_by_vsec() local
188 for (i = 0, bars = 0; i < dfl_cnt; i++, dfl_res_off += sizeof(u32)) { in find_dfls_by_vsec()
199 if (bars & BIT(bir)) { in find_dfls_by_vsec()
205 bars |= BIT(bir); in find_dfls_by_vsec()
/linux-6.12.1/drivers/accel/qaic/
Dqaic_drv.c431 int bars; in init_pci() local
434 bars = pci_select_bars(pdev, IORESOURCE_MEM); in init_pci()
436 /* make sure the device has the expected BARs */ in init_pci()
437 if (bars != (BIT(0) | BIT(2) | BIT(4))) { in init_pci()
438 pci_dbg(pdev, "%s: expected BARs 0, 2, and 4 not found in device. Found 0x%x\n", in init_pci()
439 __func__, bars); in init_pci()
/linux-6.12.1/drivers/infiniband/hw/erdma/
Derdma_main.c250 int bars, err; in erdma_probe_dev() local
272 bars = pci_select_bars(pdev, IORESOURCE_MEM); in erdma_probe_dev()
273 err = pci_request_selected_regions(pdev, bars, DRV_MODULE_NAME); in erdma_probe_dev()
274 if (bars != ERDMA_BAR_MASK || err) { in erdma_probe_dev()
351 pci_release_selected_regions(pdev, bars); in erdma_probe_dev()
/linux-6.12.1/drivers/pci/endpoint/functions/
Dpci-epf-ntb.c223 * BAR_MW4 for rest of the BARs of epf_ntb_epc that is connected to HOST1. This
231 * mapped to a single BAR (BAR2) above for 32-bit BARs. The exact BAR that's
726 * other BARs for peer scratchpad (because of 64-bit BARs or reserved BARs).
771 * other BARs for peer scratchpad (because of 64-bit BARs or reserved BARs).
842 * the default self scratchpad BAR, an NTB could have other BARs for self
843 * scratchpad (because of reserved BARs). This function can get the exact BAR
887 * NTB could have other BARs for self scratchpad (because of reserved BARs).
1219 * Clear doorbell and memory BARs (remove inbound ATU configuration). In the above
1422 * epf_ntb_db_mw_bar_init() - Configure Doorbell and Memory window BARs
1631 * epf_ntb_init_epc_bar_interface() - Identify BARs to be used for each of
[all …]
/linux-6.12.1/drivers/gpu/drm/i915/gvt/
Dcfg_space.c189 struct intel_vgpu_pci_bar *bars = vgpu->cfg_space.bar; in emulate_pci_bar_write() local
202 size = ~(bars[INTEL_GVT_PCI_BAR_GTTMMIO].size -1); in emulate_pci_bar_write()
213 size = ~(bars[INTEL_GVT_PCI_BAR_APERTURE].size -1); in emulate_pci_bar_write()
219 /* Unimplemented BARs */ in emulate_pci_bar_write()

12345678910>>...12