[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed4fe238-4fcd-1253-658f-18fe1e1f13b0@gmail.com>
Date: Sat, 13 Aug 2022 09:58:54 +0300
From: Ivaylo Dimitrov <ivo.g.dimitrov.75@...il.com>
To: Yongqin Liu <yongqin.liu@...aro.org>
Cc: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>, tomba@...nel.org,
airlied@...ux.ie, daniel@...ll.ch, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
merlijn@...zup.org, tony@...mide.com,
"Bajjuri, Praneeth" <praneeth@...com>,
Sumit Semwal <sumit.semwal@...aro.org>
Subject: Re: [PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through
DMM/TILER
Hi Liu,
On 12.08.22 г. 7:35 ч., Yongqin Liu wrote:
> Hi, Ivaylo, Tomi
>
> We have one X15 Android AOSP master build, it could not have the home
> screen displayed
> on the hdmi monitor connected with this change, with the following
> message printed on the serial console
> [ 607.404205] omapdrm omapdrm.0: Failed to setup plane plane-0
> [ 607.410522] omapdrm omapdrm.0: Failed to setup plane plane-1
> [ 607.416381] omapdrm omapdrm.0: Failed to setup plane plane-2
> [ 607.422088] omapdrm omapdrm.0: Failed to setup plane plane-3
>
> # for details, please check the link here: http://ix.io/47m1
>
> It will work with home screen displayed on the hdmi monitor if this
> change is reverted.
>
> Is this the broken problem you talked about here?
>
> And could you please give some suggestions on how to have the x15
> Android build work with this change?
>
Make sure scanout (i.e. those to be displayed) buffers are actually
allocated as such - OMAP_BO_SCANOUT flag must be set when calling
omap_bo_new().
Regards,
Ivo.
> Thanks,
> Yongqin Liu
> On Thu, 17 Feb 2022 at 23:29, Ivaylo Dimitrov
> <ivo.g.dimitrov.75@...il.com> wrote:
>>
>>
>>
>> On 17.02.22 г. 14:46 ч., Tomi Valkeinen wrote:
>>> Hi,
>>>
>>> On 19/01/2022 12:23, Ivaylo Dimitrov wrote:
>>>> On devices with DMM, all allocations are done through either DMM or
>>>> TILER.
>>>> DMM/TILER being a limited resource means that such allocations will start
>>>> to fail before actual free memory is exhausted. What is even worse is
>>>> that
>>>> with time DMM/TILER space gets fragmented to the point that even if we
>>>> have
>>>> enough free DMM/TILER space and free memory, allocation fails because
>>>> there
>>>> is no big enough free block in DMM/TILER space.
>>>>
>>>> Such failures can be easily observed with OMAP xorg DDX, for example -
>>>> starting few GUI applications (so buffers for their windows are
>>>> allocated)
>>>> and then rotating landscape<->portrait while closing and opening new
>>>> windows soon results in allocation failures.
>>>>
>>>> Fix that by mapping buffers through DMM/TILER only when really needed,
>>>> like, for scanout buffers.
>>>
>>> Doesn't this break users that get a buffer from omapdrm and expect it to
>>> be contiguous?
>>>
>>
>> If you mean dumb buffer, then no, this does not break users as dumb
>> buffers are allocated as scanout:
>>
>> https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/omapdrm/omap_gem.c#L603
>>
>> If you mean omap_bo allocated buffers, then if users want
>> linear(scanout) buffer, then they request it explicitly by passing
>> OMAP_BO_SCANOUT.
>>
>> Ivo
>
>
>
Powered by blists - more mailing lists