* [PATCH 0/2] SH: fix platform Ether support @ 2013-08-17 22:11 Sergei Shtylyov 2013-08-17 22:13 ` Sergei Shtylyov 0 siblings, 1 reply; 8+ messages in thread From: Sergei Shtylyov @ 2013-08-17 22:11 UTC (permalink / raw) To: netdev, lethal, linux-sh, davem Hello. Here's a couple of patches fixing Ether support on some SH platforms. They are against David Miller's 'net.git' (and also apply to 'net-next.git) since they are prerequisite for the 'sh_eth' driver cleanup patchset that will be posted a bit later. David, can I ask you to push these patches thru your tree for that reason? [1/2] SH7619: fix Ether support [2/2] SolutionEngine7724: fix Ether support WBR, Sergei ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 0/2] SH: fix platform Ether support 2013-08-17 22:11 [PATCH 0/2] SH: fix platform Ether support Sergei Shtylyov @ 2013-08-17 22:13 ` Sergei Shtylyov 2013-08-17 22:15 ` [PATCH 1/2] SH7619: fix " Sergei Shtylyov 2013-08-17 22:19 ` [PATCH 2/2] SolutionEngine7724: " Sergei Shtylyov 0 siblings, 2 replies; 8+ messages in thread From: Sergei Shtylyov @ 2013-08-17 22:13 UTC (permalink / raw) To: netdev, lethal, linux-sh, davem Hello. [Resending with correct David's email.] Here's a couple of patches fixing Ether support on some SH platforms. They are against David Miller's 'net.git' (and also apply to 'net-next.git) since they are prerequisite for the 'sh_eth' driver cleanup patchset that will be posted a bit later. David, can I ask you to push these patches thru your tree for that reason? [1/2] SH7619: fix Ether support [2/2] SolutionEngine7724: fix Ether support WBR, Sergei ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] SH7619: fix Ether support 2013-08-17 22:13 ` Sergei Shtylyov @ 2013-08-17 22:15 ` Sergei Shtylyov 2013-08-21 0:05 ` David Miller 2013-08-21 14:20 ` Sergei Shtylyov 2013-08-17 22:19 ` [PATCH 2/2] SolutionEngine7724: " Sergei Shtylyov 1 sibling, 2 replies; 8+ messages in thread From: Sergei Shtylyov @ 2013-08-17 22:15 UTC (permalink / raw) To: netdev; +Cc: lethal, linux-sh, davem The 'sh_eth' driver's probe will crash as the platform code is hopelessly behind the platform data -- it passes PHY ID instead of 'struct sh_eth_plat_data *'. Strangely, both commit d88a3ea6fa4c (SH7619 add ethernet controler support) that added the platform code and commit 71557a37adb5 ([netdrvr] sh_eth: Add SH7619 support) were done in about the same time, yet the latter one added 'struct sh_eth_plat_data' and the platform code didn't ever get updated... Add the proper platform data and fix off-by-one memory resource end error, while at it... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Cc: stable@vger.kernel.org --- arch/sh/kernel/cpu/sh2/setup-sh7619.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) Index: net/arch/sh/kernel/cpu/sh2/setup-sh7619.c =================================--- net.orig/arch/sh/kernel/cpu/sh2/setup-sh7619.c +++ net/arch/sh/kernel/cpu/sh2/setup-sh7619.c @@ -12,6 +12,7 @@ #include <linux/init.h> #include <linux/serial.h> #include <linux/serial_sci.h> +#include <linux/sh_eth.h> #include <linux/sh_timer.h> #include <linux/io.h> @@ -110,10 +111,17 @@ static struct platform_device scif2_devi }, }; +static struct sh_eth_plat_data eth_platform_data = { + .phy = 1, + .edmac_endian = EDMAC_LITTLE_ENDIAN, + .register_type = SH_ETH_REG_FAST_SH3_SH2, + .phy_interace = PHY_INTERFACE_MODE_MII, +}; + static struct resource eth_resources[] = { [0] = { .start = 0xfb000000, - .end = 0xfb0001c8, + .end = 0xfb0001c7, .flags = IORESOURCE_MEM, }, [1] = { @@ -127,7 +135,7 @@ static struct platform_device eth_device .name = "sh7619-ether", .id = -1, .dev = { - .platform_data = (void *)1, + .platform_data = ð_platform_data, }, .num_resources = ARRAY_SIZE(eth_resources), .resource = eth_resources, ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] SH7619: fix Ether support 2013-08-17 22:15 ` [PATCH 1/2] SH7619: fix " Sergei Shtylyov @ 2013-08-21 0:05 ` David Miller 2013-08-21 14:20 ` Sergei Shtylyov 1 sibling, 0 replies; 8+ messages in thread From: David Miller @ 2013-08-21 0:05 UTC (permalink / raw) To: sergei.shtylyov; +Cc: netdev, lethal, linux-sh From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Date: Sun, 18 Aug 2013 02:15:42 +0400 > The 'sh_eth' driver's probe will crash as the platform code is hopelessly behind > the platform data -- it passes PHY ID instead of 'struct sh_eth_plat_data *'. > Strangely, both commit d88a3ea6fa4c (SH7619 add ethernet controler support) that > added the platform code and commit 71557a37adb5 ([netdrvr] sh_eth: Add SH7619 > support) were done in about the same time, yet the latter one added 'struct > sh_eth_plat_data' and the platform code didn't ever get updated... > > Add the proper platform data and fix off-by-one memory resource end error, while > at it... > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Applied. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] SH7619: fix Ether support 2013-08-17 22:15 ` [PATCH 1/2] SH7619: fix " Sergei Shtylyov 2013-08-21 0:05 ` David Miller @ 2013-08-21 14:20 ` Sergei Shtylyov 1 sibling, 0 replies; 8+ messages in thread From: Sergei Shtylyov @ 2013-08-21 14:20 UTC (permalink / raw) To: netdev; +Cc: lethal, linux-sh, davem Hello. On 18-08-2013 2:15, Sergei Shtylyov wrote: > The 'sh_eth' driver's probe will crash as the platform code is hopelessly behind > the platform data -- it passes PHY ID instead of 'struct sh_eth_plat_data *'. > Strangely, both commit d88a3ea6fa4c (SH7619 add ethernet controler support) that > added the platform code and commit 71557a37adb5 ([netdrvr] sh_eth: Add SH7619 > support) were done in about the same time, yet the latter one added 'struct > sh_eth_plat_data' and the platform code didn't ever get updated... > > Add the proper platform data and fix off-by-one memory resource end error, while > at it... > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: stable@vger.kernel.org > --- > arch/sh/kernel/cpu/sh2/setup-sh7619.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > Index: net/arch/sh/kernel/cpu/sh2/setup-sh7619.c > =================================> --- net.orig/arch/sh/kernel/cpu/sh2/setup-sh7619.c > +++ net/arch/sh/kernel/cpu/sh2/setup-sh7619.c [...] > @@ -110,10 +111,17 @@ static struct platform_device scif2_devi > }, > }; > > +static struct sh_eth_plat_data eth_platform_data = { > + .phy = 1, > + .edmac_endian = EDMAC_LITTLE_ENDIAN, > + .register_type = SH_ETH_REG_FAST_SH3_SH2, > + .phy_interace = PHY_INTERFACE_MODE_MII, Grr, I forgot to compile test this patch as the kbuild test robot just told me... s/phy_interace/phy_interface/. I'll send a fix today. WBR, Sergei ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] SolutionEngine7724: fix Ether support 2013-08-17 22:13 ` Sergei Shtylyov 2013-08-17 22:15 ` [PATCH 1/2] SH7619: fix " Sergei Shtylyov @ 2013-08-17 22:19 ` Sergei Shtylyov 2013-08-21 0:05 ` David Miller 2013-08-21 18:58 ` Sergei Shtylyov 1 sibling, 2 replies; 8+ messages in thread From: Sergei Shtylyov @ 2013-08-17 22:19 UTC (permalink / raw) To: netdev, lethal, linux-sh, davem The Ether platform data is behind the declaration of 'struct sh_eth_plat_data' as it's lacking the initializers for the 'register_type' and 'phy_interface' fields -- it means they'll be implicitly and wrongly set to SH_ETH_REG_GIGABIT and PHY_INTERFACE_MODE_NA. Initialize the fields explicitly and fix off-by-one error in the Ether memory resource end, while at it... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Cc: stable@vger.kernel.org --- arch/sh/boards/mach-se/7724/setup.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: net/arch/sh/boards/mach-se/7724/setup.c =================================--- net.orig/arch/sh/boards/mach-se/7724/setup.c +++ net/arch/sh/boards/mach-se/7724/setup.c @@ -365,7 +365,7 @@ static struct platform_device keysc_devi static struct resource sh_eth_resources[] = { [0] = { .start = SH_ETH_ADDR, - .end = SH_ETH_ADDR + 0x1FC, + .end = SH_ETH_ADDR + 0x1FC - 1, .flags = IORESOURCE_MEM, }, [1] = { @@ -377,6 +377,8 @@ static struct resource sh_eth_resources[ static struct sh_eth_plat_data sh_eth_plat = { .phy = 0x1f, /* SMSC LAN8187 */ .edmac_endian = EDMAC_LITTLE_ENDIAN, + .register_type = SH_ETH_REG_FAST_SH4, + .phy_interace = PHY_INTERFACE_MODE_MII, }; static struct platform_device sh_eth_device = { ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] SolutionEngine7724: fix Ether support 2013-08-17 22:19 ` [PATCH 2/2] SolutionEngine7724: " Sergei Shtylyov @ 2013-08-21 0:05 ` David Miller 2013-08-21 18:58 ` Sergei Shtylyov 1 sibling, 0 replies; 8+ messages in thread From: David Miller @ 2013-08-21 0:05 UTC (permalink / raw) To: sergei.shtylyov; +Cc: netdev, lethal, linux-sh From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Date: Sun, 18 Aug 2013 02:19:09 +0400 > The Ether platform data is behind the declaration of 'struct sh_eth_plat_data' > as it's lacking the initializers for the 'register_type' and 'phy_interface' > fields -- it means they'll be implicitly and wrongly set to SH_ETH_REG_GIGABIT > and PHY_INTERFACE_MODE_NA. Initialize the fields explicitly and fix off-by-one > error in the Ether memory resource end, while at it... > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Applied. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] SolutionEngine7724: fix Ether support 2013-08-17 22:19 ` [PATCH 2/2] SolutionEngine7724: " Sergei Shtylyov 2013-08-21 0:05 ` David Miller @ 2013-08-21 18:58 ` Sergei Shtylyov 1 sibling, 0 replies; 8+ messages in thread From: Sergei Shtylyov @ 2013-08-21 18:58 UTC (permalink / raw) To: netdev, lethal, linux-sh, davem Hello. On 08/18/2013 02:19 AM, Sergei Shtylyov wrote: > The Ether platform data is behind the declaration of 'struct sh_eth_plat_data' > as it's lacking the initializers for the 'register_type' and 'phy_interface' > fields -- it means they'll be implicitly and wrongly set to SH_ETH_REG_GIGABIT > and PHY_INTERFACE_MODE_NA. Initialize the fields explicitly and fix off-by-one > error in the Ether memory resource end, while at it... > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Cc: stable@vger.kernel.org > --- > arch/sh/boards/mach-se/7724/setup.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > Index: net/arch/sh/boards/mach-se/7724/setup.c > =================================> --- net.orig/arch/sh/boards/mach-se/7724/setup.c > +++ net/arch/sh/boards/mach-se/7724/setup.c [...] > @@ -377,6 +377,8 @@ static struct resource sh_eth_resources[ > static struct sh_eth_plat_data sh_eth_plat = { > .phy = 0x1f, /* SMSC LAN8187 */ > .edmac_endian = EDMAC_LITTLE_ENDIAN, > + .register_type = SH_ETH_REG_FAST_SH4, > + .phy_interace = PHY_INTERFACE_MODE_MII, Darn, "interace" here too, this time spotted by myself. Obviously, I did copy&paste the same mistake. WBR, Sergei ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-08-21 18:58 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-08-17 22:11 [PATCH 0/2] SH: fix platform Ether support Sergei Shtylyov 2013-08-17 22:13 ` Sergei Shtylyov 2013-08-17 22:15 ` [PATCH 1/2] SH7619: fix " Sergei Shtylyov 2013-08-21 0:05 ` David Miller 2013-08-21 14:20 ` Sergei Shtylyov 2013-08-17 22:19 ` [PATCH 2/2] SolutionEngine7724: " Sergei Shtylyov 2013-08-21 0:05 ` David Miller 2013-08-21 18:58 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).