Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-29 Thread Arnd Bergmann
On Thursday 29 January 2015 18:20:24 Murali Karicheri wrote:
> 
> I have just posted a patch to nedev list to address this issue. Please 
> review and let me know your comments. This also require some additional 
> fixes in drivers/soc/ti/ to build them as modules as well. Santosh has 
> queued them against next merge window.

Ok, thanks for addressing this! As I wrote in reply to your patch, I'll
give it some extra build testing in random configurations.

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


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-29 Thread Murali Karicheri

On 01/29/2015 05:00 PM, Arnd Bergmann wrote:

On Thursday 29 January 2015 12:21:36 Murali Karicheri wrote:


I think the solution is to make the cpsw_ale as a module and configured
through a Kconfig option. I am working on a fix for this now.

Similar fix is required for cpts.o. Currently we are not using this
module for Netcp, but soon this will be re-used. I have send a patch
that is already applied to net-next removing cpts.o for Netcp.



Great, thanks a lot for the follow-up.

Arnd

Arnd,

I have just posted a patch to nedev list to address this issue. Please 
review and let me know your comments. This also require some additional 
fixes in drivers/soc/ti/ to build them as modules as well. Santosh has 
queued them against next merge window.


Felipe, Mugunthan,

As the patch touches ti_cpsw as well, please review and provide your 
comments. It will be great if you can apply this patch on net-next 
branch and test it on ti platform using ti_cpsw driver.


--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-29 Thread Arnd Bergmann
On Thursday 29 January 2015 12:21:36 Murali Karicheri wrote:
> 
> I think the solution is to make the cpsw_ale as a module and configured 
> through a Kconfig option. I am working on a fix for this now.
> 
> Similar fix is required for cpts.o. Currently we are not using this 
> module for Netcp, but soon this will be re-used. I have send a patch 
> that is already applied to net-next removing cpts.o for Netcp.
> 

Great, thanks a lot for the follow-up.

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


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-29 Thread Murali Karicheri

On 01/28/2015 05:40 PM, Murali Karicheri wrote:

+ Felipe, Mugunthan for commenting on TI_CPSW, ALE.



 --- Cut --





The second problem is where I got stuck myself: cpsw_ale.c (also cpts.c)
is getting linked into both modules, which is not allowed: It is
impossible for the kernel to compile these if one driver is a module
and the other one is not, and any use of KBUILD_MODNAME fails because
it is unclear what the modname is if the file is compiled once to
be linked into two drivers.

Arnd,

I think the solution is to make the cpsw_ale as a module and configured 
through a Kconfig option. I am working on a fix for this now.


Similar fix is required for cpts.o. Currently we are not using this 
module for Netcp, but soon this will be re-used. I have send a patch 
that is already applied to net-next removing cpts.o for Netcp.


Murali


I am still looking into this. Both Keystone and TI CPSW driver would
need to use cpsw_ale.o and cpts.o (currently not used, but will need
this later). Not found a solution yet.

Murali


Arnd






--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-28 Thread Murali Karicheri

+ Felipe, Mugunthan for commenting on TI_CPSW, ALE.

On 01/28/2015 04:03 PM, Arnd Bergmann wrote:

On Wednesday 28 January 2015 15:43:57 Murali Karicheri wrote:

this. Hope I am on the right track.


Reproduced this. Following errors seen when building the modules.

LD [M]  drivers/net/ethernet/ti/keystone_netcp.o
drivers/net/ethernet/ti/netcp_ethss.o: In function `init_module':
netcp_ethss.c:(.init.text+0x0): multiple definition of `init_module'
drivers/net/ethernet/ti/netcp_core.o:netcp_core.c:(.init.text+0x0):
first defined here
drivers/net/ethernet/ti/netcp_ethss.o: In function `cleanup_module':
netcp_ethss.c:(.exit.text+0x0): multiple definition of `cleanup_module'
drivers/net/ethernet/ti/netcp_core.o:netcp_core.c:(.exit.text+0x0):
first defined here
make[4]: *** [drivers/net/ethernet/ti/keystone_netcp.o] Error 1

BTW, I had to disable cpsw_ale.c to get to build keystone NetCP. I am
assuming someone from TI is addressing this.

drivers/net/ethernet/ti/cpsw_ale.c: In function ‘cpsw_ale_start’:
drivers/net/ethernet/ti/cpsw_ale.c:759:2: error: ‘KBUILD_MODNAME’
undeclared (first use in this function)
drivers/net/ethernet/ti/cpsw_ale.c:759:2: note: each undeclared
identifier is reported only once for each function it appears in


