Thread (8 messages) 8 messages, 3 authors, 2014-03-07

Re: [PATCH v5 3/3] arm64: Add architecture support for PCI

From: Liviu Dudau <hidden>
Date: 2014-03-06 16:17:19
Also in: linux-arm-kernel, linux-pci, lkml

On Tue, Mar 04, 2014 at 10:28:51PM +0000, Arnd Bergmann wrote:
On Tuesday 04 March 2014, Liviu Dudau wrote:
quoted
+extern int isa_dma_bridge_buggy;
As commented before, I still think we can hardcode this to off
Unfortunately that doesn't work when you have CONFIG_PCI=y. drivers/pci/pci.c has:

drivers/pci/pci.c:int isa_dma_bridge_buggy;
drivers/pci/pci.c:EXPORT_SYMBOL(isa_dma_bridge_buggy);

and drivers/pci/quirks.c does:

drivers/pci/quirks.c:   if (!isa_dma_bridge_buggy) {
drivers/pci/quirks.c:           isa_dma_bridge_buggy=1;
drivers/pci/quirks.c-           dev_info(&dev->dev, "Activating ISA DMA hang workarounds\n");
drivers/pci/quirks.c-   }

quoted
+unsigned long pci_address_to_pio(phys_addr_t address)
+{
+	struct ioresource *res;
+
+	list_for_each_entry(res, &io_list, list) {
+		if (address >= res->start &&
+			address < res->start + res->size) {
+			return res->start - address;
+		}
+	}
+
+	return (unsigned long)-1;
+}
+EXPORT_SYMBOL_GPL(pci_address_to_pio);
This has two problems:

- You return the address in bus space not the logical Linux
  port number as powerpc and microblaze do.
- You imply that the window starts at bus address zero, which
  might not be the case.
That's definitely not the intention here. I want to return the
logical port number and I want that port number to start from
zero for every registered IO range. 
quoted
+EXPORT_SYMBOL(pcibios_fixup_bus);
no need for this export.
OK.
quoted
+/*
+ * We don't have to worry about legacy ISA devices, so nothing to do here
+ */
+resource_size_t pcibios_align_resource(void *data, const struct resource *res,
+				resource_size_t size, resource_size_t align)
+{
+	return ALIGN(res->start, align);
+}
+EXPORT_SYMBOL(pcibios_align_resource);
or this one. Also, the ALIGN() is already done by the PCI core.
This has been fix in v6 already.

Thanks for reviewing this!

Liviu
	Arnd
-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help