Re: [PATCH] ucc_geth: add support for netpoll

2007-11-01 Thread Anton Vorontsov
On Thu, Nov 01, 2007 at 10:33:24AM +0800, Li Yang-r58472 wrote:
  -Original Message-
  From: Anton Vorontsov [mailto:[EMAIL PROTECTED] 
  Sent: Thursday, November 01, 2007 5:59 AM
  To: Li Yang-r58472
  Cc: netdev@vger.kernel.org; [EMAIL PROTECTED]; 
  [EMAIL PROTECTED]
  Subject: Re: [PATCH] ucc_geth: add support for netpoll
  
  On Mon, Oct 29, 2007 at 03:17:44PM +0300, Anton Vorontsov wrote:
  [...]
Oops.  The original patch happened to hit the Junk mail box. :(
   
   That one as well? http://lkml.org/lkml/2007/10/11/128
   
I think
the patch is good to merge after the cosmetic change.  I 
  can do it 
in next pull request to Jeff.
   
   Ok, great. Thanks.
  
  I'm wondering if you missed that email again. Maybe your mail 
  client/server doing weird things with emails from @ru.mvista.com?
 
 No.  I have explicitly add you to the whitelist. :)

Hehe, thanks. ;-)

 Please be patient,
 isn't this patch a new feature which can only be integrated in the merge
 window?

Sure it is. I didn't mean to hurry up you, of course not.

Just wondered if you've solved issues with getting my emails. Such
wonders are quite normal if there was a precedent lately. ;-)


Sorry for troubling you,

-- 
Anton Vorontsov
email: [EMAIL PROTECTED]
backup email: [EMAIL PROTECTED]
irc://irc.freenode.net/bd2
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ucc_geth: add support for netpoll

2007-10-31 Thread Anton Vorontsov
On Mon, Oct 29, 2007 at 03:17:44PM +0300, Anton Vorontsov wrote:
[...]
  Oops.  The original patch happened to hit the Junk mail box. :(
 
 That one as well? http://lkml.org/lkml/2007/10/11/128
 
  I think
  the patch is good to merge after the cosmetic change.  I can do it in
  next pull request to Jeff.
 
 Ok, great. Thanks.

I'm wondering if you missed that email again. Maybe your mail
client/server doing weird things with emails from @ru.mvista.com?

Thanks.

 Here it is:
 
 - - - -
 From: Anton Vorontsov [EMAIL PROTECTED]
 Subject: [PATCH] ucc_geth: add support for netpoll
 
 This patch adds netpoll support for the QE UCC Gigabit Ethernet
 driver. Tested using netconsole and KGDBoE.
 
 Signed-off-by: Anton Vorontsov [EMAIL PROTECTED]
 ---
  drivers/net/ucc_geth.c |   20 
  1 files changed, 20 insertions(+), 0 deletions(-)
 
 diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
 index bec413b..94e78d8 100644
 --- a/drivers/net/ucc_geth.c
 +++ b/drivers/net/ucc_geth.c
 @@ -3678,6 +3678,23 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void 
 *info)
   return IRQ_HANDLED;
  }
  
 +#ifdef CONFIG_NET_POLL_CONTROLLER
 +/*
 + * Polling 'interrupt' - used by things like netconsole to send skbs
 + * without having to re-enable interrupts. It's not called while
 + * the interrupt routine is executing.
 + */
 +static void ucc_netpoll(struct net_device *dev)
 +{
 + struct ucc_geth_private *ugeth = netdev_priv(dev);
 + int irq = ugeth-ug_info-uf_info.irq;
 +
 + disable_irq(irq);
 + ucc_geth_irq_handler(irq, dev);
 + enable_irq(irq);
 +}
 +#endif /* CONFIG_NET_POLL_CONTROLLER */
 +
  /* Called when something needs to use the ethernet device */
  /* Returns 0 for success. */
  static int ucc_geth_open(struct net_device *dev)
 @@ -3963,6 +3980,9 @@ static int ucc_geth_probe(struct of_device* ofdev, 
 const struct of_device_id *ma
  #ifdef CONFIG_UGETH_NAPI
   netif_napi_add(dev, ugeth-napi, ucc_geth_poll, UCC_GETH_DEV_WEIGHT);
  #endif   /* CONFIG_UGETH_NAPI */
 +#ifdef CONFIG_NET_POLL_CONTROLLER
 + dev-poll_controller = ucc_netpoll;
 +#endif
   dev-stop = ucc_geth_close;
  //dev-change_mtu = ucc_geth_change_mtu;
   dev-mtu = 1500;
 -- 
 1.5.2.2

-- 
Anton Vorontsov
email: [EMAIL PROTECTED]
backup email: [EMAIL PROTECTED]
irc://irc.freenode.net/bd2
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] ucc_geth: add support for netpoll