I think both problems are nontrivial to fix. The first one is obviously
that there are multiple init_module functions in one module. You have
to either split the driver into multiple loadable modules with at most
one init_module/cleanup_module pair each, or call one of the functions
from the other one in the right order.
I have a version that is building now with out issues. I had to make 
several modifications.


1. export functions from drivers/soc/ti/knav* that are used by the netcp 
driver. I will be sending a patch for this soon.


2. Convert netcp_ethss.o to a module and add Kconfig for the same

 config TI_KEYSTONE_NETCP
-   tristate "TI Keystone NETCP Ethernet subsystem Support"
+   tristate "TI Keystone NETCP Core Support"
+   select TI_CPSW_ALE
depends on OF
depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS
---help---
- This driver supports TI's Keystone NETCP Ethernet subsystem.
+ This driver supports TI's Keystone NETCP Core.
+
+ To compile this driver as a module, choose M here: the module
+ will be called keystone_netcp.
+
+config TI_KEYSTONE_NETCP_ETHSS
+   depends on TI_KEYSTONE_NETCP
+   tristate "TI Keystone NETCP Ethernet subsystem Support"
+   ---help---


And Makefile to change as

diff --git a/drivers/net/ethernet/ti/Makefile 
b/drivers/net/ethernet/ti/Makefile

index 0a9813b..1dbb8b5 100644
--- a/drivers/net/ethernet/ti/Makefile
+++ b/drivers/net/ethernet/ti/Makefile
@@ -8,9 +8,13 @@ obj-$(CONFIG_TI_DAVINCI_EMAC) += davinci_emac.o
 obj-$(CONFIG_TI_DAVINCI_MDIO) += davinci_mdio.o
 obj-$(CONFIG_TI_DAVINCI_CPDMA) += davinci_cpdma.o
 obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o
 obj-$(CONFIG_TI_CPSW) += ti_cpsw.o
 ti_cpsw-y := cpsw_ale.o cpsw.o cpts.o

 obj-$(CONFIG_TI_KEYSTONE_NETCP) += keystone_netcp.o
-keystone_netcp-y := netcp_core.o netcp_ethss.o netcp_sgmii.o \
-   netcp_xgbepcsr.o cpsw_ale.o
+keystone_netcp-y := netcp_core.o
+
+obj-$(CONFIG_TI_KEYSTONE_NETCP_ETHSS) += keystone_netcp_ethss.o
+keystone_netcp_ethss-y := netcp_ethss.o netcp_sgmii.o netcp_xgbepcsr.o \
+   cpsw_ale.o

3. export some of the functions in netcp_core.c to support building 
keystone_netcp_ethss as module.




The second problem is where I got stuck myself: cpsw_ale.c (also cpts.c)
is getting linked into both modules, which is not allowed: It is
impossible for the kernel to compile these if one driver is a module
and the other one is not, and any use of KBUILD_MODNAME fails because
it is unclear what the modname is if the file is compiled once to
be linked into two drivers.


I am still looking into this. Both Keystone and TI CPSW driver would 
need to use cpsw_ale.o and cpts.o (currently not used, but will need 
this later). Not found a solution yet.


Murali


Arnd



--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-28 Thread Arnd Bergmann
On Wednesday 28 January 2015 15:43:57 Murali Karicheri wrote:
> > this. Hope I am on the right track.
> 
> Reproduced this. Following errors seen when building the modules.
> 
>LD [M]  drivers/net/ethernet/ti/keystone_netcp.o
> drivers/net/ethernet/ti/netcp_ethss.o: In function `init_module':
> netcp_ethss.c:(.init.text+0x0): multiple definition of `init_module'
> drivers/net/ethernet/ti/netcp_core.o:netcp_core.c:(.init.text+0x0): 
> first defined here
> drivers/net/ethernet/ti/netcp_ethss.o: In function `cleanup_module':
> netcp_ethss.c:(.exit.text+0x0): multiple definition of `cleanup_module'
> drivers/net/ethernet/ti/netcp_core.o:netcp_core.c:(.exit.text+0x0): 
> first defined here
> make[4]: *** [drivers/net/ethernet/ti/keystone_netcp.o] Error 1
>
> BTW, I had to disable cpsw_ale.c to get to build keystone NetCP. I am 
> assuming someone from TI is addressing this.
> 
> drivers/net/ethernet/ti/cpsw_ale.c: In function ‘cpsw_ale_start’:
> drivers/net/ethernet/ti/cpsw_ale.c:759:2: error: ‘KBUILD_MODNAME’ 
> undeclared (first use in this function)
> drivers/net/ethernet/ti/cpsw_ale.c:759:2: note: each undeclared 
> identifier is reported only once for each function it appears in

