All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andrew F. Davis" <afd@ti.com>
To: Ayan Halder <Ayan.Halder@arm.com>, John Stultz <john.stultz@linaro.org>
Cc: Brian Starkey <Brian.Starkey@arm.com>, nd <nd@arm.com>,
	Sudipto Paul <Sudipto.Paul@arm.com>,
	Vincent Donnefort <Vincent.Donnefort@arm.com>,
	Chenbo Feng <fengc@google.com>,
	Alistair Strachan <astrachan@google.com>,
	Liam Mark <lmark@codeaurora.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	DRI mailing list <dri-devel@lists.freedesktop.org>,
	Hridya Valsaraju <hridya@google.com>,
	Pratik Patel <pratikp@codeaurora.org>
Subject: Re: [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION)
Date: Sat, 19 Oct 2019 09:41:27 -0400	[thread overview]
Message-ID: <2c60496c-d536-05e7-bbf6-ca718b8142bd@ti.com> (raw)
In-Reply-To: <20191018185723.GA27993@arm.com>

On 10/18/19 2:57 PM, Ayan Halder wrote:
> On Fri, Oct 18, 2019 at 11:49:22AM -0700, John Stultz wrote:
>> On Fri, Oct 18, 2019 at 11:41 AM Ayan Halder <Ayan.Halder@arm.com> wrote:
>>> On Fri, Oct 18, 2019 at 09:55:17AM +0000, Brian Starkey wrote:
>>>> On Thu, Oct 17, 2019 at 01:57:45PM -0700, John Stultz wrote:
>>>>> On Thu, Oct 17, 2019 at 12:29 PM Andrew F. Davis <afd@ti.com> wrote:
>>>>>> On 10/17/19 3:14 PM, John Stultz wrote:
>>>>>>> But if the objection stands, do you have a proposal for an alternative
>>>>>>> way to enumerate a subset of CMA heaps?
>>>>>>>
>>>>>> When in staging ION had to reach into the CMA framework as the other
>>>>>> direction would not be allowed, so cma_for_each_area() was added. If
>>>>>> DMA-BUF heaps is not in staging then we can do the opposite, and have
>>>>>> the CMA framework register heaps itself using our framework. That way
>>>>>> the CMA system could decide what areas to export or not (maybe based on
>>>>>> a DT property or similar).
>>>>>
>>>>> Ok. Though the CMA core doesn't have much sense of DT details either,
>>>>> so it would probably have to be done in the reserved_mem logic, which
>>>>> doesn't feel right to me.
>>>>>
>>>>> I'd probably guess we should have some sort of dt binding to describe
>>>>> a dmabuf cma heap and from that node link to a CMA node via a
>>>>> memory-region phandle. Along with maybe the default heap as well? Not
>>>>> eager to get into another binding review cycle, and I'm not sure what
>>>>> non-DT systems will do yet, but I'll take a shot at it and iterate.
>>>>>
>>>>>> The end result is the same so we can make this change later (it has to
>>>>>> come after DMA-BUF heaps is in anyway).
>>>>>
>>>>> Well, I'm hesitant to merge code that exposes all the CMA heaps and
>>>>> then add patches that becomes more selective, should anyone depend on
>>>>> the initial behavior. :/
>>>>
>>>> How about only auto-adding the system default CMA region (cma->name ==
>>>> "reserved")?
>>>>
>>>> And/or the CMA auto-add could be behind a config option? It seems a
>>>> shame to further delay this, and the CMA heap itself really is useful.
>>>>
>>> A bit of a detour, comming back to the issue why the following node
>>> was not getting detected by the dma-buf heaps framework.
>>>
>>>         reserved-memory {
>>>                 #address-cells = <2>;
>>>                 #size-cells = <2>;
>>>                 ranges;
>>>
>>>                 display_reserved: framebuffer@60000000 {
>>>                         compatible = "shared-dma-pool";
>>>                         linux,cma-default;
>>>                         reusable; <<<<<<<<<<<<-----------This was missing in our
>>> earlier node
>>>                         reg = <0 0x60000000 0 0x08000000>;
>>>                 };
>>
>> Right. It has to be a CMA region for us to expose it from the cma heap.
>>
>>
>>> With 'reusable', rmem_cma_setup() succeeds , but the kernel crashes as follows :-
>>>
>>> [    0.450562] WARNING: CPU: 2 PID: 1 at mm/cma.c:110 cma_init_reserved_areas+0xec/0x22c
>>
>> Is the value 0x60000000 you're using something you just guessed at? It
>> seems like the warning here is saying the pfn calculated from the base
>> address isn't valid.
> It is a valid memory region we use to allocate framebuffers.


But does it have a valid kernel virtual mapping? Most ARM systems (just
assuming you are working on ARM :)) that I'm familiar with have the DRAM
space starting at 0x80000000 and so don't start having valid pfns until
that point. Is this address you are reserving an SRAM?