2007-10-31 Thread Li Yang-r58472
 -Original Message-
 From: Anton Vorontsov [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, November 01, 2007 5:59 AM
 To: Li Yang-r58472
 Cc: netdev@vger.kernel.org; [EMAIL PROTECTED]; 
 [EMAIL PROTECTED]
 Subject: Re: [PATCH] ucc_geth: add support for netpoll
 
 On Mon, Oct 29, 2007 at 03:17:44PM +0300, Anton Vorontsov wrote:
 [...]
   Oops.  The original patch happened to hit the Junk mail box. :(
  
  That one as well? http://lkml.org/lkml/2007/10/11/128
  
   I think
   the patch is good to merge after the cosmetic change.  I 
 can do it 
   in next pull request to Jeff.
  
  Ok, great. Thanks.
 
 I'm wondering if you missed that email again. Maybe your mail 
 client/server doing weird things with emails from @ru.mvista.com?

No.  I have explicitly add you to the whitelist. :) Please be patient,
isn't this patch a new feature which can only be integrated in the merge
window?  Thanks.

- Leo
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ucc_geth: add support for netpoll

2007-10-29 Thread Anton Vorontsov
On Mon, Oct 29, 2007 at 02:12:07PM +0800, Li Yang-r58472 wrote:
[...]
+#ifdef CONFIG_NET_POLL_CONTROLLER
+/*
+ * Polling 'interrupt' - used by things like netconsole to send 
+skbs
+ * without having to re-enable interrupts. It's not called while
+ * the interrupt routine is executing.
+ */
+static void ucc_netpoll(struct net_device *dev) {
+   struct ucc_geth_private *ugeth = netdev_priv(dev);
+
+   disable_irq(ugeth-ug_info-uf_info.irq);
+   ucc_geth_irq_handler(ugeth-ug_info-uf_info.irq, dev);
+   enable_irq(ugeth-ug_info-uf_info.irq);
   
   Why not make it less complex (for a reader and gcc too :-) ?
  
  Yup, I'm agree here but it's too late. Again. ;-)
  
  This patch already accepted into the -mm (a week or so after 
  the silence), so.. now I'd rather not bother Andrew with such 
  really cosmetic changes. But if Jeff would directly apply 
  modfied patch, I'll send it. ;-)
 
 Oops.  The original patch happened to hit the Junk mail box. :(

That one as well? http://lkml.org/lkml/2007/10/11/128

 I think
 the patch is good to merge after the cosmetic change.  I can do it in
 next pull request to Jeff.

Ok, great. Thanks.

Here it is:

- - - -
From: Anton Vorontsov [EMAIL PROTECTED]
Subject: [PATCH] ucc_geth: add support for netpoll

This patch adds netpoll support for the QE UCC Gigabit Ethernet
driver. Tested using netconsole and KGDBoE.

Signed-off-by: Anton Vorontsov [EMAIL PROTECTED]
---
 drivers/net/ucc_geth.c |   20 
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index bec413b..94e78d8 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3678,6 +3678,23 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void 
*info)
return IRQ_HANDLED;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+/*
+ * Polling 'interrupt' - used by things like netconsole to send skbs
+ * without having to re-enable interrupts. It's not called while
+ * the interrupt routine is executing.
+ */
+static void ucc_netpoll(struct net_device *dev)
+{
+   struct ucc_geth_private *ugeth = netdev_priv(dev);
+   int irq = ugeth-ug_info-uf_info.irq;
+
+   disable_irq(irq);
+   ucc_geth_irq_handler(irq, dev);
+   enable_irq(irq);
+}
+#endif /* CONFIG_NET_POLL_CONTROLLER */
+
 /* Called when something needs to use the ethernet device */
 /* Returns 0 for success. */
 static int ucc_geth_open(struct net_device *dev)
@@ -3963,6 +3980,9 @@ static int ucc_geth_probe(struct of_device* ofdev, const 
struct of_device_id *ma
 #ifdef CONFIG_UGETH_NAPI
netif_napi_add(dev, ugeth-napi, ucc_geth_poll, UCC_GETH_DEV_WEIGHT);
 #endif /* CONFIG_UGETH_NAPI */
+#ifdef CONFIG_NET_POLL_CONTROLLER
+   dev-poll_controller = ucc_netpoll;
+#endif
dev-stop = ucc_geth_close;
 //dev-change_mtu = ucc_geth_change_mtu;
dev-mtu = 1500;
-- 
1.5.2.2

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] ucc_geth: add support for netpoll

2007-10-28 Thread Li Yang-r58472
 -Original Message-
 From: Anton Vorontsov [mailto:[EMAIL PROTECTED] 
 Sent: Saturday, October 27, 2007 10:38 PM
 To: Sergei Shtylyov
 Cc: Anton Vorontsov; netdev@vger.kernel.org; Li Yang-r58472; 
 [EMAIL PROTECTED]; [EMAIL PROTECTED]
 Subject: Re: [PATCH] ucc_geth: add support for netpoll
 
 On Sat, Oct 27, 2007 at 05:09:51PM +0400, Sergei Shtylyov wrote:
  Hello.
  
  Anton Vorontsov wrote:
  
   This patch adds netpoll support for the QE UCC Gigabit Ethernet 
   driver. The approach is very similar to the gianfar driver.
  
  It's rather contrarywise -- this is standard approach 
 and gianfar 
  with its
  3 TSEC IRQs has a quite non-standard poll_controller() 
 implementation.
 
 Oh.. well, right -- gianfar a bit more comlex in that regard.
 
  
   Tested using netconsole.
  
  KGDBoE is considered a better test (I hope you've also 
 tested with it).
 
 At the time of posting it was tested using netconsole only, a 
 few days later it's was tested using KGDBoE also. So, it works indeed.
 
   Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] 
 diff --git 
   a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 
   18a6f48..06807ce 100644
   --- a/drivers/net/ucc_geth.c
   +++ b/drivers/net/ucc_geth.c
   @@ -3691,6 +3691,22 @@ static irqreturn_t 
 ucc_geth_irq_handler(int irq, void *info)
 return IRQ_HANDLED;
}

   +#ifdef CONFIG_NET_POLL_CONTROLLER
   +/*
   + * Polling 'interrupt' - used by things like netconsole to send 
   +skbs
   + * without having to re-enable interrupts. It's not called while
   + * the interrupt routine is executing.
   + */
   +static void ucc_netpoll(struct net_device *dev) {
   + struct ucc_geth_private *ugeth = netdev_priv(dev);
   +
   + disable_irq(ugeth-ug_info-uf_info.irq);
   + ucc_geth_irq_handler(ugeth-ug_info-uf_info.irq, dev);
   + enable_irq(ugeth-ug_info-uf_info.irq);
  
  Why not make it less complex (for a reader and gcc too :-) ?
 
 Yup, I'm agree here but it's too late. Again. ;-)
 
 This patch already accepted into the -mm (a week or so after 
 the silence), so.. now I'd rather not bother Andrew with such 
 really cosmetic changes. But if Jeff would directly apply 
 modfied patch, I'll send it. ;-)

