mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	The GW16082 miniPCI Expansion Mezzanine has the INTA/B/C/D IRQ's reversed from the PCI standard. This will soon be resolved in the bootloader via devicetree, but in the meantime this will work around the issue. Signed-off-by: Tim Harvey <tharvey@gateworks.com> SVN-Revision: 42146
		
			
				
	
	
		
			34 lines
		
	
	
		
			987 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			987 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| commit e84634dc6c7f3f6af9b8ef1fb36f0d85c476ab95
 | |
| Author: Tim Harvey <tharvey@gateworks.com>
 | |
| Date:   Thu Feb 27 01:02:23 2014 -0800
 | |
| 
 | |
|     PCI: designware: add ability for custom swizzle
 | |
|     
 | |
|     Add the ability for a platform driver to provide a platform-specific
 | |
|     swizzle function.
 | |
|     
 | |
|     Signed-off-by: Tim Harvey <tharvey@gateworks.com>
 | |
| 
 | |
| --- a/drivers/pci/host/pcie-designware.c
 | |
| +++ b/drivers/pci/host/pcie-designware.c
 | |
| @@ -481,6 +481,9 @@ int __init dw_pcie_host_init(struct pcie
 | |
|  	if (pp->ops->host_init)
 | |
|  		pp->ops->host_init(pp);
 | |
|  
 | |
| +	if (pp->swizzle)
 | |
| +		dw_pci.swizzle = pp->swizzle;
 | |
| +
 | |
|  	dw_pcie_wr_own_conf(pp, PCI_BASE_ADDRESS_0, 4, 0);
 | |
|  
 | |
|  	/* program correct class for RC */
 | |
| --- a/drivers/pci/host/pcie-designware.h
 | |
| +++ b/drivers/pci/host/pcie-designware.h
 | |
| @@ -53,6 +53,7 @@ struct pcie_port {
 | |
|  	struct irq_domain	*irq_domain;
 | |
|  	unsigned long		msi_data;
 | |
|  	DECLARE_BITMAP(msi_irq_in_use, MAX_MSI_IRQS);
 | |
| +	u8			(*swizzle)(struct pci_dev *, u8 *);
 | |
|  };
 | |
|  
 | |
|  struct pcie_host_ops {
 |