On 2018-12-21 10:17 a.m., Deng, Emily wrote:
>> From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> On Behalf Of Deng,
>> Emily
>>> From: Michel Dänzer <mic...@daenzer.net>
>>> On 2018-12-21 9:45 a.m., Deng, Emily wrote:
>>>>> From: Michel Dänzer <mic...@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.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to