Oops.  The original patch happened to hit the Junk mail box. :(  I think
the patch is good to merge after the cosmetic change.  I can do it in
next pull request to Jeff.

Thanks
- Leo
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ucc_geth: add support for netpoll

2007-10-27 Thread Sergei Shtylyov

Hello.

Anton Vorontsov wrote:


This patch adds netpoll support for the QE UCC Gigabit Ethernet
driver. The approach is very similar to the gianfar driver.


   It's rather contrarywise -- this is standard approach and gianfar with its 
3 TSEC IRQs has a quite non-standard poll_controller() implementation.



Tested using netconsole.


   KGDBoE is considered a better test (I hope you've also tested with it).


Signed-off-by: Anton Vorontsov [EMAIL PROTECTED]
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 18a6f48..06807ce 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3691,6 +3691,22 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void 
*info)
return IRQ_HANDLED;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER

+/*
+ * Polling 'interrupt' - used by things like netconsole to send skbs
+ * without having to re-enable interrupts. It's not called while
+ * the interrupt routine is executing.
+ */
+static void ucc_netpoll(struct net_device *dev)
+{
+   struct ucc_geth_private *ugeth = netdev_priv(dev);
+
+   disable_irq(ugeth-ug_info-uf_info.irq);
+   ucc_geth_irq_handler(ugeth-ug_info-uf_info.irq, dev);
+   enable_irq(ugeth-ug_info-uf_info.irq);


   Why not make it less complex (for a reader and gcc too :-) ?

struct ucc_geth_private *ugeth = netdev_priv(dev);
int irq = ugeth-ug_info-uf_info.irq;

disable_irq(irq);
ucc_geth_irq_handler(irq, dev);
enable_irq(irq);


+}
+#endif /* CONFIG_NET_POLL_CONTROLLER */
+
 /* Called when something needs to use the ethernet device */
 /* Returns 0 for success. */
 static int ucc_geth_open(struct net_device *dev)


WBR, Sergei
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ucc_geth: add support for netpoll

2007-10-27 Thread Anton Vorontsov
On Sat, Oct 27, 2007 at 05:09:51PM +0400, Sergei Shtylyov wrote:
 Hello.
 
 Anton Vorontsov wrote:
 
  This patch adds netpoll support for the QE UCC Gigabit Ethernet
  driver. The approach is very similar to the gianfar driver.
 
 It's rather contrarywise -- this is standard approach and gianfar with 
 its 
 3 TSEC IRQs has a quite non-standard poll_controller() implementation.

Oh.. well, right -- gianfar a bit more comlex in that regard.

 
  Tested using netconsole.
 
 KGDBoE is considered a better test (I hope you've also tested with it).

At the time of posting it was tested using netconsole only, a few
days later it's was tested using KGDBoE also. So, it works indeed.

  Signed-off-by: Anton Vorontsov [EMAIL PROTECTED]
  diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
  index 18a6f48..06807ce 100644
  --- a/drivers/net/ucc_geth.c
  +++ b/drivers/net/ucc_geth.c
  @@ -3691,6 +3691,22 @@ static irqreturn_t ucc_geth_irq_handler(int irq, 
  void *info)
  return IRQ_HANDLED;
   }
   
  +#ifdef CONFIG_NET_POLL_CONTROLLER
  +/*
  + * Polling 'interrupt' - used by things like netconsole to send skbs
  + * without having to re-enable interrupts. It's not called while
  + * the interrupt routine is executing.
  + */
  +static void ucc_netpoll(struct net_device *dev)
  +{
  +   struct ucc_geth_private *ugeth = netdev_priv(dev);
  +
  +   disable_irq(ugeth-ug_info-uf_info.irq);
  +   ucc_geth_irq_handler(ugeth-ug_info-uf_info.irq, dev);
  +   enable_irq(ugeth-ug_info-uf_info.irq);
 
 Why not make it less complex (for a reader and gcc too :-) ?

Yup, I'm agree here but it's too late. Again. ;-)

This patch already accepted into the -mm (a week or so after the
silence), so.. now I'd rather not bother Andrew with such really
cosmetic changes. But if Jeff would directly apply modfied patch,
I'll send it. ;-)


Anyhow, I'm sincerely appreciate your comments.

Thanks,

-- 
Anton Vorontsov
email: [EMAIL PROTECTED]
backup email: [EMAIL PROTECTED]
irc://irc.freenode.net/bd2
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] ucc_geth: add support for netpoll

