Hi Ard, On Sun, Oct 22, 2017 at 10:36:47AM +0100, Ard Biesheuvel wrote: > > +Example: > > + pcie@f9860000 { > > + compatible = "hisilicon,hi3798cv200-pcie"; > > + reg = <0xf9860000 0x1000>, > > + <0xf0000000 0x2000>, > > + <0xf2000000 0x01000000>; > > + reg-names = "control", "rc-dbi", "config"; > > + #address-cells = <3>; > > + #size-cells = <2>; > > + device_type = "pci"; > > + bus-range = <0 15>; > > + num-lanes = <1>; > > + ranges=<0x81000000 0 0 0xf4000000 0 0x00010000 > > + 0x82000000 0 0xf3000000 0xf3000000 0 0x01000000>; > > + interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; > > + interrupt-names = "msi"; > > + #interrupt-cells = <1>; > > + interrupt-map-mask = <0 0 0 7>; > > + interrupt-map = <0 0 0 1 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; > > I know this is just the example, but this looks wrong to me: this only > covers INTA, so any multi-function devices that rely on legacy > interrupts (such as Nvidia GFX cards with HDMI audio device that are > blacklisted for MSI support) will fail to work. What I /think/ you > need is: > > interrupt-map-mask = <0 0 0 0>; > interrupt-map = <0 0 0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; I really appreciate the comment. Yes, all 4 legacy interrupts should be mapped to this IRQ. I will get it fixed. Thanks again. Shawn