All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 7/7] OF: set dma_mask for ARM
@ 2011-04-20  8:11 Kristoffer Glembo
       [not found] ` <4DAE9540.8040006-FkzTOoA/JUlBDgjK7y7TUQ@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Kristoffer Glembo @ 2011-04-20  8:11 UTC (permalink / raw)
  To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	robherring2-Re5JQEeQqe8AvxtiuMwx3w

Hi,

Have you gotten any feedback on this? I am facing the same decision on SPARC32. I need to add dma_mask to get USB working on non-PCI buses and I'm currently thinking about doing it either the PowerPC way or going with the dma_mask = &coherent_dma_mask route. It would be nice if we could get some community agreement on which is the proper way of doing this.

Best regards,
Kristoffer Glembo


On 11/16/2010 11:24 PM, Grant Likely wrote:
>> On Tue, Nov 16, 2010 at 02:33:55PM -0600, Rob Herring wrote:
>>> From: Rob Herring<rob.herring at calxeda.com>
>>>
>>> Various drivers require dma_mask to be valid, so it needs to be setup
>>> when doing OF probing on ARM.
>>>
>>> Signed-off-by: Rob Herring<rob.herring at calxeda.com>
>>
>> I'll let patches 6&  7 lay fallow for the moment.  I'm not hugely fond
>> of the powerpc approach (which microblaze copies), but I haven't had a
>> chance to look for a better solution.
>>
>
>Looking at this some more, there's a couple of options I see.
>
>Other buses (ISA, PCI, EISA) have a dma_mask in their struct. So perhaps 
>platform_device should just have a dma_mask field.
>
>There are several examples of setting dma_mask = &coherent_dma_mask. I'm 
>not sure if this is considered correct. At least on ARM, I don't think 
>these would need to be different.
>
>Another option would be using bus notifiers to set the dma_mask like 
>platform_data. But that doesn't seem like a good long term solution.
>
>Rob

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

* Re: [PATCH 7/7] OF: set dma_mask for ARM
       [not found] ` <4DAE9540.8040006-FkzTOoA/JUlBDgjK7y7TUQ@public.gmane.org>
@ 2011-04-20 12:06   ` Rob Herring
  0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2011-04-20 12:06 UTC (permalink / raw)
  To: Kristoffer Glembo; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ

On 04/20/2011 03:11 AM, Kristoffer Glembo wrote:
> Hi,
>
> Have you gotten any feedback on this? I am facing the same decision
> on SPARC32. I need to add dma_mask to get USB working on non-PCI
> buses and I'm currently thinking about doing it either the PowerPC
> way or going with the dma_mask =&coherent_dma_mask route. It would be
> nice if we could get some community agreement on which is the proper
> way of doing this.
>

No, only Grant's original comment. I did switch to using a bus notifier 
callback to set the dma_mask pointer so I don't need to modify the DT or 
arch code.

Rob

> Best regards, Kristoffer Glembo
>
>
> On 11/16/2010 11:24 PM, Grant Likely wrote:
>>> On Tue, Nov 16, 2010 at 02:33:55PM -0600, Rob Herring wrote:
>>>> From: Rob Herring<rob.herring at calxeda.com>
>>>>
>>>> Various drivers require dma_mask to be valid, so it needs to be
>>>> setup when doing OF probing on ARM.
>>>>
>>>> Signed-off-by: Rob Herring<rob.herring at calxeda.com>
>>>
>>> I'll let patches 6&   7 lay fallow for the moment.  I'm not
>>> hugely fond of the powerpc approach (which microblaze copies),
>>> but I haven't had a chance to look for a better solution.
>>>
>>
>> Looking at this some more, there's a couple of options I see.
>>
>> Other buses (ISA, PCI, EISA) have a dma_mask in their struct. So
>> perhaps platform_device should just have a dma_mask field.
>>
>> There are several examples of setting dma_mask =&coherent_dma_mask.
>> I'm not sure if this is considered correct. At least on ARM, I
>> don't think these would need to be different.
>>
>> Another option would be using bus notifiers to set the dma_mask
>> like platform_data. But that doesn't seem like a good long term
>> solution.
>>
>> Rob

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

* Re: [PATCH 7/7] OF: set dma_mask for ARM
       [not found]         ` <20101117052448.GC12813-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
