Author: jchandra
Date: Mon Dec 12 15:17:56 2016
New Revision: 309890
URL: https://svnweb.freebsd.org/changeset/base/309890

Log:
  Increase interrupt cells in generic_pcie_fdt_route_interrupt
  
  ARM GIC specification in device trees use 3 cells, so the current
  limit of 2 causes the last cell to be dropped. This in turn can
  cause the interrupt polarity and trigger settings to be incorrect.
  
  Increase the limit to 4 which should handle all reasonable cases.
  This fixes issues seen in QEMU when registering PCI interrupts.

Modified:
  head/sys/dev/pci/pci_host_generic_fdt.c

Modified: head/sys/dev/pci/pci_host_generic_fdt.c
==============================================================================
--- head/sys/dev/pci/pci_host_generic_fdt.c     Mon Dec 12 13:13:48 2016        
(r309889)
+++ head/sys/dev/pci/pci_host_generic_fdt.c     Mon Dec 12 15:17:56 2016        
(r309890)
@@ -269,7 +269,7 @@ generic_pcie_fdt_route_interrupt(device_
 {
        struct generic_pcie_fdt_softc *sc;
        struct ofw_pci_register reg;
-       uint32_t pintr, mintr[2];
+       uint32_t pintr, mintr[4];
        phandle_t iparent;
        int intrcells;
 
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to