diff options
| author | Manuel Lauss <manuel.lauss@gmail.com> | 2019-05-15 14:09:48 +0200 | 
|---|---|---|
| committer | Paul Burton <paul.burton@mips.com> | 2019-05-15 14:29:29 -0700 | 
| commit | b1e479e3dcbc970bfc0b20a56f213e4df08daf75 (patch) | |
| tree | 9e3ddf8aac1acc8249304adbfab7d50818519de7 /arch | |
| parent | 81fca03ae741d8b1f21cdc5de7a93826cde27959 (diff) | |
MIPS: Alchemy: add DMA masks for on-chip ethernet
Makes au1000-eth work again, tested on DB1500.
Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: Linux-MIPS <linux-mips@linux-mips.org>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/mips/alchemy/common/platform.c | 22 | 
1 files changed, 14 insertions, 8 deletions
| diff --git a/arch/mips/alchemy/common/platform.c b/arch/mips/alchemy/common/platform.c index 1454d9f6ab2d..b8f3397c59c9 100644 --- a/arch/mips/alchemy/common/platform.c +++ b/arch/mips/alchemy/common/platform.c @@ -131,9 +131,7 @@ static void __init alchemy_setup_uarts(int ctype)  } -/* The dmamask must be set for OHCI/EHCI to work */ -static u64 alchemy_ohci_dmamask = DMA_BIT_MASK(32); -static u64 __maybe_unused alchemy_ehci_dmamask = DMA_BIT_MASK(32); +static u64 alchemy_all_dmamask = DMA_BIT_MASK(32);  /* Power on callback for the ehci platform driver */  static int alchemy_ehci_power_on(struct platform_device *pdev) @@ -231,7 +229,7 @@ static void __init alchemy_setup_usb(int ctype)  	res[1].flags = IORESOURCE_IRQ;  	pdev->name = "ohci-platform";  	pdev->id = 0; -	pdev->dev.dma_mask = &alchemy_ohci_dmamask; +	pdev->dev.dma_mask = &alchemy_all_dmamask;  	pdev->dev.platform_data = &alchemy_ohci_pdata;  	if (platform_device_register(pdev)) @@ -251,7 +249,7 @@ static void __init alchemy_setup_usb(int ctype)  		res[1].flags = IORESOURCE_IRQ;  		pdev->name = "ehci-platform";  		pdev->id = 0; -		pdev->dev.dma_mask = &alchemy_ehci_dmamask; +		pdev->dev.dma_mask = &alchemy_all_dmamask;  		pdev->dev.platform_data = &alchemy_ehci_pdata;  		if (platform_device_register(pdev)) @@ -271,7 +269,7 @@ static void __init alchemy_setup_usb(int ctype)  		res[1].flags = IORESOURCE_IRQ;  		pdev->name = "ohci-platform";  		pdev->id = 1; -		pdev->dev.dma_mask = &alchemy_ohci_dmamask; +		pdev->dev.dma_mask = &alchemy_all_dmamask;  		pdev->dev.platform_data = &alchemy_ohci_pdata;  		if (platform_device_register(pdev)) @@ -338,7 +336,11 @@ static struct platform_device au1xxx_eth0_device = {  	.name		= "au1000-eth",  	.id		= 0,  	.num_resources	= MAC_RES_COUNT, -	.dev.platform_data = &au1xxx_eth0_platform_data, +	.dev = { +		.dma_mask               = &alchemy_all_dmamask, +		.coherent_dma_mask      = DMA_BIT_MASK(32), +		.platform_data          = &au1xxx_eth0_platform_data, +	},  };  static struct resource au1xxx_eth1_resources[][MAC_RES_COUNT] __initdata = { @@ -370,7 +372,11 @@ static struct platform_device au1xxx_eth1_device = {  	.name		= "au1000-eth",  	.id		= 1,  	.num_resources	= MAC_RES_COUNT, -	.dev.platform_data = &au1xxx_eth1_platform_data, +	.dev = { +		.dma_mask               = &alchemy_all_dmamask, +		.coherent_dma_mask      = DMA_BIT_MASK(32), +		.platform_data          = &au1xxx_eth1_platform_data, +	},  };  void __init au1xxx_override_eth_cfg(unsigned int port, | 
