From: Tony Lindgren <tony@atomide.com> To: Grant Likely <grant.likely@secretlab.ca> Cc: Aaro Koskinen <aaro.koskinen@iki.fi>, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, Jon Hunter <jon-hunter@ti.com> Subject: Re: [BISECTED] 3.10-rc1 OMAP1 GPIO IRQ regression Date: Thu, 6 Jun 2013 08:53:41 -0700 [thread overview] Message-ID: <20130606155341.GL3331@atomide.com> (raw) In-Reply-To: <20130605223355.EDC113E10E4@localhost> * Grant Likely <grant.likely@secretlab.ca> [130605 15:39]: > On Mon, 20 May 2013 10:46:21 -0700, Tony Lindgren <tony@atomide.com> wrote: > > * Tony Lindgren <tony@atomide.com> [130516 14:50]: > > > * Aaro Koskinen <aaro.koskinen@iki.fi> [130516 14:05]: > > > > On Thu, May 16, 2013 at 11:09:34AM -0700, Tony Lindgren wrote: > > > > > * Aaro Koskinen <aaro.koskinen@iki.fi> [130513 13:58]: > > > > > > I tested 3.10-rc1 on OMAP1 / Nokia 770, and Retu MFD probe is broken: > > > > > > > > > > > > [ 2.264221] retu-mfd 2-0001: Retu v3.2 found > > > > > > [ 2.281951] retu-mfd 2-0001: Failed to allocate IRQs: -12 > > > > > > [ 2.300140] retu-mfd: probe of 2-0001 failed with error -12 > > > > > > > > > > > > The error is coming from regmap code. According to git bisect, it is > > > > > > caused by: > > > > > > > > > > > > commit ede4d7a5b9835510fd1f724367f68d2fa4128453 > > > > > > Author: Jon Hunter <jon-hunter@ti.com> > > > > > > Date: Fri Mar 1 11:22:47 2013 -0600 > > > > > > > > > > > > gpio/omap: convert gpio irq domain to linear mapping > > > > > > > > > > > > The commit does not anymore revert cleanly, and I haven't yet tried > > > > > > crafting a manual revert, so any fix proposals/ideas are welcome... > > > > > > > > > > Hmm this might be a bit trickier to fix. Obviously the real solution > > > > > is to convert omap1 to SPARSE_IRQ like we did for omap2+. > > > > > > > > > > For the -rc cycle, it might be possible to fix this by adding a > > > > > different irq_to_gpio() and gpio_to_irq() functions for omap1. > > > > > > > > The commit reverts cleanly if we also revert > > > > 3513cdeccc647d41c4a9ff923af17deaaac04a66 (gpio/omap: optimise interrupt > > > > service routine), which seems to be just some minor optimization. The > > > > result is below, and with it 770 works again. > > > > > > Hmm in this case it seems that we should just fix it rather than go back > > > to the old code, so let's take a look at that first. > > > > Does the following fix it for you or do we need to fix something else > > there too? > > > > Hi Tony, > > Do you want me to apply this fix? It sounds like it solves the symptoms, > but I'd like to know more about what the root cause is. > > Send me your s-o-b line and I'll apply the patch Yes sorry was meaning to send it as a proper patch, but got distracted. Please go ahead and apply it thanks: Signed-off-by: Tony Lindgren <tony@atomide.com> > > --- a/drivers/gpio/gpio-omap.c > > +++ b/drivers/gpio/gpio-omap.c > > @@ -1094,6 +1094,7 @@ static int omap_gpio_probe(struct platform_device *pdev) > > const struct omap_gpio_platform_data *pdata; > > struct resource *res; > > struct gpio_bank *bank; > > + int irq_base; > > > > match = of_match_device(of_match_ptr(omap_gpio_match), dev); > > > > @@ -1135,11 +1136,23 @@ static int omap_gpio_probe(struct platform_device *pdev) > > pdata->get_context_loss_count; > > } > > > > - > > - bank->domain = irq_domain_add_linear(node, bank->width, > > - &irq_domain_simple_ops, NULL); > > - if (!bank->domain) > > + /* > > + * REVISIT: Once we have omap1 supporting SPARSE_IRQ, we can drop > > + * irq_alloc_descs() and irq_domain_add_legacy() and just do: > > + * > > + * bank->domain = irq_domain_add_linear(node, bank->width, > > + * &irq_domain_simple_ops, NULL); > > + * if (!bank->domain) > > + * return -ENODEV; > > + */ > > + irq_base = irq_alloc_descs(-1, 0, bank->width, 0); > > + if (irq_base < 0) { > > + dev_err(dev, "Couldn't allocate IRQ numbers\n"); > > return -ENODEV; > > + } > > + > > + bank->domain = irq_domain_add_legacy(node, bank->width, irq_base, > > + 0, &irq_domain_simple_ops, NULL); > > > > if (bank->regs->set_dataout && bank->regs->clr_dataout) > > bank->set_dataout = _set_gpio_dataout_reg; > > -- > Grant Likely, B.Sc, P.Eng. > Secret Lab Technologies, Ltd.
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren) To: linux-arm-kernel@lists.infradead.org Subject: [BISECTED] 3.10-rc1 OMAP1 GPIO IRQ regression Date: Thu, 6 Jun 2013 08:53:41 -0700 [thread overview] Message-ID: <20130606155341.GL3331@atomide.com> (raw) In-Reply-To: <20130605223355.EDC113E10E4@localhost> * Grant Likely <grant.likely@secretlab.ca> [130605 15:39]: > On Mon, 20 May 2013 10:46:21 -0700, Tony Lindgren <tony@atomide.com> wrote: > > * Tony Lindgren <tony@atomide.com> [130516 14:50]: > > > * Aaro Koskinen <aaro.koskinen@iki.fi> [130516 14:05]: > > > > On Thu, May 16, 2013 at 11:09:34AM -0700, Tony Lindgren wrote: > > > > > * Aaro Koskinen <aaro.koskinen@iki.fi> [130513 13:58]: > > > > > > I tested 3.10-rc1 on OMAP1 / Nokia 770, and Retu MFD probe is broken: > > > > > > > > > > > > [ 2.264221] retu-mfd 2-0001: Retu v3.2 found > > > > > > [ 2.281951] retu-mfd 2-0001: Failed to allocate IRQs: -12 > > > > > > [ 2.300140] retu-mfd: probe of 2-0001 failed with error -12 > > > > > > > > > > > > The error is coming from regmap code. According to git bisect, it is > > > > > > caused by: > > > > > > > > > > > > commit ede4d7a5b9835510fd1f724367f68d2fa4128453 > > > > > > Author: Jon Hunter <jon-hunter@ti.com> > > > > > > Date: Fri Mar 1 11:22:47 2013 -0600 > > > > > > > > > > > > gpio/omap: convert gpio irq domain to linear mapping > > > > > > > > > > > > The commit does not anymore revert cleanly, and I haven't yet tried > > > > > > crafting a manual revert, so any fix proposals/ideas are welcome... > > > > > > > > > > Hmm this might be a bit trickier to fix. Obviously the real solution > > > > > is to convert omap1 to SPARSE_IRQ like we did for omap2+. > > > > > > > > > > For the -rc cycle, it might be possible to fix this by adding a > > > > > different irq_to_gpio() and gpio_to_irq() functions for omap1. > > > > > > > > The commit reverts cleanly if we also revert > > > > 3513cdeccc647d41c4a9ff923af17deaaac04a66 (gpio/omap: optimise interrupt > > > > service routine), which seems to be just some minor optimization. The > > > > result is below, and with it 770 works again. > > > > > > Hmm in this case it seems that we should just fix it rather than go back > > > to the old code, so let's take a look at that first. > > > > Does the following fix it for you or do we need to fix something else > > there too? > > > > Hi Tony, > > Do you want me to apply this fix? It sounds like it solves the symptoms, > but I'd like to know more about what the root cause is. > > Send me your s-o-b line and I'll apply the patch Yes sorry was meaning to send it as a proper patch, but got distracted. Please go ahead and apply it thanks: Signed-off-by: Tony Lindgren <tony@atomide.com> > > --- a/drivers/gpio/gpio-omap.c > > +++ b/drivers/gpio/gpio-omap.c > > @@ -1094,6 +1094,7 @@ static int omap_gpio_probe(struct platform_device *pdev) > > const struct omap_gpio_platform_data *pdata; > > struct resource *res; > > struct gpio_bank *bank; > > + int irq_base; > > > > match = of_match_device(of_match_ptr(omap_gpio_match), dev); > > > > @@ -1135,11 +1136,23 @@ static int omap_gpio_probe(struct platform_device *pdev) > > pdata->get_context_loss_count; > > } > > > > - > > - bank->domain = irq_domain_add_linear(node, bank->width, > > - &irq_domain_simple_ops, NULL); > > - if (!bank->domain) > > + /* > > + * REVISIT: Once we have omap1 supporting SPARSE_IRQ, we can drop > > + * irq_alloc_descs() and irq_domain_add_legacy() and just do: > > + * > > + * bank->domain = irq_domain_add_linear(node, bank->width, > > + * &irq_domain_simple_ops, NULL); > > + * if (!bank->domain) > > + * return -ENODEV; > > + */ > > + irq_base = irq_alloc_descs(-1, 0, bank->width, 0); > > + if (irq_base < 0) { > > + dev_err(dev, "Couldn't allocate IRQ numbers\n"); > > return -ENODEV; > > + } > > + > > + bank->domain = irq_domain_add_legacy(node, bank->width, irq_base, > > + 0, &irq_domain_simple_ops, NULL); > > > > if (bank->regs->set_dataout && bank->regs->clr_dataout) > > bank->set_dataout = _set_gpio_dataout_reg; > > -- > Grant Likely, B.Sc, P.Eng. > Secret Lab Technologies, Ltd.
next prev parent reply other threads:[~2013-06-06 15:53 UTC|newest] Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-05-13 20:53 [BISECTED] 3.10-rc1 OMAP1 GPIO IRQ regression Aaro Koskinen 2013-05-13 20:53 ` Aaro Koskinen 2013-05-16 18:09 ` Tony Lindgren 2013-05-16 18:09 ` Tony Lindgren 2013-05-16 21:00 ` Aaro Koskinen 2013-05-16 21:00 ` Aaro Koskinen 2013-05-16 21:44 ` Tony Lindgren 2013-05-16 21:44 ` Tony Lindgren 2013-05-20 17:46 ` Tony Lindgren 2013-05-20 17:46 ` Tony Lindgren 2013-05-21 17:39 ` Aaro Koskinen 2013-05-21 17:39 ` Aaro Koskinen 2013-05-21 19:37 ` Jon Hunter 2013-05-21 19:37 ` Jon Hunter 2013-05-22 21:20 ` Aaro Koskinen 2013-05-22 21:20 ` Aaro Koskinen 2013-05-23 19:02 ` Jon Hunter 2013-05-23 19:02 ` Jon Hunter 2013-05-23 20:13 ` Aaro Koskinen 2013-05-23 20:13 ` Aaro Koskinen 2013-05-28 18:41 ` Jon Hunter 2013-05-28 18:41 ` Jon Hunter 2013-05-26 19:07 ` Aaro Koskinen 2013-05-26 19:07 ` Aaro Koskinen 2013-05-28 18:42 ` Jon Hunter 2013-05-28 18:42 ` Jon Hunter 2013-05-29 18:55 ` Aaro Koskinen 2013-05-29 18:55 ` Aaro Koskinen 2013-05-29 21:29 ` Jon Hunter 2013-05-29 21:29 ` Jon Hunter 2013-05-29 22:41 ` Jon Hunter 2013-05-29 22:41 ` Jon Hunter 2013-06-05 22:33 ` Grant Likely 2013-06-05 22:33 ` Grant Likely 2013-06-06 15:53 ` Tony Lindgren [this message] 2013-06-06 15:53 ` Tony Lindgren 2013-06-23 22:16 ` Aaro Koskinen 2013-06-23 22:16 ` Aaro Koskinen 2013-06-23 23:06 ` Javier Martinez Canillas 2013-06-23 23:06 ` Javier Martinez Canillas 2013-06-23 23:43 ` Aaro Koskinen 2013-06-23 23:43 ` Aaro Koskinen 2013-06-24 1:01 ` Javier Martinez Canillas 2013-06-24 1:01 ` Javier Martinez Canillas 2013-06-24 7:21 ` Tony Lindgren 2013-06-24 7:21 ` Tony Lindgren 2013-06-24 15:35 ` Javier Martinez Canillas 2013-06-24 15:35 ` Javier Martinez Canillas 2013-06-25 18:14 ` Aaro Koskinen 2013-06-25 18:14 ` Aaro Koskinen 2013-06-24 15:53 ` Grant Likely 2013-06-24 15:53 ` Grant Likely 2013-06-25 7:04 ` Tony Lindgren 2013-06-25 7:04 ` Tony Lindgren 2013-06-25 11:49 ` Grant Likely 2013-06-25 11:49 ` Grant Likely 2013-06-26 7:06 ` Tony Lindgren 2013-06-26 7:06 ` Tony Lindgren
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20130606155341.GL3331@atomide.com \ --to=tony@atomide.com \ --cc=aaro.koskinen@iki.fi \ --cc=grant.likely@secretlab.ca \ --cc=jon-hunter@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.