I think both problems are nontrivial to fix. The first one is obviously
that there are multiple init_module functions in one module. You have
to either split the driver into multiple loadable modules with at most
one init_module/cleanup_module pair each, or call one of the functions
from the other one in the right order.

The second problem is where I got stuck myself: cpsw_ale.c (also cpts.c)
is getting linked into both modules, which is not allowed: It is
impossible for the kernel to compile these if one driver is a module
and the other one is not, and any use of KBUILD_MODNAME fails because
it is unclear what the modname is if the file is compiled once to
be linked into two drivers.

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


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-28 Thread Murali Karicheri

On 01/27/2015 05:28 PM, Arnd Bergmann wrote:

On Tuesday 20 January 2015 10:53:36 Murali Karicheri wrote:

On 01/19/2015 03:11 PM, David Miller wrote:

From: Murali Karicheri
Date: Thu, 15 Jan 2015 19:10:03 -0500


The Network Coprocessor (NetCP) is a hardware accelerator that processes
Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with a ethernet
switch sub-module to send and receive packets. NetCP also includes a packet
accelerator (PA) module to perform packet classification operations such as
header matching, and packet modification operations such as checksum
generation. NetCP can also optionally include a Security Accelerator(SA)
capable of performing IPSec operations on ingress/egress packets.

Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
1Gb/s rates per Ethernet port.

Both GBE and XGBE network processors supported using common driver. It
is also designed to handle future variants of NetCP.


Series applied to net-next, thanks.

David,

Thanks a lot for applying this series. This helps us move forward to
work on the next set of patches.


Hi Murali,

Building an ARM 'allmodconfig' kernel now runs into two separate problems
from your driver:

- you have two module_init() instances in one module, which conflict.

- you have two files that are linked into more than one module, so building
   both TI_CPSW and TI_KEYSTONE_NETCP in the same kernel fails.

The answer to both of these is probably to have separate loadable modules,
but you might be able to come up with a different solution.

Arnd,

Thanks for letting us know. We will look into this.

How do I reproduce this? Is there a defconfig used for allmodconfig? I 
am unable to find one. Any details to reproduce this will be useful.


Thanks.

Murali


Arnd



--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-28 Thread Murali Karicheri

On 01/28/2015 12:43 PM, Murali Karicheri wrote:

On 01/28/2015 11:49 AM, Murali Karicheri wrote:

On 01/27/2015 05:28 PM, Arnd Bergmann wrote:

On Tuesday 20 January 2015 10:53:36 Murali Karicheri wrote:

On 01/19/2015 03:11 PM, David Miller wrote:

From: Murali Karicheri
Date: Thu, 15 Jan 2015 19:10:03 -0500


The Network Coprocessor (NetCP) is a hardware accelerator that
processes
Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with
a ethernet
switch sub-module to send and receive packets. NetCP also includes
a packet
accelerator (PA) module to perform packet classification operations
such as
header matching, and packet modification operations such as checksum
generation. NetCP can also optionally include a Security
Accelerator(SA)
capable of performing IPSec operations on ingress/egress packets.

Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
1Gb/s rates per Ethernet port.

Both GBE and XGBE network processors supported using common
driver. It
is also designed to handle future variants of NetCP.


Series applied to net-next, thanks.

David,

Thanks a lot for applying this series. This helps us move forward to
work on the next set of patches.


Hi Murali,

Building an ARM 'allmodconfig' kernel now runs into two separate
problems
from your driver:

- you have two module_init() instances in one module, which conflict.

- you have two files that are linked into more than one module, so
building
both TI_CPSW and TI_KEYSTONE_NETCP in the same kernel fails.

The answer to both of these is probably to have separate loadable
modules,
but you might be able to come up with a different solution.

Arnd,

Thanks for letting us know. We will look into this.

How do I reproduce this? Is there a defconfig used for allmodconfig? I
am unable to find one. Any details to reproduce this will be useful.


Ok I think I found it.

I did this with next-next branch and it seems to work. I will make
kernel build to reproduce this.

make ARCH=arm allmodconfig
make uImage;

I am building it now.

Arnd,

