Re: [PATCH net-next v8 0/4] net: Add Keystone NetCP ethernet driver support
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
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
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
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
+ 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
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
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
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
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
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
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
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
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
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