From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/7] of: setup dma parameters using dma-ranges and dma-coherent
Date: Mon, 21 Apr 2014 11:36:04 -0400 [thread overview]
Message-ID: <53553AE4.8040706@ti.com> (raw)
In-Reply-To: <CAL_JsqJws80+o6E13rQQjEwxOaTvACpmYoa5fvnRwJ7Yry3q0A@mail.gmail.com>
On Monday 21 April 2014 11:35 AM, Rob Herring wrote:
> On Mon, Apr 21, 2014 at 10:13 AM, Santosh Shilimkar
> <santosh.shilimkar@ti.com> wrote:
>> Hi Rob,
>>
>> On Monday 21 April 2014 10:37 AM, Rob Herring wrote:
>>> On Sat, Apr 19, 2014 at 9:32 AM, Santosh Shilimkar
>>> <santosh.shilimkar@ti.com> wrote:
>>>> Here is an updated version of [2] based on discussion. Series introduces
>>>> support for setting up dma parameters based on device tree properties
>>>> like 'dma-ranges' and 'dma-coherent' and also update to ARM 32 bit port.
>>>> Earlier version of the same series is here [1].
>>>>
>>>> The 'dma-ranges' helps to take care of few DMAable system memory restrictions
>>>> by use of dma_pfn_offset which we maintain now per device. Arch code then
>>>> uses it for dma address translations for such cases. We update the
>>>> dma_pfn_offset accordingly during DT the device creation process.The
>>>> 'dma-coherent' property is used to setup arch's coherent dma_ops.
>>>>
>>>> After some off-list discussion with RMK and Arnd, I have now dropped the
>>>> controversial dma_mask setup code from the series which actually isn't blocking
>>>> me as such. Considering rest of the parts of the series are already aligned,
>>>> am hoping to get this version merged for 3.16 merge window.
>>>
>>> Can you briefly describe what the h/w looks like in terms of addresses
>>> for the problem you are trying to solve? Something like: Cpu view of
>>> RAM is X to Y address, X corresponds to DMA address Z. Max DMA address
>>> is ?
>>>
>> Let me try with say 8 GB RAM example
>>
>> CPU view of memory : 0x0000 0008 0000 0000 to 0x0000 000a 0000 0000
>>
>> From above memory range, first 2 GB of memory has an alias 32 bit
>> view in the hardware. Hardware internally map the address issued within
>> that first 2 GB to same memory.
>>
>> DMA view of first 2 GB [ 0x0000 0008 0000 0000 to 0x0000 0008 7fff ffff]
>> is : 0x8000 0000 to 0xffff fffff.
>
> Are you setting ZONE_DMA to be 2GB so allocations stay within DMAable
> memory and that is enough that you don't need to set DMA masks?
>
Yes. Thats right.
Regards,
Santosh
WARNING: multiple messages have this Message-ID (diff)
From: Santosh Shilimkar <santosh.shilimkar-l0cyMroinI0@public.gmane.org>
To: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
Grant Likely
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
Linus Walleij
<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Grygorii Strashko
<grygorii.strashko-l0cyMroinI0@public.gmane.org>
Subject: Re: [PATCH v2 0/7] of: setup dma parameters using dma-ranges and dma-coherent
Date: Mon, 21 Apr 2014 11:36:04 -0400 [thread overview]
Message-ID: <53553AE4.8040706@ti.com> (raw)
In-Reply-To: <CAL_JsqJws80+o6E13rQQjEwxOaTvACpmYoa5fvnRwJ7Yry3q0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Monday 21 April 2014 11:35 AM, Rob Herring wrote:
> On Mon, Apr 21, 2014 at 10:13 AM, Santosh Shilimkar
> <santosh.shilimkar-l0cyMroinI0@public.gmane.org> wrote:
>> Hi Rob,
>>
>> On Monday 21 April 2014 10:37 AM, Rob Herring wrote:
>>> On Sat, Apr 19, 2014 at 9:32 AM, Santosh Shilimkar
>>> <santosh.shilimkar-l0cyMroinI0@public.gmane.org> wrote:
>>>> Here is an updated version of [2] based on discussion. Series introduces
>>>> support for setting up dma parameters based on device tree properties
>>>> like 'dma-ranges' and 'dma-coherent' and also update to ARM 32 bit port.
>>>> Earlier version of the same series is here [1].
>>>>
>>>> The 'dma-ranges' helps to take care of few DMAable system memory restrictions
>>>> by use of dma_pfn_offset which we maintain now per device. Arch code then
>>>> uses it for dma address translations for such cases. We update the
>>>> dma_pfn_offset accordingly during DT the device creation process.The
>>>> 'dma-coherent' property is used to setup arch's coherent dma_ops.
>>>>
>>>> After some off-list discussion with RMK and Arnd, I have now dropped the
>>>> controversial dma_mask setup code from the series which actually isn't blocking
>>>> me as such. Considering rest of the parts of the series are already aligned,
>>>> am hoping to get this version merged for 3.16 merge window.
>>>
>>> Can you briefly describe what the h/w looks like in terms of addresses
>>> for the problem you are trying to solve? Something like: Cpu view of
>>> RAM is X to Y address, X corresponds to DMA address Z. Max DMA address
>>> is ?
>>>
>> Let me try with say 8 GB RAM example
>>
>> CPU view of memory : 0x0000 0008 0000 0000 to 0x0000 000a 0000 0000
>>
>> From above memory range, first 2 GB of memory has an alias 32 bit
>> view in the hardware. Hardware internally map the address issued within
>> that first 2 GB to same memory.
>>
>> DMA view of first 2 GB [ 0x0000 0008 0000 0000 to 0x0000 0008 7fff ffff]
>> is : 0x8000 0000 to 0xffff fffff.
>
> Are you setting ZONE_DMA to be 2GB so allocations stay within DMAable
> memory and that is enough that you don't need to set DMA masks?
>
Yes. Thats right.
Regards,
Santosh
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: Rob Herring <robherring2@gmail.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Russell King <linux@arm.linux.org.uk>,
Arnd Bergmann <arnd@arndb.de>, Olof Johansson <olof@lixom.net>,
Grant Likely <grant.likely@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Linus Walleij <linus.walleij@linaro.org>,
Grygorii Strashko <grygorii.strashko@ti.com>
Subject: Re: [PATCH v2 0/7] of: setup dma parameters using dma-ranges and dma-coherent
Date: Mon, 21 Apr 2014 11:36:04 -0400 [thread overview]
Message-ID: <53553AE4.8040706@ti.com> (raw)
In-Reply-To: <CAL_JsqJws80+o6E13rQQjEwxOaTvACpmYoa5fvnRwJ7Yry3q0A@mail.gmail.com>
On Monday 21 April 2014 11:35 AM, Rob Herring wrote:
> On Mon, Apr 21, 2014 at 10:13 AM, Santosh Shilimkar
> <santosh.shilimkar@ti.com> wrote:
>> Hi Rob,
>>
>> On Monday 21 April 2014 10:37 AM, Rob Herring wrote:
>>> On Sat, Apr 19, 2014 at 9:32 AM, Santosh Shilimkar
>>> <santosh.shilimkar@ti.com> wrote:
>>>> Here is an updated version of [2] based on discussion. Series introduces
>>>> support for setting up dma parameters based on device tree properties
>>>> like 'dma-ranges' and 'dma-coherent' and also update to ARM 32 bit port.
>>>> Earlier version of the same series is here [1].
>>>>
>>>> The 'dma-ranges' helps to take care of few DMAable system memory restrictions
>>>> by use of dma_pfn_offset which we maintain now per device. Arch code then
>>>> uses it for dma address translations for such cases. We update the
>>>> dma_pfn_offset accordingly during DT the device creation process.The
>>>> 'dma-coherent' property is used to setup arch's coherent dma_ops.
>>>>
>>>> After some off-list discussion with RMK and Arnd, I have now dropped the
>>>> controversial dma_mask setup code from the series which actually isn't blocking
>>>> me as such. Considering rest of the parts of the series are already aligned,
>>>> am hoping to get this version merged for 3.16 merge window.
>>>
>>> Can you briefly describe what the h/w looks like in terms of addresses
>>> for the problem you are trying to solve? Something like: Cpu view of
>>> RAM is X to Y address, X corresponds to DMA address Z. Max DMA address
>>> is ?
>>>
>> Let me try with say 8 GB RAM example
>>
>> CPU view of memory : 0x0000 0008 0000 0000 to 0x0000 000a 0000 0000
>>
>> From above memory range, first 2 GB of memory has an alias 32 bit
>> view in the hardware. Hardware internally map the address issued within
>> that first 2 GB to same memory.
>>
>> DMA view of first 2 GB [ 0x0000 0008 0000 0000 to 0x0000 0008 7fff ffff]
>> is : 0x8000 0000 to 0xffff fffff.
>
> Are you setting ZONE_DMA to be 2GB so allocations stay within DMAable
> memory and that is enough that you don't need to set DMA masks?
>
Yes. Thats right.
Regards,
Santosh
next prev parent reply other threads:[~2014-04-21 15:36 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-19 14:32 [PATCH v2 0/7] of: setup dma parameters using dma-ranges and dma-coherent Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` [PATCH v2 1/7] device: introduce per device dma_pfn_offset Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` [PATCH v2 2/7] of: introduce of_dma_get_range() helper Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-21 15:29 ` Rob Herring
2014-04-21 15:29 ` Rob Herring
2014-04-21 15:29 ` Rob Herring
2014-04-22 14:56 ` Grygorii Strashko
2014-04-22 14:56 ` Grygorii Strashko
2014-04-22 14:56 ` Grygorii Strashko
2014-04-22 4:09 ` Joel Fernandes
2014-04-22 4:09 ` Joel Fernandes
2014-04-22 4:09 ` Joel Fernandes
2014-04-19 14:32 ` [PATCH v2 3/7] of: introduce of_dma_is_coherent() helper Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` [PATCH v2 4/7] of: configure the platform device dma parameters Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-21 14:58 ` Rob Herring
2014-04-21 14:58 ` Rob Herring
2014-04-21 14:58 ` Rob Herring
2014-04-22 15:09 ` Grygorii Strashko
2014-04-22 15:09 ` Grygorii Strashko
2014-04-22 15:09 ` Grygorii Strashko
2014-04-22 14:44 ` Rob Herring
2014-04-22 14:44 ` Rob Herring
2014-04-22 14:44 ` Rob Herring
2014-04-22 15:44 ` Grygorii Strashko
2014-04-22 15:44 ` Grygorii Strashko
2014-04-19 14:32 ` [PATCH v2 5/7] ARM: dma: Use dma_pfn_offset for dma address translation Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 19:43 ` Russell King - ARM Linux
2014-04-19 19:43 ` Russell King - ARM Linux
2014-04-19 19:43 ` Russell King - ARM Linux
2014-04-21 13:38 ` Santosh Shilimkar
2014-04-21 13:38 ` Santosh Shilimkar
2014-04-21 13:38 ` Santosh Shilimkar
2014-04-19 14:32 ` [PATCH v2 6/7] ARM: dma: implement set_arch_dma_coherent_ops() Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` [PATCH v2 7/7] ARM: mm: use phys_addr_t in __dma_page_[cpu_to_dev/dev_to_cpu] Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-19 14:32 ` Santosh Shilimkar
2014-04-21 13:39 ` Santosh Shilimkar
2014-04-21 13:39 ` Santosh Shilimkar
2014-04-21 13:39 ` Santosh Shilimkar
2014-04-19 16:25 ` [PATCH v2 0/7] of: setup dma parameters using dma-ranges and dma-coherent Thomas Petazzoni
2014-04-19 16:25 ` Thomas Petazzoni
2014-04-19 16:25 ` Thomas Petazzoni
2014-04-21 13:35 ` Santosh Shilimkar
2014-04-21 13:35 ` Santosh Shilimkar
2014-04-21 13:35 ` Santosh Shilimkar
2014-04-21 18:19 ` Thomas Petazzoni
2014-04-21 18:19 ` Thomas Petazzoni
2014-04-21 19:17 ` Santosh Shilimkar
2014-04-21 19:17 ` Santosh Shilimkar
2014-04-21 19:17 ` Santosh Shilimkar
2014-04-22 14:54 ` Catalin Marinas
2014-04-22 14:54 ` Catalin Marinas
2014-04-22 15:02 ` Arnd Bergmann
2014-04-22 15:02 ` Arnd Bergmann
2014-04-22 15:02 ` Arnd Bergmann
2014-04-22 15:15 ` Santosh Shilimkar
2014-04-22 15:15 ` Santosh Shilimkar
2014-04-22 15:15 ` Santosh Shilimkar
2014-04-22 15:25 ` Catalin Marinas
2014-04-22 15:25 ` Catalin Marinas
2014-04-22 15:25 ` Catalin Marinas
2014-04-22 15:30 ` Rob Herring
2014-04-22 15:30 ` Rob Herring
2014-04-22 15:30 ` Rob Herring
2014-04-22 16:01 ` Catalin Marinas
2014-04-22 16:01 ` Catalin Marinas
2014-04-22 16:01 ` Catalin Marinas
2014-04-21 14:37 ` Rob Herring
2014-04-21 14:37 ` Rob Herring
2014-04-21 14:37 ` Rob Herring
2014-04-21 15:13 ` Santosh Shilimkar
2014-04-21 15:13 ` Santosh Shilimkar
2014-04-21 15:35 ` Rob Herring
2014-04-21 15:35 ` Rob Herring
2014-04-21 15:35 ` Rob Herring
2014-04-21 15:36 ` Santosh Shilimkar [this message]
2014-04-21 15:36 ` Santosh Shilimkar
2014-04-21 15:36 ` Santosh Shilimkar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53553AE4.8040706@ti.com \
--to=santosh.shilimkar@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.