I see allmodconfig configure NetCP driver as module. My uImage build 
from net-next branch went through fine. I am building modules right now 
and should show error as you have pointed out. Let me know if you any 
issues on how I am working to reproduce the issue (wrong branch, wrong 
/incomplete commands etc. I have my CROSS_COMPILE and ARCH set in my 
env). Want to reproduce this so as to make sure my fix is addressing 
this. Hope I am on the right track.


Thanks

Murali


Murali

Thanks.

Murali


Arnd









--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-28 Thread Murali Karicheri

On 01/28/2015 11:49 AM, Murali Karicheri wrote:

On 01/27/2015 05:28 PM, Arnd Bergmann wrote:

On Tuesday 20 January 2015 10:53:36 Murali Karicheri wrote:

On 01/19/2015 03:11 PM, David Miller wrote:

From: Murali Karicheri
Date: Thu, 15 Jan 2015 19:10:03 -0500


The Network Coprocessor (NetCP) is a hardware accelerator that
processes
Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with
a ethernet
switch sub-module to send and receive packets. NetCP also includes
a packet
accelerator (PA) module to perform packet classification operations
such as
header matching, and packet modification operations such as checksum
generation. NetCP can also optionally include a Security
Accelerator(SA)
capable of performing IPSec operations on ingress/egress packets.

Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
1Gb/s rates per Ethernet port.

Both GBE and XGBE network processors supported using common driver. It
is also designed to handle future variants of NetCP.


Series applied to net-next, thanks.

David,

Thanks a lot for applying this series. This helps us move forward to
work on the next set of patches.


Hi Murali,

Building an ARM 'allmodconfig' kernel now runs into two separate problems
from your driver:

- you have two module_init() instances in one module, which conflict.

- you have two files that are linked into more than one module, so
building
both TI_CPSW and TI_KEYSTONE_NETCP in the same kernel fails.

The answer to both of these is probably to have separate loadable
modules,
but you might be able to come up with a different solution.

Arnd,

Thanks for letting us know. We will look into this.

How do I reproduce this? Is there a defconfig used for allmodconfig? I
am unable to find one. Any details to reproduce this will be useful.


Ok I think I found it.

I did this with next-next branch and it seems to work. I will make 
kernel build to reproduce this.


make ARCH=arm allmodconfig
make uImage;

I am building it now.

Murali

Thanks.

Murali


Arnd






--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-28 Thread Murali Karicheri

On 01/28/2015 01:20 PM, Murali Karicheri wrote:

On 01/28/2015 12:43 PM, Murali Karicheri wrote:

On 01/28/2015 11:49 AM, Murali Karicheri wrote:

On 01/27/2015 05:28 PM, Arnd Bergmann wrote:

On Tuesday 20 January 2015 10:53:36 Murali Karicheri wrote:

On 01/19/2015 03:11 PM, David Miller wrote:

From: Murali Karicheri
Date: Thu, 15 Jan 2015 19:10:03 -0500


The Network Coprocessor (NetCP) is a hardware accelerator that
processes
Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with
a ethernet
switch sub-module to send and receive packets. NetCP also includes
a packet
accelerator (PA) module to perform packet classification operations
such as
header matching, and packet modification operations such as checksum
generation. NetCP can also optionally include a Security
Accelerator(SA)
capable of performing IPSec operations on ingress/egress packets.

Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE)
which
includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
1Gb/s rates per Ethernet port.

Both GBE and XGBE network processors supported using common
driver. It
is also designed to handle future variants of NetCP.


Series applied to net-next, thanks.

David,

Thanks a lot for applying this series. This helps us move forward to
work on the next set of patches.


Hi Murali,

Building an ARM 'allmodconfig' kernel now runs into two separate
problems
from your driver:

- you have two module_init() instances in one module, which conflict.

- you have two files that are linked into more than one module, so
building
both TI_CPSW and TI_KEYSTONE_NETCP in the same kernel fails.

The answer to both of these is probably to have separate loadable
modules,
but you might be able to come up with a different solution.

Arnd,

Thanks for letting us know. We will look into this.

How do I reproduce this? Is there a defconfig used for allmodconfig? I
am unable to find one. Any details to reproduce this will be useful.


Ok I think I found it.

I did this with next-next branch and it seems to work. I will make
kernel build to reproduce this.

make ARCH=arm allmodconfig
make uImage;

I am building it now.

Arnd,

