Lines Matching full:bar

158 	 * Set the root complex BAR configuration register:  in cdns_pcie_host_init_root_port()
192 enum cdns_pcie_rp_bar bar, in cdns_pcie_host_bar_ib_config() argument
199 if (!rc->avail_ib_bar[bar]) in cdns_pcie_host_bar_ib_config()
202 rc->avail_ib_bar[bar] = false; in cdns_pcie_host_bar_ib_config()
208 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_RP_BAR_ADDR0(bar), addr0); in cdns_pcie_host_bar_ib_config()
209 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_RP_BAR_ADDR1(bar), addr1); in cdns_pcie_host_bar_ib_config()
211 if (bar == RP_NO_BAR) in cdns_pcie_host_bar_ib_config()
215 value &= ~(LM_RC_BAR_CFG_CTRL_MEM_64BITS(bar) | in cdns_pcie_host_bar_ib_config()
216 LM_RC_BAR_CFG_CTRL_PREF_MEM_64BITS(bar) | in cdns_pcie_host_bar_ib_config()
217 LM_RC_BAR_CFG_CTRL_MEM_32BITS(bar) | in cdns_pcie_host_bar_ib_config()
218 LM_RC_BAR_CFG_CTRL_PREF_MEM_32BITS(bar) | in cdns_pcie_host_bar_ib_config()
219 LM_RC_BAR_CFG_APERTURE(bar, bar_aperture_mask[bar] + 2)); in cdns_pcie_host_bar_ib_config()
222 value |= LM_RC_BAR_CFG_CTRL_MEM_64BITS(bar); in cdns_pcie_host_bar_ib_config()
223 value |= LM_RC_BAR_CFG_CTRL_PREF_MEM_64BITS(bar); in cdns_pcie_host_bar_ib_config()
226 value |= LM_RC_BAR_CFG_CTRL_MEM_32BITS(bar); in cdns_pcie_host_bar_ib_config()
227 value |= LM_RC_BAR_CFG_CTRL_PREF_MEM_32BITS(bar); in cdns_pcie_host_bar_ib_config()
230 value |= LM_RC_BAR_CFG_APERTURE(bar, aperture); in cdns_pcie_host_bar_ib_config()
239 enum cdns_pcie_rp_bar bar, sel_bar; in cdns_pcie_host_find_min_bar() local
242 for (bar = RP_BAR0; bar <= RP_NO_BAR; bar++) { in cdns_pcie_host_find_min_bar()
243 if (!rc->avail_ib_bar[bar]) in cdns_pcie_host_find_min_bar()
246 if (size <= bar_max_size[bar]) { in cdns_pcie_host_find_min_bar()
248 sel_bar = bar; in cdns_pcie_host_find_min_bar()
252 if (bar_max_size[bar] < bar_max_size[sel_bar]) in cdns_pcie_host_find_min_bar()
253 sel_bar = bar; in cdns_pcie_host_find_min_bar()
263 enum cdns_pcie_rp_bar bar, sel_bar; in cdns_pcie_host_find_max_bar() local
266 for (bar = RP_BAR0; bar <= RP_NO_BAR; bar++) { in cdns_pcie_host_find_max_bar()
267 if (!rc->avail_ib_bar[bar]) in cdns_pcie_host_find_max_bar()
270 if (size >= bar_max_size[bar]) { in cdns_pcie_host_find_max_bar()
272 sel_bar = bar; in cdns_pcie_host_find_max_bar()
276 if (bar_max_size[bar] > bar_max_size[sel_bar]) in cdns_pcie_host_find_max_bar()
277 sel_bar = bar; in cdns_pcie_host_find_max_bar()
290 enum cdns_pcie_rp_bar bar; in cdns_pcie_host_bar_config() local
307 * Try to find a minimum BAR whose size is greater than in cdns_pcie_host_bar_config()
311 * If a minimum BAR is found, IB ATU will be configured and in cdns_pcie_host_bar_config()
314 bar = cdns_pcie_host_find_min_bar(rc, size); in cdns_pcie_host_bar_config()
315 if (bar != RP_BAR_UNDEFINED) { in cdns_pcie_host_bar_config()
316 ret = cdns_pcie_host_bar_ib_config(rc, bar, cpu_addr, in cdns_pcie_host_bar_config()
319 dev_err(dev, "IB BAR: %d config failed\n", bar); in cdns_pcie_host_bar_config()
325 * resource_entry size cannot be fitted in a single BAR. So we in cdns_pcie_host_bar_config()
326 * find a maximum BAR whose size is less than or equal to the in cdns_pcie_host_bar_config()
329 * BAR. The remaining size would be fitted during the next in cdns_pcie_host_bar_config()
331 * If a maximum BAR is not found, there is no way we can fit in cdns_pcie_host_bar_config()
334 bar = cdns_pcie_host_find_max_bar(rc, size); in cdns_pcie_host_bar_config()
335 if (bar == RP_BAR_UNDEFINED) { in cdns_pcie_host_bar_config()
336 dev_err(dev, "No free BAR to map cpu_addr %llx\n", in cdns_pcie_host_bar_config()
341 winsize = bar_max_size[bar]; in cdns_pcie_host_bar_config()
342 ret = cdns_pcie_host_bar_ib_config(rc, bar, cpu_addr, winsize, in cdns_pcie_host_bar_config()
345 dev_err(dev, "IB BAR: %d config failed\n", bar); in cdns_pcie_host_bar_config()
382 of_property_read_u32(np, "cdns,no-bar-match-nbits", in cdns_pcie_host_map_dma_ranges()
387 dev_err(dev, "IB BAR: %d config failed\n", RP_NO_BAR); in cdns_pcie_host_map_dma_ranges()
479 enum cdns_pcie_rp_bar bar; in cdns_pcie_host_setup() local
524 for (bar = RP_BAR0; bar <= RP_NO_BAR; bar++) in cdns_pcie_host_setup()
525 rc->avail_ib_bar[bar] = true; in cdns_pcie_host_setup()