Lines Matching refs:bdf

13 static uint32_t pcie_msi_base(pcie_bdf_t bdf, bool *msi)  in pcie_msi_base()  argument
21 base = pcie_get_cap(bdf, PCI_CAP_ID_MSI); in pcie_msi_base()
26 base_msix = pcie_get_cap(bdf, PCI_CAP_ID_MSIX); in pcie_msi_base()
70 static uint32_t get_msix_table_size(pcie_bdf_t bdf, in get_msix_table_size() argument
75 mcr = pcie_conf_read(bdf, base + PCIE_MSIX_MCR); in get_msix_table_size()
80 static bool map_msix_table_entries(pcie_bdf_t bdf, in map_msix_table_entries() argument
91 table_offset = pcie_conf_read(bdf, base + PCIE_MSIX_TR); in map_msix_table_entries()
95 if (!pcie_get_mbar(bdf, table_bir, &bar)) { in map_msix_table_entries()
128 static uint32_t get_msi_mmc(pcie_bdf_t bdf, in get_msi_mmc() argument
133 mcr = pcie_conf_read(bdf, base + PCIE_MSI_MCR); in get_msi_mmc()
139 uint8_t pcie_msi_vectors_allocate(pcie_bdf_t bdf, in pcie_msi_vectors_allocate() argument
148 base = pcie_msi_base(bdf, &msi); in pcie_msi_vectors_allocate()
154 req_vectors = get_msix_table_size(bdf, base); in pcie_msi_vectors_allocate()
155 if (!map_msix_table_entries(bdf, base, in pcie_msi_vectors_allocate()
163 req_vectors = get_msi_mmc(bdf, base); in pcie_msi_vectors_allocate()
171 vectors[req_vectors].bdf = bdf; in pcie_msi_vectors_allocate()
177 bool pcie_msi_vector_connect(pcie_bdf_t bdf, in pcie_msi_vector_connect() argument
185 base = pcie_msi_base(bdf, NULL); in pcie_msi_vector_connect()
197 static void enable_msix(pcie_bdf_t bdf, in enable_msix() argument
216 mcr = pcie_conf_read(bdf, base + PCIE_MSIX_MCR); in enable_msix()
218 pcie_conf_write(bdf, base + PCIE_MSIX_MCR, mcr); in enable_msix()
225 static void disable_msi(pcie_bdf_t bdf, in disable_msi() argument
230 mcr = pcie_conf_read(bdf, base + PCIE_MSI_MCR); in disable_msi()
232 pcie_conf_write(bdf, base + PCIE_MSI_MCR, mcr); in disable_msi()
235 static void enable_msi(pcie_bdf_t bdf, in enable_msi() argument
247 pcie_conf_write(bdf, base + PCIE_MSI_MAP0, map); in enable_msi()
250 mcr = pcie_conf_read(bdf, base + PCIE_MSI_MCR); in enable_msi()
252 pcie_conf_write(bdf, base + PCIE_MSI_MAP1_64, 0U); in enable_msi()
253 pcie_conf_write(bdf, base + PCIE_MSI_MDR_64, mdr); in enable_msi()
255 pcie_conf_write(bdf, base + PCIE_MSI_MDR_32, mdr); in enable_msi()
266 pcie_conf_write(bdf, base + PCIE_MSI_MCR, mcr); in enable_msi()
269 bool pcie_msi_enable(pcie_bdf_t bdf, in pcie_msi_enable() argument
277 base = pcie_msi_base(bdf, &msi); in pcie_msi_enable()
283 disable_msi(bdf, base); in pcie_msi_enable()
284 enable_msix(bdf, vectors, n_vector, base, irq); in pcie_msi_enable()
286 enable_msi(bdf, vectors, n_vector, base, irq); in pcie_msi_enable()
289 pcie_set_cmd(bdf, PCIE_CONF_CMDSTAT_MASTER, true); in pcie_msi_enable()
294 bool pcie_is_msi(pcie_bdf_t bdf) in pcie_is_msi() argument
296 return (pcie_msi_base(bdf, NULL) != 0); in pcie_is_msi()