Hi,

On Thu, Nov 19, 2015 at 01:57:37PM +0200, Grygorii Strashko wrote:
> On 11/18/2015 08:31 PM, Aaro Koskinen wrote:
> > On Wed, Nov 18, 2015 at 02:58:38PM +0200, Grygorii Strashko wrote:
> >> On 11/17/2015 11:42 PM, Aaro Koskinen wrote:
> >>> Amstrad E3 computer (OMAP1) boot crashes early with v4.4-rc1. Bisected to:
> >>>
> >>>   450fa54cfd66e3dda6eda26256637ee8928af12a is the first bad commit
> >>>   commit 450fa54cfd66e3dda6eda26256637ee8928af12a
> >>>   Author: Grygorii Strashko <grygorii.stras...@ti.com>
> >>>   Date:   Fri Sep 25 12:28:03 2015 -0700
> >>>   
> >>>       gpio: omap: convert to use generic irq handler
> >>
> >> Could you check pls if below change will solve this issue, pls?
> >>
> >> iff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
> >> index 56d2d02..2905e0d 100644
> >> --- a/drivers/gpio/gpio-omap.c
> >> +++ b/drivers/gpio/gpio-omap.c
> >> @@ -1129,7 +1129,7 @@ static int omap_gpio_chip_init(struct gpio_bank 
> >> *bank,
> >> struct irq_chip *irqc)
> >>          }
> >>
> >>          ret = gpiochip_irqchip_add(&bank->chip, irqc,
> >> -                                  irq_base, handle_bad_irq,
> >> +                                  irq_base, handle_simple_irq,
> >>                                     IRQ_TYPE_NONE);
> > 
> 
> Thanks for testing it. But I'd like to ask you for more help here if possible 
> :)
> Above change is expected to fix the OMAP1 boot, but looking at the OMAP GPIO 
> code
> I think that MPUIO IRQ are not working :( and this functionality has been 
> broken 
> long time ago - commit "gpio: omap: convert to use generic irq handler" has 
> just 
> made hidden issue visible.
> (I've found only one OMAP1 board which uses MPUIO GPIO as IRQ (board-osk.c)).
> 
> So, could I ask you to test another change instead of previous one?
> 
> --- a/drivers/gpio/gpio-omap.c
> +++ b/drivers/gpio/gpio-omap.c
> @@ -1122,8 +1122,6 @@ static int omap_gpio_chip_init(struct gpio_bank *bank, 
> struct irq_chip *irqc)
>         /* MPUIO is a bit different, reading IRQ status clears it */
>         if (bank->is_mpuio) {
>                 irqc->irq_ack = dummy_irq_chip.irq_ack;
> -               irqc->irq_mask = irq_gc_mask_set_bit;
> -               irqc->irq_unmask = irq_gc_mask_clr_bit;
>                 if (!bank->regs->wkup_en)
>                         irqc->irq_set_wake = NULL;
>         }

This fixes the boot crash issue as well...

> In my opinion real test will be
> - request(any MPUIO GPIO IRQ, IRQF_TRIGGER_LOW/HIGH), 
> - trigger MPUIO GPIO IRQ
> - free(MPUIO GPIO IRQ)

...but I don't think I can cover that with my boards (E3/770)?

Anyone willing to donate a 5912 OSK?

A.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to