Hi, On Mon, Jun 6, 2022 at 8:29 PM Prabhakar Lad <[email protected]> wrote: > > Hi, > > I have the below setup for Linux inmate: > * Use initramfs > * UART is enabled > * eMMC is enabled > > In the inmate cell I have the below: > .irqchips = { > /* GIC */ { > .address = 0xf1010000, > .pin_base = 128, > .pin_bitmap = { > 1 << (153+32 - 160), /* SCIF1 - SPI153 */ > }, > }, > /* GIC */ { > .address = 0xf1010000, > .pin_base = 160, > .pin_bitmap = { > 1 << (168+32 - 192), /* SDHI3 - SPI168 */ > }, > }, > }, > > And in the inmate DTS I have the below: > > scif1: serial@e6e68000 { > compatible = "renesas,scif-r8a774a1", > "renesas,rcar-gen3-scif", "renesas,scif"; > reg = <0 0xe6e68000 0 0x40>; > interrupt-parent = <&gic>; > interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cpg CPG_MOD 206>, > <&cpg CPG_CORE R8A774A1_CLK_S3D1>, > <&scif_clk>; > clock-names = "fck", "brg_int", "scif_clk"; > power-domains = <&sysc R8A774A1_PD_ALWAYS_ON>; > resets = <&cpg 206>; > pinctrl-0 = <&scif1_pins>; > pinctrl-names = "default"; > }; > > gic: interrupt-controller@f1010000 { > compatible = "arm,gic-400"; > #interrupt-cells = <3>; > #address-cells = <0>; > interrupt-controller; > reg = <0x0 0xf1010000 0 0x1000>, > <0x0 0xf102f000 0 0x20000>, > <0x0 0xf1040000 0 0x20000>, > <0x0 0xf106f000 0 0x20000>; > interrupts = <GIC_PPI 9 > (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>; > }; > > When Linux is started on the inmate cell, I can see its booting through but > it doesn't fall into shell. > > --- a/drivers/irqchip/irq-gic.c > +++ b/drivers/irqchip/irq-gic.c > @@ -341,6 +341,9 @@ static void __exception_irq_entry gic_handle_irq(struct > pt_regs *regs) > irqstat = readl_relaxed(cpu_base + GIC_CPU_INTACK); > irqnr = irqstat & GICC_IAR_INT_ID_MASK; > > + if (irqnr < 1020) > + pr_err(">>>>>>>>>>>>>>>>%s We received > IRQ:%u<<<<<<<<<<<<<<\n", __func__, irqnr); > + > if (unlikely(irqnr >= 1020)) > break; > > I added the above and I can see the Linux inmate receives only 0/1/27 > interrupts. > > Which gives me a feeling the Linux inmate isn't receiving the required > interrupts. > > Any pointers on where I should be looking into? > Ive fixed this by updating the GIC masks.
Cheers, Prabhakar -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/CA%2BV-a8vEOGdMrNyJOo%3Dad3JLAe4joXmNnz%2Bn_oJboW3rPdh8qA%40mail.gmail.com.
