[PATCH 1/1] drm/amdgpu: Enable scatter gather display support
Samuel Li
samuel.li at amd.com
Wed Apr 18 16:21:17 UTC 2018
On 2018-04-18 12:16 PM, Christian König wrote:
> Am 18.04.2018 um 17:29 schrieb Samuel Li:
>>
>> On 2018-04-18 12:14 AM, Alex Deucher wrote:
>>> On Tue, Apr 17, 2018 at 8:40 PM, Samuel Li <Samuel.Li at amd.com> wrote:
>>>> It's auto by default. For CZ/ST, auto setting enables sg display
>>>> when vram size is small; otherwise still uses vram.
>>>> This patch fixed some potention hang issue introduced by change
>>>> "allow framebuffer in GART memory as well" due to CZ/ST hardware
>>>> limitation.
>>>>
>>>
>> OK.
>>
[...]
>
> Mhm, for developer testing we can easily modify amdgpu_display_supported_domains().
>
> The real question is should we give an end user the ability to modify the behavior? I currently can't think of a reason for that.
Yes, we do. For example, there are cases that user prefers GTT(VRAM can run out), also there are cases user prefers VRAM for performance.
Regards,
Sam
>
> Regards,
> Christian.
>
>>
>> Regards,
>> Samuel Li
>>
>>> Alex
>>>
>>>> + }
>>>> +#endif
>>>>
>>>> if (bo->pin_count) {
>>>> uint32_t mem_type = bo->tbo.mem.mem_type;
>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
>>>> index 4b584cb7..cf0749f 100644
>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
>>>> @@ -209,7 +209,7 @@ static int amdgpu_gem_begin_cpu_access(struct dma_buf *dma_buf,
>>>> struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv);
>>>> struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
>>>> struct ttm_operation_ctx ctx = { true, false };
>>>> - u32 domain = amdgpu_display_framebuffer_domains(adev);
>>>> + u32 domain = amdgpu_display_supported_domains(adev);
>>>> int ret;
>>>> bool reads = (direction == DMA_BIDIRECTIONAL ||
>>>> direction == DMA_FROM_DEVICE);
>>>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>>> index 6f92a19..1f5603a 100644
>>>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>>> @@ -3109,12 +3109,11 @@ static int dm_plane_helper_prepare_fb(struct drm_plane *plane,
>>>> return r;
>>>>
>>>> if (plane->type != DRM_PLANE_TYPE_CURSOR)
>>>> - domain = amdgpu_display_framebuffer_domains(adev);
>>>> + domain = amdgpu_display_supported_domains(adev);
>>>> else
>>>> domain = AMDGPU_GEM_DOMAIN_VRAM;
>>>>
>>>> r = amdgpu_bo_pin(rbo, domain, &afb->address);
>>>> -
>>>> amdgpu_bo_unreserve(rbo);
>>>>
>>>> if (unlikely(r != 0)) {
>>>> --
>>>> 2.7.4
>>>>
>>>> _______________________________________________
>>>> amd-gfx mailing list
>>>> amd-gfx at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>
More information about the amd-gfx
mailing list