@ 2011-02-08  3:24           ` Rob Herring
  0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2011-02-08  3:24 UTC (permalink / raw)
  To: Grant Likely; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ

Grant,

On 11/16/2010 11:24 PM, Grant Likely wrote:
> On Tue, Nov 16, 2010 at 02:33:55PM -0600, Rob Herring wrote:
>> From: Rob Herring<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
>>
>> Various drivers require dma_mask to be valid, so it needs to be setup
>> when doing OF probing on ARM.
>>
>> Signed-off-by: Rob Herring<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
>
> I'll let patches 6&  7 lay fallow for the moment.  I'm not hugely fond
> of the powerpc approach (which microblaze copies), but I haven't had a
> chance to look for a better solution.
>

Looking at this some more, there's a couple of options I see.

Other buses (ISA, PCI, EISA) have a dma_mask in their struct. So perhaps 
platform_device should just have a dma_mask field.

There are several examples of setting dma_mask = &coherent_dma_mask. I'm 
not sure if this is considered correct. At least on ARM, I don't think 
these would need to be different.

Another option would be using bus notifiers to set the dma_mask like 
platform_data. But that doesn't seem like a good long term solution.

Rob

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

* Re: [PATCH 7/7] OF: set dma_mask for ARM
       [not found]     ` <1289939635-30742-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2010-11-17  5:24       ` Grant Likely
       [not found]         ` <20101117052448.GC12813-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Grant Likely @ 2010-11-17  5:24 UTC (permalink / raw)
  To: Rob Herring; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring

On Tue, Nov 16, 2010 at 02:33:55PM -0600, Rob Herring wrote:
> From: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
> 
> Various drivers require dma_mask to be valid, so it needs to be setup
> when doing OF probing on ARM.
> 
> Signed-off-by: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>

I'll let patches 6 & 7 lay fallow for the moment.  I'm not hugely fond
of the powerpc approach (which microblaze copies), but I haven't had a
chance to look for a better solution.

g.

> ---
>  drivers/of/platform.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/of/platform.c b/drivers/of/platform.c
> index 5b4a07f..fe2669a 100644
> --- a/drivers/of/platform.c
> +++ b/drivers/of/platform.c
> @@ -614,7 +614,7 @@ struct platform_device *of_device_alloc(struct device_node *np,
>  	}
>  
>  	dev->dev.of_node = of_node_get(np);
> -#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE)
> +#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE) || defined(CONFIG_ARM)
>  	dev->dev.dma_mask = &dev->archdata.dma_mask;
>  #endif
>  	dev->dev.parent = parent;
> @@ -644,7 +644,7 @@ struct platform_device *of_platform_device_create(struct device_node *np,
>  	if (!dev)
>  		return NULL;
>  
> -#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE)
> +#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE) || defined(CONFIG_ARM)
>  	dev->archdata.dma_mask = 0xffffffffUL;
>  #endif
>  	dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
> -- 
> 1.7.1
> 
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss

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

* [PATCH 7/7] OF: set dma_mask for ARM
       [not found] ` <1289939635-30742-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2010-11-16 20:33   ` Rob Herring
       [not found]     ` <1289939635-30742-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2010-11-16 20:33 UTC (permalink / raw)
  To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ; +Cc: Rob Herring

From: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>

Various drivers require dma_mask to be valid, so it needs to be setup
when doing OF probing on ARM.

Signed-off-by: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
---
 drivers/of/platform.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 5b4a07f..fe2669a 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -614,7 +614,7 @@ struct platform_device *of_device_alloc(struct device_node *np,
 	}
 
 	dev->dev.of_node = of_node_get(np);
-#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE)
+#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE) || defined(CONFIG_ARM)
 	dev->dev.dma_mask = &dev->archdata.dma_mask;
 #endif
 	dev->dev.parent = parent;
@@ -644,7 +644,7 @@ struct platform_device *of_platform_device_create(struct device_node *np,
 	if (!dev)
 		return NULL;
 
-#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE)
+#if defined(CONFIG_PPC) || defined(CONFIG_MICROBLAZE) || defined(CONFIG_ARM)
 	dev->archdata.dma_mask = 0xffffffffUL;
 #endif
 	dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
-- 
1.7.1

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

end of thread, other threads:[~2011-04-20 12:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-20  8:11 [PATCH 7/7] OF: set dma_mask for ARM Kristoffer Glembo
     [not found] ` <4DAE9540.8040006-FkzTOoA/JUlBDgjK7y7TUQ@public.gmane.org>
2011-04-20 12:06   ` Rob Herring
  -- strict thread matches above, loose matches on Subject: below --
2010-11-16 20:33 [PATCH 0/7] Various OF fixes for little-endian and ARM Rob Herring
     [not found] ` <1289939635-30742-1-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-11-16 20:33   ` [PATCH 7/7] OF: set dma_mask for ARM Rob Herring
     [not found]     ` <1289939635-30742-8-git-send-email-robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-11-17  5:24       ` Grant Likely
     [not found]         ` <20101117052448.GC12813-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2011-02-08  3:24           ` Rob Herring

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.