I see allmodconfig configure NetCP driver as module. My uImage build
from net-next branch went through fine. I am building modules right now
and should show error as you have pointed out. Let me know if you any
issues on how I am working to reproduce the issue (wrong branch, wrong
/incomplete commands etc. I have my CROSS_COMPILE and ARCH set in my
env). Want to reproduce this so as to make sure my fix is addressing
this. Hope I am on the right track.


Reproduced this. Following errors seen when building the modules.

  LD [M]  drivers/net/ethernet/ti/keystone_netcp.o
drivers/net/ethernet/ti/netcp_ethss.o: In function `init_module':
netcp_ethss.c:(.init.text+0x0): multiple definition of `init_module'
drivers/net/ethernet/ti/netcp_core.o:netcp_core.c:(.init.text+0x0): 
first defined here

drivers/net/ethernet/ti/netcp_ethss.o: In function `cleanup_module':
netcp_ethss.c:(.exit.text+0x0): multiple definition of `cleanup_module'
drivers/net/ethernet/ti/netcp_core.o:netcp_core.c:(.exit.text+0x0): 
first defined here

make[4]: *** [drivers/net/ethernet/ti/keystone_netcp.o] Error 1


BTW, I had to disable cpsw_ale.c to get to build keystone NetCP. I am 
assuming someone from TI is addressing this.


drivers/net/ethernet/ti/cpsw_ale.c: In function ‘cpsw_ale_start’:
drivers/net/ethernet/ti/cpsw_ale.c:759:2: error: ‘KBUILD_MODNAME’ 
undeclared (first use in this function)
drivers/net/ethernet/ti/cpsw_ale.c:759:2: note: each undeclared 
identifier is reported only once for each function it appears in


Murali



Thanks

Murali


Murali

Thanks.

Murali


Arnd












--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-27 Thread Arnd Bergmann
On Tuesday 20 January 2015 10:53:36 Murali Karicheri wrote:
> On 01/19/2015 03:11 PM, David Miller wrote:
> > From: Murali Karicheri
> > Date: Thu, 15 Jan 2015 19:10:03 -0500
> >
> >> The Network Coprocessor (NetCP) is a hardware accelerator that processes
> >> Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with a 
> >> ethernet
> >> switch sub-module to send and receive packets. NetCP also includes a packet
> >> accelerator (PA) module to perform packet classification operations such as
> >> header matching, and packet modification operations such as checksum
> >> generation. NetCP can also optionally include a Security Accelerator(SA)
> >> capable of performing IPSec operations on ingress/egress packets.
> >>
> >> Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
> >> includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
> >> 1Gb/s rates per Ethernet port.
> >>
> >> Both GBE and XGBE network processors supported using common driver. It
> >> is also designed to handle future variants of NetCP.
> >
> > Series applied to net-next, thanks.
> David,
> 
> Thanks a lot for applying this series. This helps us move forward to 
> work on the next set of patches.

Hi Murali,

Building an ARM 'allmodconfig' kernel now runs into two separate problems
from your driver:

- you have two module_init() instances in one module, which conflict.

- you have two files that are linked into more than one module, so building
  both TI_CPSW and TI_KEYSTONE_NETCP in the same kernel fails.

The answer to both of these is probably to have separate loadable modules,
but you might be able to come up with a different solution.

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


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-20 Thread Murali Karicheri

On 01/19/2015 03:11 PM, David Miller wrote:

From: Murali Karicheri
Date: Thu, 15 Jan 2015 19:10:03 -0500


The Network Coprocessor (NetCP) is a hardware accelerator that processes
Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with a ethernet
switch sub-module to send and receive packets. NetCP also includes a packet
accelerator (PA) module to perform packet classification operations such as
header matching, and packet modification operations such as checksum
generation. NetCP can also optionally include a Security Accelerator(SA)
capable of performing IPSec operations on ingress/egress packets.

Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
1Gb/s rates per Ethernet port.

Both GBE and XGBE network processors supported using common driver. It
is also designed to handle future variants of NetCP.


Series applied to net-next, thanks.

David,

Thanks a lot for applying this series. This helps us move forward to 
work on the next set of patches.


Thanks
--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-19 Thread David Miller
From: Murali Karicheri 
Date: Thu, 15 Jan 2015 19:10:03 -0500

> The Network Coprocessor (NetCP) is a hardware accelerator that processes
> Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with a ethernet
> switch sub-module to send and receive packets. NetCP also includes a packet
> accelerator (PA) module to perform packet classification operations such as
> header matching, and packet modification operations such as checksum
> generation. NetCP can also optionally include a Security Accelerator(SA)
> capable of performing IPSec operations on ingress/egress packets.
> 
> Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
> includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
> 1Gb/s rates per Ethernet port.
> 
> Both GBE and XGBE network processors supported using common driver. It
> is also designed to handle future variants of NetCP.

