All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices
@ 2019-02-21  9:56 Jonas Gorski
  2019-02-21 13:40 ` Christoph Hellwig
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jonas Gorski @ 2019-02-21  9:56 UTC (permalink / raw)
  To: linux-mips, linux-kernel
  Cc: Ralf Baechle, Paul Burton, James Hogan, Florian Fainelli,
	Christoph Hellwig

The switch to the generic dma ops made dma masks mandatory, breaking
devices having them not set. In case of bcm63xx, it broke ethernet with
the following warning when trying to up the device:

[    2.633123] ------------[ cut here ]------------
[    2.637949] WARNING: CPU: 0 PID: 325 at ./include/linux/dma-mapping.h:516 bcm_enetsw_open+0x160/0xbbc
[    2.647423] Modules linked in: gpio_button_hotplug
[    2.652361] CPU: 0 PID: 325 Comm: ip Not tainted 4.19.16 #0
[    2.658080] Stack : 80520000 804cd3ec 00000000 00000000 804ccc00 87085bdc 87d3f9d4 804f9a17
[    2.666707]         8049cf18 00000145 80a942a0 00000204 80ac0000 10008400 87085b90 eb3d5ab7
[    2.675325]         00000000 00000000 80ac0000 000022b0 00000000 00000000 00000007 00000000
[    2.683954]         0000007a 80500000 0013b381 00000000 80000000 00000000 804a1664 80289878
[    2.692572]         00000009 00000204 80ac0000 00000200 00000002 00000000 00000000 80a90000
[    2.701191]         ...
[    2.703701] Call Trace:
[    2.706244] [<8001f3c8>] show_stack+0x58/0x100
[    2.710840] [<800336e4>] __warn+0xe4/0x118
[    2.715049] [<800337d4>] warn_slowpath_null+0x48/0x64
[    2.720237] [<80289878>] bcm_enetsw_open+0x160/0xbbc
[    2.725347] [<802d1d4c>] __dev_open+0xf8/0x16c
[    2.729913] [<802d20cc>] __dev_change_flags+0x100/0x1c4
[    2.735290] [<802d21b8>] dev_change_flags+0x28/0x70
[    2.740326] [<803539e0>] devinet_ioctl+0x310/0x7b0
[    2.745250] [<80355fd8>] inet_ioctl+0x1f8/0x224
[    2.749939] [<802af290>] sock_ioctl+0x30c/0x488
[    2.754632] [<80112b34>] do_vfs_ioctl+0x740/0x7dc
[    2.759459] [<80112c20>] ksys_ioctl+0x50/0x94
[    2.763955] [<800240b8>] syscall_common+0x34/0x58
[    2.768782] ---[ end trace fb1a6b14d74e28b6 ]---
[    2.773544] bcm63xx_enetsw bcm63xx_enetsw.0: cannot allocate rx ring 512

Fix this by adding appropriate DMA masks for the platform devices.

Fixes: f8c55dc6e828 ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 arch/mips/bcm63xx/dev-enet.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/mips/bcm63xx/dev-enet.c b/arch/mips/bcm63xx/dev-enet.c
index 07b4c65a88a4..8e73d65f3480 100644
--- a/arch/mips/bcm63xx/dev-enet.c
+++ b/arch/mips/bcm63xx/dev-enet.c
@@ -70,6 +70,8 @@ static struct platform_device bcm63xx_enet_shared_device = {
 
 static int shared_device_registered;
 
+static u64 enet_dmamask = DMA_BIT_MASK(32);
+
 static struct resource enet0_res[] = {
 	{
 		.start		= -1, /* filled at runtime */
@@ -99,6 +101,8 @@ static struct platform_device bcm63xx_enet0_device = {
 	.resource	= enet0_res,
 	.dev		= {
 		.platform_data = &enet0_pd,
+		.dma_mask = &enet_dmamask,
+		.coherent_dma_mask = DMA_BIT_MASK(32),
 	},
 };
 
@@ -131,6 +135,8 @@ static struct platform_device bcm63xx_enet1_device = {
 	.resource	= enet1_res,
 	.dev		= {
 		.platform_data = &enet1_pd,
+		.dma_mask = &enet_dmamask,
+		.coherent_dma_mask = DMA_BIT_MASK(32),
 	},
 };
 
@@ -157,6 +163,8 @@ static struct platform_device bcm63xx_enetsw_device = {
 	.resource	= enetsw_res,
 	.dev		= {
 		.platform_data = &enetsw_pd,
+		.dma_mask = &enet_dmamask,
+		.coherent_dma_mask = DMA_BIT_MASK(32),
 	},
 };
 
-- 
2.13.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices
  2019-02-21  9:56 [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices Jonas Gorski
@ 2019-02-21 13:40 ` Christoph Hellwig
  2019-02-21 17:47 ` Florian Fainelli
  2019-02-21 23:07 ` Paul Burton
  2 siblings, 0 replies; 4+ messages in thread