2007-10-11 Thread Anton Vorontsov
This patch adds netpoll support for the QE UCC Gigabit Ethernet
driver. The approach is very similar to the gianfar driver.

Tested using netconsole.

Signed-off-by: Anton Vorontsov [EMAIL PROTECTED]
---
 drivers/net/ucc_geth.c |   19 +++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 18a6f48..06807ce 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3691,6 +3691,22 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void 
*info)
return IRQ_HANDLED;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+/*
+ * Polling 'interrupt' - used by things like netconsole to send skbs
+ * without having to re-enable interrupts. It's not called while
+ * the interrupt routine is executing.
+ */
+static void ucc_netpoll(struct net_device *dev)
+{
+   struct ucc_geth_private *ugeth = netdev_priv(dev);
+
+   disable_irq(ugeth-ug_info-uf_info.irq);
+   ucc_geth_irq_handler(ugeth-ug_info-uf_info.irq, dev);
+   enable_irq(ugeth-ug_info-uf_info.irq);
+}
+#endif /* CONFIG_NET_POLL_CONTROLLER */
+
 /* Called when something needs to use the ethernet device */
 /* Returns 0 for success. */
 static int ucc_geth_open(struct net_device *dev)
@@ -3969,6 +3985,9 @@ static int ucc_geth_probe(struct of_device* ofdev, const 
struct of_device_id *ma
dev-poll = ucc_geth_poll;
dev-weight = UCC_GETH_DEV_WEIGHT;
 #endif /* CONFIG_UGETH_NAPI */
+#ifdef CONFIG_NET_POLL_CONTROLLER
+   dev-poll_controller = ucc_netpoll;
+#endif
dev-stop = ucc_geth_close;
dev-get_stats = ucc_geth_get_stats;
 //dev-change_mtu = ucc_geth_change_mtu;
-- 
1.5.0.6

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html