Series applied to net-next, thanks.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support

2015-01-15 Thread Murali Karicheri
The Network Coprocessor (NetCP) is a hardware accelerator that processes
Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsystem with a ethernet
switch sub-module to send and receive packets. NetCP also includes a packet
accelerator (PA) module to perform packet classification operations such as
header matching, and packet modification operations such as checksum
generation. NetCP can also optionally include a Security Accelerator(SA)
capable of performing IPSec operations on ingress/egress packets.

Keystone SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
includes a 3-port Ethernet switch sub-module capable of 10Gb/s and
1Gb/s rates per Ethernet port.

Both GBE and XGBE network processors supported using common driver. It
is also designed to handle future variants of NetCP.

version history
---
v7->v8

 - Reworked comments against v7, related to checker warning.
 - Patch 2/4 that has all of the driver code in v7 is now split into 3
   patches based on functionality so that we have 3 smaller patches
   review instead of a big patch.
 - Patch for MAINTAINER is merged to 2/4 along with netcp core driver
 - Separate patch (3/4) for 1G and  (4/4) for 10G
 - Removed big endian support for initial version (will add it later)

v6->v7
 - Fixed some minor documentation error and also modified the netcp driver
   to fix the set* functions to include correct le/be macros.

v5->v6
 - updated version after incorporating comments [6] from David Miller,
   David Laight & Geert Uytterhoeven on v5. I would like get this in
   for v3.19 merge window if the latest version is acceptable.

v4->v5
 - Sorry to spin v5 quickly but I missed few check-patch warnings which
   were pointed by Joe Perches(thanks). I folded his changes [5] along with
   few more check-patch warning fixes. I would like get this in for v3.18
   merge window if David is happy with this version.

v3->v4
 - Couple of fixes in in error path as pointed [4] out by David. Rest of
   the patches are unchanged from v3. 

v2->v3
 - Update v3 after incorporating Jamal and David Miller's comment/suggestion
   from earlier versions [1] [2].  After per the discussion here [3], the
   controversial custom exports have been dropped now. And for future
   future offload support additions, we will plug into generic frameworks
   as an when they are available.

Murali Karicheri (2):
  Documentation: dt: net: Add binding doc for Keystone NetCP ethernet
driver
  net: netcp: Add Keystone NetCP core ethernet driver

Wingman Kwok (2):
  net: netcp: Add Keystone NetCP GbE driver
  net: netcp: Enhance GBE driver to support 10G Ethernet

 Cc: David Miller 
 Cc: Rob Herring 
 Cc: Grant Likely 
 Cc: Santosh Shilimkar 
 Cc: Pawel Moll 
 Cc: Mark Rutland 
 Cc: Ian Campbell 
 Cc: Kumar Gala 

 .../devicetree/bindings/net/keystone-netcp.txt |  197 ++
 MAINTAINERS|7 +
 drivers/net/ethernet/ti/Kconfig|   11 +
 drivers/net/ethernet/ti/Makefile   |4 +
 drivers/net/ethernet/ti/netcp.h|  229 +++
 drivers/net/ethernet/ti/netcp_core.c   | 2141 +++
 drivers/net/ethernet/ti/netcp_ethss.c  | 2156 
 drivers/net/ethernet/ti/netcp_sgmii.c  |  131 ++
 drivers/net/ethernet/ti/netcp_xgbepcsr.c   |  501 +
 9 files changed, 5377 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/keystone-netcp.txt
 create mode 100644 drivers/net/ethernet/ti/netcp.h
 create mode 100644 drivers/net/ethernet/ti/netcp_core.c
 create mode 100644 drivers/net/ethernet/ti/netcp_ethss.c
 create mode 100644 drivers/net/ethernet/ti/netcp_sgmii.c
 create mode 100644 drivers/net/ethernet/ti/netcp_xgbepcsr.c

[1] https://lkml.org/lkml/2014/4/22/805
[2] https://lkml.org/lkml/2014/8/15/218
[3] https://lkml.org/lkml/2014/9/11/691
[4] https://lkml.org/lkml/2014/9/15/403
[5] https://lkml.org/lkml/2014/9/25/332
[6] https://lkml.org/lkml/2014/9/29/639

-- 
1.7.9.5

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