From: Christoph Hellwig @ 2019-02-21 13:40 UTC (permalink / raw)
  To: Jonas Gorski
  Cc: linux-mips, linux-kernel, Ralf Baechle, Paul Burton, James Hogan,
	Florian Fainelli, Christoph Hellwig

On Thu, Feb 21, 2019 at 10:56:42AM +0100, Jonas Gorski wrote:
> The switch to the generic dma ops made dma masks mandatory, breaking
> devices having them not set. In case of bcm63xx, it broke ethernet with
> the following warning when trying to up the device:

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices
  2019-02-21  9:56 [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices Jonas Gorski
  2019-02-21 13:40 ` Christoph Hellwig
@ 2019-02-21 17:47 ` Florian Fainelli
  2019-02-21 23:07 ` Paul Burton
  2 siblings, 0 replies; 4+ messages in thread
From: Florian Fainelli @ 2019-02-21 17:47 UTC (permalink / raw)
  To: Jonas Gorski, linux-mips, linux-kernel
  Cc: Ralf Baechle, Paul Burton, James Hogan, Christoph Hellwig

On 2/21/19 1:56 AM, Jonas Gorski wrote:
> The switch to the generic dma ops made dma masks mandatory, breaking
> devices having them not set. In case of bcm63xx, it broke ethernet with
> the following warning when trying to up the device:
> 
> [    2.633123] ------------[ cut here ]------------
> [    2.637949] WARNING: CPU: 0 PID: 325 at ./include/linux/dma-mapping.h:516 bcm_enetsw_open+0x160/0xbbc
> [    2.647423] Modules linked in: gpio_button_hotplug
> [    2.652361] CPU: 0 PID: 325 Comm: ip Not tainted 4.19.16 #0
> [    2.658080] Stack : 80520000 804cd3ec 00000000 00000000 804ccc00 87085bdc 87d3f9d4 804f9a17
> [    2.666707]         8049cf18 00000145 80a942a0 00000204 80ac0000 10008400 87085b90 eb3d5ab7
> [    2.675325]         00000000 00000000 80ac0000 000022b0 00000000 00000000 00000007 00000000
> [    2.683954]         0000007a 80500000 0013b381 00000000 80000000 00000000 804a1664 80289878
> [    2.692572]         00000009 00000204 80ac0000 00000200 00000002 00000000 00000000 80a90000
> [    2.701191]         ...
> [    2.703701] Call Trace:
> [    2.706244] [<8001f3c8>] show_stack+0x58/0x100
> [    2.710840] [<800336e4>] __warn+0xe4/0x118
> [    2.715049] [<800337d4>] warn_slowpath_null+0x48/0x64
> [    2.720237] [<80289878>] bcm_enetsw_open+0x160/0xbbc
> [    2.725347] [<802d1d4c>] __dev_open+0xf8/0x16c
> [    2.729913] [<802d20cc>] __dev_change_flags+0x100/0x1c4
> [    2.735290] [<802d21b8>] dev_change_flags+0x28/0x70
> [    2.740326] [<803539e0>] devinet_ioctl+0x310/0x7b0
> [    2.745250] [<80355fd8>] inet_ioctl+0x1f8/0x224
> [    2.749939] [<802af290>] sock_ioctl+0x30c/0x488
> [    2.754632] [<80112b34>] do_vfs_ioctl+0x740/0x7dc
> [    2.759459] [<80112c20>] ksys_ioctl+0x50/0x94
> [    2.763955] [<800240b8>] syscall_common+0x34/0x58
> [    2.768782] ---[ end trace fb1a6b14d74e28b6 ]---
> [    2.773544] bcm63xx_enetsw bcm63xx_enetsw.0: cannot allocate rx ring 512
> 
> Fix this by adding appropriate DMA masks for the platform devices.
> 
> Fixes: f8c55dc6e828 ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms")
> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-- 
Florian

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices
  2019-02-21  9:56 [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices Jonas Gorski
  2019-02-21 13:40 ` Christoph Hellwig
  2019-02-21 17:47 ` Florian Fainelli
@ 2019-02-21 23:07 ` Paul Burton
  2 siblings, 0 replies; 4+ messages in thread
From: Paul Burton @ 2019-02-21 23:07 UTC (permalink / raw)
  To: Jonas Gorski
  Cc: linux-mips, linux-kernel, Ralf Baechle, Paul Burton, James Hogan,
	Florian Fainelli, Christoph Hellwig, linux-mips

Hello,

Jonas Gorski wrote:
> The switch to the generic dma ops made dma masks mandatory, breaking
> devices having them not set. In case of bcm63xx, it broke ethernet with
> the following warning when trying to up the device:
> 
> [    2.633123] ------------[ cut here ]------------
> [    2.637949] WARNING: CPU: 0 PID: 325 at ./include/linux/dma-mapping.h:516 bcm_enetsw_open+0x160/0xbbc
> [    2.647423] Modules linked in: gpio_button_hotplug
> [    2.652361] CPU: 0 PID: 325 Comm: ip Not tainted 4.19.16 #0
> [    2.658080] Stack : 80520000 804cd3ec 00000000 00000000 804ccc00 87085bdc 87d3f9d4 804f9a17
> [    2.666707]         8049cf18 00000145 80a942a0 00000204 80ac0000 10008400 87085b90 eb3d5ab7
> [    2.675325]         00000000 00000000 80ac0000 000022b0 00000000 00000000 00000007 00000000
> [    2.683954]         0000007a 80500000 0013b381 00000000 80000000 00000000 804a1664 80289878
> [    2.692572]         00000009 00000204 80ac0000 00000200 00000002 00000000 00000000 80a90000
> [    2.701191]         ...
> [    2.703701] Call Trace:
> [    2.706244] [<8001f3c8>] show_stack+0x58/0x100
> [    2.710840] [<800336e4>] __warn+0xe4/0x118
> [    2.715049] [<800337d4>] warn_slowpath_null+0x48/0x64
> [    2.720237] [<80289878>] bcm_enetsw_open+0x160/0xbbc
> [    2.725347] [<802d1d4c>] __dev_open+0xf8/0x16c
> [    2.729913] [<802d20cc>] __dev_change_flags+0x100/0x1c4
> [    2.735290] [<802d21b8>] dev_change_flags+0x28/0x70
> [    2.740326] [<803539e0>] devinet_ioctl+0x310/0x7b0
> [    2.745250] [<80355fd8>] inet_ioctl+0x1f8/0x224
> [    2.749939] [<802af290>] sock_ioctl+0x30c/0x488
> [    2.754632] [<80112b34>] do_vfs_ioctl+0x740/0x7dc
> [    2.759459] [<80112c20>] ksys_ioctl+0x50/0x94
> [    2.763955] [<800240b8>] syscall_common+0x34/0x58
> [    2.768782] ---[ end trace fb1a6b14d74e28b6 ]---
> [    2.773544] bcm63xx_enetsw bcm63xx_enetsw.0: cannot allocate rx ring 512
> 
> Fix this by adding appropriate DMA masks for the platform devices.
> 
> Fixes: f8c55dc6e828 ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms")
> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>

Applied to mips-fixes.

Thanks,
    Paul

[ This message was auto-generated; if you believe anything is incorrect
  then please email paul.burton@mips.com to report it. ]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-02-21 23:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-21  9:56 [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices Jonas Gorski
2019-02-21 13:40 ` Christoph Hellwig
2019-02-21 17:47 ` Florian Fainelli
2019-02-21 23:07 ` Paul Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.