Re: [PATCH] pinctrl: single: call pcs_soc-rearm() whenever IRQ mask is changed

2013-11-19 Thread Linus Walleij
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

2013-11-14 Thread Tony Lindgren
* 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

2013-11-12 Thread Linus Walleij
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

2013-11-12 Thread Tony Lindgren
* 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

2013-10-14 Thread Roger Quadros
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

2013-10-11 Thread Roger Quadros
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

2013-10-11 Thread Linus Walleij
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

2013-10-11 Thread Tony Lindgren
* 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

2013-10-11 Thread Tony Lindgren
* 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