Andrew


>>
>> thanks
>> -john

WARNING: multiple messages have this Message-ID (diff)
From: "Andrew F. Davis" <afd@ti.com>
To: Ayan Halder <Ayan.Halder@arm.com>, John Stultz <john.stultz@linaro.org>
Cc: Sudipto Paul <Sudipto.Paul@arm.com>,
	Vincent Donnefort <Vincent.Donnefort@arm.com>,
	Chenbo Feng <fengc@google.com>,
	Alistair Strachan <astrachan@google.com>,
	Liam Mark <lmark@codeaurora.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	DRI mailing list <dri-devel@lists.freedesktop.org>,
	Hridya Valsaraju <hridya@google.com>, nd <nd@arm.com>,
	Pratik Patel <pratikp@codeaurora.org>
Subject: Re: [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION)
Date: Sat, 19 Oct 2019 09:41:27 -0400	[thread overview]
Message-ID: <2c60496c-d536-05e7-bbf6-ca718b8142bd@ti.com> (raw)
In-Reply-To: <20191018185723.GA27993@arm.com>

On 10/18/19 2:57 PM, Ayan Halder wrote:
> On Fri, Oct 18, 2019 at 11:49:22AM -0700, John Stultz wrote:
>> On Fri, Oct 18, 2019 at 11:41 AM Ayan Halder <Ayan.Halder@arm.com> wrote:
>>> On Fri, Oct 18, 2019 at 09:55:17AM +0000, Brian Starkey wrote:
>>>> On Thu, Oct 17, 2019 at 01:57:45PM -0700, John Stultz wrote:
>>>>> On Thu, Oct 17, 2019 at 12:29 PM Andrew F. Davis <afd@ti.com> wrote:
>>>>>> On 10/17/19 3:14 PM, John Stultz wrote:
>>>>>>> But if the objection stands, do you have a proposal for an alternative
>>>>>>> way to enumerate a subset of CMA heaps?
>>>>>>>
>>>>>> When in staging ION had to reach into the CMA framework as the other
>>>>>> direction would not be allowed, so cma_for_each_area() was added. If
>>>>>> DMA-BUF heaps is not in staging then we can do the opposite, and have
>>>>>> the CMA framework register heaps itself using our framework. That way
>>>>>> the CMA system could decide what areas to export or not (maybe based on
>>>>>> a DT property or similar).
>>>>>
>>>>> Ok. Though the CMA core doesn't have much sense of DT details either,
>>>>> so it would probably have to be done in the reserved_mem logic, which
>>>>> doesn't feel right to me.
>>>>>
>>>>> I'd probably guess we should have some sort of dt binding to describe
>>>>> a dmabuf cma heap and from that node link to a CMA node via a
>>>>> memory-region phandle. Along with maybe the default heap as well? Not
>>>>> eager to get into another binding review cycle, and I'm not sure what
>>>>> non-DT systems will do yet, but I'll take a shot at it and iterate.
>>>>>
>>>>>> The end result is the same so we can make this change later (it has to
>>>>>> come after DMA-BUF heaps is in anyway).
>>>>>
>>>>> Well, I'm hesitant to merge code that exposes all the CMA heaps and
>>>>> then add patches that becomes more selective, should anyone depend on
>>>>> the initial behavior. :/
>>>>
>>>> How about only auto-adding the system default CMA region (cma->name ==
>>>> "reserved")?
>>>>
>>>> And/or the CMA auto-add could be behind a config option? It seems a
>>>> shame to further delay this, and the CMA heap itself really is useful.
>>>>
>>> A bit of a detour, comming back to the issue why the following node
>>> was not getting detected by the dma-buf heaps framework.
>>>
>>>         reserved-memory {
>>>                 #address-cells = <2>;
>>>                 #size-cells = <2>;
>>>                 ranges;
>>>
>>>                 display_reserved: framebuffer@60000000 {
>>>                         compatible = "shared-dma-pool";
>>>                         linux,cma-default;
>>>                         reusable; <<<<<<<<<<<<-----------This was missing in our
>>> earlier node
>>>                         reg = <0 0x60000000 0 0x08000000>;
>>>                 };
>>
>> Right. It has to be a CMA region for us to expose it from the cma heap.
>>
>>
>>> With 'reusable', rmem_cma_setup() succeeds , but the kernel crashes as follows :-
>>>
>>> [    0.450562] WARNING: CPU: 2 PID: 1 at mm/cma.c:110 cma_init_reserved_areas+0xec/0x22c
>>
>> Is the value 0x60000000 you're using something you just guessed at? It
>> seems like the warning here is saying the pfn calculated from the base
>> address isn't valid.
> It is a valid memory region we use to allocate framebuffers.


But does it have a valid kernel virtual mapping? Most ARM systems (just
assuming you are working on ARM :)) that I'm familiar with have the DRAM
space starting at 0x80000000 and so don't start having valid pfns until
that point. Is this address you are reserving an SRAM?

