Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
On Thu, Nov 14, 2013 at 7:24 PM, Tony Lindgren t...@atomide.com wrote: * Tony Lindgren t...@atomide.com [131112 11:57]: The fix from Roger is still missing. You can go ahead and queue it, or if you prefer me to do it I can add it to my fixes. Actually Linus, I'll queue this with your ack as the interrupts-extended property is now merged in and I can also enable some minimal wake-up events for omap3. OK thanks for the heads-up, go ahead. Yours, Linus Walleij -- 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
Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
* Tony Lindgren t...@atomide.com [131112 11:57]: * Linus Walleij linus.wall...@linaro.org [131112 10:45]: On Fri, Oct 11, 2013 at 7:23 PM, Tony Lindgren t...@atomide.com wrote: * Linus Walleij linus.wall...@linaro.org [131011 09:27]: On Fri, Oct 11, 2013 at 6:13 PM, Roger Quadros rog...@ti.com wrote: On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com If Tony needs to apply this with the other patches: Acked-by. Just replied with a slightly modified version of Roger's patch suggesting you pull in the signed tag I posted for you yesterday and then you can pick up Roger's fix into the pinctrl tree :) Hm now that I go over these old mails in my inbox I start to worry that I missed something here, I have no memory of pulling a tag for OMAP... is this all in the state it needs to be for OMAP? The other pinctrl-single related patches are now merged to mainline: 1b9c0fb365cbb1154f4e7997061db972cbf58300 pinctrl: single: Fix build when not built on ARM dc7743aa3c49fabbc6dc9edbcf7df74d776ac32e pinctrl: single: Add support for auxdata 3e6cee1786a13cb2308609b5f8c020e1754e37cf pinctrl: single: Add support for wake-up interrupts 02e483f66deb6bd8df6af450726574614eb53be3 pinctrl: single: Prepare for supporting SoC specific features The fix from Roger is still missing. You can go ahead and queue it, or if you prefer me to do it I can add it to my fixes. Actually Linus, I'll queue this with your ack as the interrupts-extended property is now merged in and I can also enable some minimal wake-up events for omap3. Regards, Tony -- 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
Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
On Fri, Oct 11, 2013 at 7:23 PM, Tony Lindgren t...@atomide.com wrote: * Linus Walleij linus.wall...@linaro.org [131011 09:27]: On Fri, Oct 11, 2013 at 6:13 PM, Roger Quadros rog...@ti.com wrote: On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com If Tony needs to apply this with the other patches: Acked-by. Just replied with a slightly modified version of Roger's patch suggesting you pull in the signed tag I posted for you yesterday and then you can pick up Roger's fix into the pinctrl tree :) Hm now that I go over these old mails in my inbox I start to worry that I missed something here, I have no memory of pulling a tag for OMAP... is this all in the state it needs to be for OMAP? Yours, Linus Walleij -- 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
Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
* Linus Walleij linus.wall...@linaro.org [131112 10:45]: On Fri, Oct 11, 2013 at 7:23 PM, Tony Lindgren t...@atomide.com wrote: * Linus Walleij linus.wall...@linaro.org [131011 09:27]: On Fri, Oct 11, 2013 at 6:13 PM, Roger Quadros rog...@ti.com wrote: On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com If Tony needs to apply this with the other patches: Acked-by. Just replied with a slightly modified version of Roger's patch suggesting you pull in the signed tag I posted for you yesterday and then you can pick up Roger's fix into the pinctrl tree :) Hm now that I go over these old mails in my inbox I start to worry that I missed something here, I have no memory of pulling a tag for OMAP... is this all in the state it needs to be for OMAP? The other pinctrl-single related patches are now merged to mainline: 1b9c0fb365cbb1154f4e7997061db972cbf58300 pinctrl: single: Fix build when not built on ARM dc7743aa3c49fabbc6dc9edbcf7df74d776ac32e pinctrl: single: Add support for auxdata 3e6cee1786a13cb2308609b5f8c020e1754e37cf pinctrl: single: Add support for wake-up interrupts 02e483f66deb6bd8df6af450726574614eb53be3 pinctrl: single: Prepare for supporting SoC specific features The fix from Roger is still missing. You can go ahead and queue it, or if you prefer me to do it I can add it to my fixes. Regards, Tony -- 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
Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
On 10/11/2013 08:21 PM, Tony Lindgren wrote: * Roger Quadros rog...@ti.com [131011 09:21]: On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com --- drivers/pinctrl/pinctrl-single.c |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index c2aada7..1800e47 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -1604,6 +1604,9 @@ static inline void pcs_irq_set(struct pcs_soc_data *pcs_soc, pcs-write(mask, pcswi-reg); raw_spin_unlock(pcs-lock); } + +if (pcs_soc-rearm) +pcs_soc-rearm(); } /** @@ -1626,8 +1629,6 @@ static void pcs_irq_unmask(struct irq_data *d) struct pcs_soc_data *pcs_soc = irq_data_get_irq_chip_data(d); pcs_irq_set(pcs_soc, d-irq, true); -if (pcs_soc-rearm) -pcs_soc-rearm(); } This seems to cause the wake-up interrupts to happen also during runtime for me, which makes the omap3 behave the same way as omap4 already does. However, the concern I have is that we only want the io chain wake-up happen during idle and not during runtime.. So counting on the io chain in your EHCI driver during runtime would require also additional tracking of idle wake up events vs runtime wake-up events somewhere once we have the automatic solution for runtime PM. That is to avoid spurious interrupts during runtime. Right. It is upto the driver to disable the irq when it is not interested in the wake up interrupts. In any case, since this is an interrupt controller now, we should just follow the Linux standard for interrupt controllers, so if you do a request_irq() on it, you really should get interrupts. I've updated the patch a litte below to also remove the now bogus comment, and to update the description. So considering all that, I suggest that Linus applies the updated fix below into the pinctrl tree after pulling in the the tag I posted for pinctrl-single-for-linus-for-v3.13-signed. Great. Thanks. cheers, -roger -- 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
[PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com --- drivers/pinctrl/pinctrl-single.c |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index c2aada7..1800e47 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -1604,6 +1604,9 @@ static inline void pcs_irq_set(struct pcs_soc_data *pcs_soc, pcs-write(mask, pcswi-reg); raw_spin_unlock(pcs-lock); } + + if (pcs_soc-rearm) + pcs_soc-rearm(); } /** @@ -1626,8 +1629,6 @@ static void pcs_irq_unmask(struct irq_data *d) struct pcs_soc_data *pcs_soc = irq_data_get_irq_chip_data(d); pcs_irq_set(pcs_soc, d-irq, true); - if (pcs_soc-rearm) - pcs_soc-rearm(); } /** -- 1.7.4.1 -- 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
Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
On Fri, Oct 11, 2013 at 6:13 PM, Roger Quadros rog...@ti.com wrote: On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com If Tony needs to apply this with the other patches: Acked-by. Yours, Linus Walleij -- 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
Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
* Roger Quadros rog...@ti.com [131011 09:21]: On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com --- drivers/pinctrl/pinctrl-single.c |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c index c2aada7..1800e47 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -1604,6 +1604,9 @@ static inline void pcs_irq_set(struct pcs_soc_data *pcs_soc, pcs-write(mask, pcswi-reg); raw_spin_unlock(pcs-lock); } + + if (pcs_soc-rearm) + pcs_soc-rearm(); } /** @@ -1626,8 +1629,6 @@ static void pcs_irq_unmask(struct irq_data *d) struct pcs_soc_data *pcs_soc = irq_data_get_irq_chip_data(d); pcs_irq_set(pcs_soc, d-irq, true); - if (pcs_soc-rearm) - pcs_soc-rearm(); } This seems to cause the wake-up interrupts to happen also during runtime for me, which makes the omap3 behave the same way as omap4 already does. However, the concern I have is that we only want the io chain wake-up happen during idle and not during runtime.. So counting on the io chain in your EHCI driver during runtime would require also additional tracking of idle wake up events vs runtime wake-up events somewhere once we have the automatic solution for runtime PM. That is to avoid spurious interrupts during runtime. In any case, since this is an interrupt controller now, we should just follow the Linux standard for interrupt controllers, so if you do a request_irq() on it, you really should get interrupts. I've updated the patch a litte below to also remove the now bogus comment, and to update the description. So considering all that, I suggest that Linus applies the updated fix below into the pinctrl tree after pulling in the the tag I posted for pinctrl-single-for-linus-for-v3.13-signed. 8 --- From: Roger Quadros rog...@ti.com Date: Fri, 11 Oct 2013 19:13:16 +0300 Subject: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). As pinctrl-single is now an interrupt controller in some cases, we should follow the standards and keep the interrupts enabled constantly, and not just for wake-up events. The tracking of runtime vs wake-up interrupts can be handled separately for the automated runtime PM solution when we have it in the future. Signed-off-by: Roger Quadros rog...@ti.com [t...@atomide.com: removed wrong comment, updated description] Signed-off-by: Tony Lindgren t...@atomide.com --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -1604,6 +1604,9 @@ static inline void pcs_irq_set(struct pcs_soc_data *pcs_soc, pcs-write(mask, pcswi-reg); raw_spin_unlock(pcs-lock); } + + if (pcs_soc-rearm) + pcs_soc-rearm(); } /** @@ -1626,8 +1629,6 @@ static void pcs_irq_unmask(struct irq_data *d) struct pcs_soc_data *pcs_soc = irq_data_get_irq_chip_data(d); pcs_irq_set(pcs_soc, d-irq, true); - if (pcs_soc-rearm) - pcs_soc-rearm(); } /** @@ -1678,11 +1679,6 @@ static int pcs_irq_handle(struct pcs_soc_data *pcs_soc) } } - /* -* For debugging on omaps, you may want to call pcs_soc-rearm() -* here to see wake-up interrupts during runtime also. -*/ - return count; } -- 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
Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed
* Linus Walleij linus.wall...@linaro.org [131011 09:27]: On Fri, Oct 11, 2013 at 6:13 PM, Roger Quadros rog...@ti.com wrote: On OMAPs the IO ring must be rearmed each time the pad wakeup configuration is changed. So call pcs_soc-rearm() from pcs_irq_set(). Signed-off-by: Roger Quadros rog...@ti.com If Tony needs to apply this with the other patches: Acked-by. Just replied with a slightly modified version of Roger's patch suggesting you pull in the signed tag I posted for you yesterday and then you can pick up Roger's fix into the pinctrl tree :) Tony -- 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