[PATCH] drm/amdgpu/virtual_dce: Need to pin the fb's bo
Deng, Emily
Emily.Deng at amd.com
Fri Dec 21 09:32:12 UTC 2018
>-----Original Message-----
>From: Michel Dänzer <michel at daenzer.net>
>Sent: Friday, December 21, 2018 5:28 PM
>To: Deng, Emily <Emily.Deng at amd.com>
>Cc: amd-gfx at lists.freedesktop.org
>Subject: Re: [PATCH] drm/amdgpu/virtual_dce: Need to pin the fb's bo
>
>On 2018-12-21 10:17 a.m., Deng, Emily wrote:
>>> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
>>> Deng, Emily
>>>> From: Michel Dänzer <michel at daenzer.net> On 2018-12-21 9:45 a.m.,
>>>> Deng, Emily wrote:
>>>>>> From: Michel Dänzer <michel at daenzer.net> On 2018-12-21 8:26 a.m.,
>>>>>> Emily Deng wrote:
>>>>>>> When the bo is used to set mode, the bo need to be pinned.
>>>>>>
>>>>>> On second thought, why does the BO need to be pinned? When using
>>>>>> the display hardware, the BO needs to be pinned to prevent it from
>>>>>> being moved while the hardware is scanning out from it, but that
>>>>>> shouldn't be
>>>> necessary here.
>>>>> The pin here is used for scan out the buffer by remote display app.
>>>>
>>>> I still don't understand why pinning is needed. What mechanism does
>>>> the remote display app use to access the BO contents?
>>> Sorry, I am not familiar with the remote display app. Maybe it will
>>> use drm ioctl function to get the current crtc's fb's information,
>>> and get the content in the fb's buffer object by mmap or translate
>>> the bo to an OpenGL texture for next rendering. Maybe don't need to
>>> pin the bo here, as the use has no different with other normal bos.
>>> So please ignore the patch, and will send another patch to remove the unpin
>the fb's bo code.
>> It seems to be hard to remove all the pin for virtual_dce, as it uses some
>common code in amdgpu_display.c.
>
>Because of amdgpu_display_unpin_work_func? That might be as simple as
>replacing
>
> schedule_work(&works->unpin_work);
>
>with
>
> kfree(works->shared);
> kfree(works);
>
>in dce_virtual_pageflip.
But the amdgpu_display_crtc_page_flip_target will pin the new_bo, then we don't need to unpin it?
Best wishes
Emily Deng
>
>
>--
>Earthling Michel Dänzer | http://www.amd.com
>Libre software enthusiast | Mesa and X developer
More information about the amd-gfx
mailing list