Andrew


>>
>> thanks
>> -john
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2019-10-19 13:42 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-06 18:47 [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION) John Stultz
2019-09-06 18:47 ` [RESEND][PATCH v8 1/5] dma-buf: Add dma-buf heaps framework John Stultz
2019-09-06 18:47   ` John Stultz
2019-09-23 22:08   ` Brian Starkey
2019-09-23 22:08     ` Brian Starkey
2019-09-24 17:10     ` John Stultz
2019-09-24 17:10       ` John Stultz
2019-09-06 18:47 ` [RESEND][PATCH v8 2/5] dma-buf: heaps: Add heap helpers John Stultz
2019-09-23 22:08   ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 3/5] dma-buf: heaps: Add system heap to dmabuf heaps John Stultz
2019-09-06 18:47   ` John Stultz
2019-09-23 22:09   ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 4/5] dma-buf: heaps: Add CMA " John Stultz
2019-09-06 18:47   ` John Stultz
2019-09-23 22:10   ` Brian Starkey
2019-09-23 22:10     ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 5/5] kselftests: Add dma-heap test John Stultz
2019-09-06 18:47   ` John Stultz
2019-09-23 22:11   ` Brian Starkey
2019-09-26 21:36     ` John Stultz
2019-09-27  9:20       ` Brian Starkey
2019-09-27  9:20         ` Brian Starkey
2019-09-19 16:51 ` [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION) Sumit Semwal
2019-09-19 16:51   ` Sumit Semwal
2019-09-24 16:22   ` Ayan Halder
2019-09-24 16:28     ` John Stultz
2019-10-09 17:37     ` Ayan Halder
2019-10-09 17:37       ` Ayan Halder
2019-10-09 18:27       ` Andrew F. Davis
2019-10-14  9:07         ` Brian Starkey
2019-10-14  9:07           ` Brian Starkey
2019-10-16 17:40           ` Andrew F. Davis
2019-10-16 17:40             ` Andrew F. Davis
2019-10-17 19:14             ` John Stultz
2019-10-17 19:14               ` John Stultz
2019-10-17 19:29               ` Andrew F. Davis
2019-10-17 20:57                 ` John Stultz
2019-10-17 20:57                   ` John Stultz
2019-10-18  9:55                   ` Brian Starkey
2019-10-18  9:55                     ` Brian Starkey
2019-10-18 18:33                     ` John Stultz
2019-10-18 18:41                     ` Ayan Halder
2019-10-18 18:41                       ` Ayan Halder
2019-10-18 18:49                       ` John Stultz
2019-10-18 18:49                         ` John Stultz
2019-10-18 18:57                         ` Ayan Halder
2019-10-18 18:57                           ` Ayan Halder
2019-10-18 19:04                           ` John Stultz
2019-10-19 13:41                           ` Andrew F. Davis [this message]
2019-10-19 13:41                             ` Andrew F. Davis
2019-10-21  9:18                             ` Brian Starkey
2019-10-22 13:51                               ` Ayan Halder
2019-10-22 13:51                                 ` Ayan Halder
2019-10-18 18:51                       ` Ayan Halder
2019-10-16 17:34       ` John Stultz
2019-09-30  3:26 ` [RESEND][PATCH v8 1/5] dma-buf: Add dma-buf heaps framework Hillf Danton
2019-10-02 16:14   ` John Stultz
2019-09-30  7:43 ` [RESEND][PATCH v8 3/5] dma-buf: heaps: Add system heap to dmabuf heaps Hillf Danton
2019-10-01 20:50   ` John Stultz
2019-10-01 20:50     ` John Stultz
2019-09-30  8:14 ` [RESEND][PATCH v8 4/5] dma-buf: heaps: Add CMA " Hillf Danton
2019-10-02 16:15   ` John Stultz
2019-10-02 16:15     ` John Stultz
2019-09-30 13:40 ` [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION) Laura Abbott

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=2c60496c-d536-05e7-bbf6-ca718b8142bd@ti.com \
    --to=afd@ti.com \
    --cc=Ayan.Halder@arm.com \
    --cc=Brian.Starkey@arm.com \
    --cc=Sudipto.Paul@arm.com \
    --cc=Vincent.Donnefort@arm.com \
    --cc=astrachan@google.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=fengc@google.com \
    --cc=hch@infradead.org \
    --cc=hridya@google.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lmark@codeaurora.org \
    --cc=nd@arm.com \
    --cc=pratikp@codeaurora.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.