• Home
  • Raw
  • Download

Lines Matching refs:config

56 	struct spear_pcie_gadget_config config;  member
61 ssize_t (*show)(struct spear_pcie_gadget_config *config,
63 ssize_t (*store)(struct spear_pcie_gadget_config *config,
88 static void spear_dbi_read_reg(struct spear_pcie_gadget_config *config, in spear_dbi_read_reg() argument
91 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in spear_dbi_read_reg()
97 va_address = (ulong)config->va_dbi_base + (where & ~0x3); in spear_dbi_read_reg()
110 static void spear_dbi_write_reg(struct spear_pcie_gadget_config *config, in spear_dbi_write_reg() argument
113 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in spear_dbi_write_reg()
119 va_address = (ulong)config->va_dbi_base + (where & ~0x3); in spear_dbi_write_reg()
134 static int pci_find_own_next_cap_ttl(struct spear_pcie_gadget_config *config, in pci_find_own_next_cap_ttl() argument
140 spear_dbi_read_reg(config, pos, 1, &pos); in pci_find_own_next_cap_ttl()
144 spear_dbi_read_reg(config, pos + PCI_CAP_LIST_ID, 1, &id); in pci_find_own_next_cap_ttl()
154 static int pci_find_own_next_cap(struct spear_pcie_gadget_config *config, in pci_find_own_next_cap() argument
159 return pci_find_own_next_cap_ttl(config, pos, cap, &ttl); in pci_find_own_next_cap()
162 static int pci_find_own_cap_start(struct spear_pcie_gadget_config *config, in pci_find_own_cap_start() argument
167 spear_dbi_read_reg(config, PCI_STATUS, 2, &status); in pci_find_own_cap_start()
199 static int pci_find_own_capability(struct spear_pcie_gadget_config *config, in pci_find_own_capability() argument
205 spear_dbi_read_reg(config, PCI_HEADER_TYPE, 1, &hdr_type); in pci_find_own_capability()
207 pos = pci_find_own_cap_start(config, hdr_type); in pci_find_own_capability()
209 pos = pci_find_own_next_cap(config, pos, cap); in pci_find_own_capability()
223 struct spear_pcie_gadget_config *config, in pcie_gadget_show_link() argument
226 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in pcie_gadget_show_link()
235 struct spear_pcie_gadget_config *config, in pcie_gadget_store_link() argument
238 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in pcie_gadget_store_link()
253 struct spear_pcie_gadget_config *config, in pcie_gadget_show_int_type() argument
256 return sprintf(buf, "%s", config->int_type); in pcie_gadget_show_int_type()
260 struct spear_pcie_gadget_config *config, in pcie_gadget_store_int_type() argument
267 spear_dbi_write_reg(config, PCI_INTERRUPT_LINE, 1, 1); in pcie_gadget_store_int_type()
270 vector = config->requested_msi; in pcie_gadget_store_int_type()
276 spear_dbi_write_reg(config, PCI_INTERRUPT_LINE, 1, 0); in pcie_gadget_store_int_type()
277 cap = pci_find_own_capability(config, PCI_CAP_ID_MSI); in pcie_gadget_store_int_type()
278 spear_dbi_read_reg(config, cap + PCI_MSI_FLAGS, 1, &flags); in pcie_gadget_store_int_type()
281 spear_dbi_write_reg(config, cap + PCI_MSI_FLAGS, 1, flags); in pcie_gadget_store_int_type()
285 strcpy(config->int_type, buf); in pcie_gadget_store_int_type()
291 struct spear_pcie_gadget_config *config, in pcie_gadget_show_no_of_msi() argument
294 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in pcie_gadget_show_no_of_msi()
302 cap = pci_find_own_capability(config, PCI_CAP_ID_MSI); in pcie_gadget_show_no_of_msi()
303 spear_dbi_read_reg(config, cap + PCI_MSI_FLAGS, 1, &flags); in pcie_gadget_show_no_of_msi()
310 config->configured_msi = vector; in pcie_gadget_show_no_of_msi()
316 struct spear_pcie_gadget_config *config, in pcie_gadget_store_no_of_msi() argument
319 if (strict_strtoul(buf, 0, &config->requested_msi)) in pcie_gadget_store_no_of_msi()
321 if (config->requested_msi > 32) in pcie_gadget_store_no_of_msi()
322 config->requested_msi = 32; in pcie_gadget_store_no_of_msi()
328 struct spear_pcie_gadget_config *config, in pcie_gadget_store_inta() argument
331 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in pcie_gadget_store_inta()
348 struct spear_pcie_gadget_config *config, in pcie_gadget_store_send_msi() argument
351 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in pcie_gadget_store_send_msi()
358 if (!config->configured_msi) in pcie_gadget_store_send_msi()
361 if (vector >= config->configured_msi) in pcie_gadget_store_send_msi()
383 struct spear_pcie_gadget_config *config, in pcie_gadget_show_vendor_id() argument
388 spear_dbi_read_reg(config, PCI_VENDOR_ID, 2, &id); in pcie_gadget_show_vendor_id()
394 struct spear_pcie_gadget_config *config, in pcie_gadget_store_vendor_id() argument
402 spear_dbi_write_reg(config, PCI_VENDOR_ID, 2, id); in pcie_gadget_store_vendor_id()
408 struct spear_pcie_gadget_config *config, in pcie_gadget_show_device_id() argument
413 spear_dbi_read_reg(config, PCI_DEVICE_ID, 2, &id); in pcie_gadget_show_device_id()
419 struct spear_pcie_gadget_config *config, in pcie_gadget_store_device_id() argument
427 spear_dbi_write_reg(config, PCI_DEVICE_ID, 2, id); in pcie_gadget_store_device_id()
433 struct spear_pcie_gadget_config *config, in pcie_gadget_show_bar0_size() argument
436 return sprintf(buf, "%lx", config->bar0_size); in pcie_gadget_show_bar0_size()
440 struct spear_pcie_gadget_config *config, in pcie_gadget_store_bar0_size() argument
470 config->bar0_size = size; in pcie_gadget_store_bar0_size()
471 spear_dbi_write_reg(config, PCIE_BAR0_MASK_REG, 4, size - 1); in pcie_gadget_store_bar0_size()
477 struct spear_pcie_gadget_config *config, in pcie_gadget_show_bar0_address() argument
480 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in pcie_gadget_show_bar0_address()
488 struct spear_pcie_gadget_config *config, in pcie_gadget_store_bar0_address() argument
491 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in pcie_gadget_store_bar0_address()
497 address &= ~(config->bar0_size - 1); in pcie_gadget_store_bar0_address()
498 if (config->va_bar0_address) in pcie_gadget_store_bar0_address()
499 iounmap(config->va_bar0_address); in pcie_gadget_store_bar0_address()
500 config->va_bar0_address = ioremap(address, config->bar0_size); in pcie_gadget_store_bar0_address()
501 if (!config->va_bar0_address) in pcie_gadget_store_bar0_address()
510 struct spear_pcie_gadget_config *config, in pcie_gadget_show_bar0_rw_offset() argument
513 return sprintf(buf, "%lx", config->bar0_rw_offset); in pcie_gadget_show_bar0_rw_offset()
517 struct spear_pcie_gadget_config *config, in pcie_gadget_store_bar0_rw_offset() argument
528 config->bar0_rw_offset = offset; in pcie_gadget_store_bar0_rw_offset()
534 struct spear_pcie_gadget_config *config, in pcie_gadget_show_bar0_data() argument
539 if (!config->va_bar0_address) in pcie_gadget_show_bar0_data()
542 data = readl((ulong)config->va_bar0_address + config->bar0_rw_offset); in pcie_gadget_show_bar0_data()
548 struct spear_pcie_gadget_config *config, in pcie_gadget_store_bar0_data() argument
556 if (!config->va_bar0_address) in pcie_gadget_store_bar0_data()
559 writel(data, (ulong)config->va_bar0_address + config->bar0_rw_offset); in pcie_gadget_store_bar0_data()
628 ret = t_attr->show(&target->config, buf); in pcie_gadget_target_attr_show()
643 ret = t_attr->store(&target->config, buf, count); in pcie_gadget_target_attr_store()
658 static void spear13xx_pcie_device_init(struct spear_pcie_gadget_config *config) in spear13xx_pcie_device_init() argument
660 struct pcie_app_reg __iomem *app_reg = config->va_app_base; in spear13xx_pcie_device_init()
664 writel(config->base, &app_reg->in0_mem_addr_start); in spear13xx_pcie_device_init()
690 config->bar0_size = INBOUND_ADDR_MASK + 1; in spear13xx_pcie_device_init()
691 spear_dbi_write_reg(config, PCIE_BAR0_MASK_REG, 4, INBOUND_ADDR_MASK); in spear13xx_pcie_device_init()
692 spear_dbi_write_reg(config, PCI_BASE_ADDRESS_0, 4, 0xC); in spear13xx_pcie_device_init()
693 config->va_bar0_address = ioremap(SPEAR13XX_SYSRAM1_BASE, in spear13xx_pcie_device_init()
694 config->bar0_size); in spear13xx_pcie_device_init()
711 spear_dbi_write_reg(config, PCI_INTERRUPT_LINE, 1, 1); in spear13xx_pcie_device_init()
721 struct spear_pcie_gadget_config *config; in spear_pcie_gadget_probe() local
760 config = &target->config; in spear_pcie_gadget_probe()
761 config->va_app_base = (void __iomem *)ioremap(res0->start, in spear_pcie_gadget_probe()
763 if (!config->va_app_base) { in spear_pcie_gadget_probe()
769 config->base = (void __iomem *)res1->start; in spear_pcie_gadget_probe()
771 config->va_dbi_base = (void __iomem *)ioremap(res1->start, in spear_pcie_gadget_probe()
773 if (!config->va_dbi_base) { in spear_pcie_gadget_probe()
838 spear13xx_pcie_device_init(config); in spear_pcie_gadget_probe()
844 iounmap(config->va_dbi_base); in spear_pcie_gadget_probe()
846 iounmap(config->va_app_base); in spear_pcie_gadget_probe()
860 struct spear_pcie_gadget_config *config; in spear_pcie_gadget_remove() local
867 config = &target->config; in spear_pcie_gadget_remove()
870 iounmap(config->va_dbi_base); in spear_pcie_gadget_remove()
871 iounmap(config->va_app_base); in spear_pcie_gadget_remove()