[PATCH 1/2] drm/amdgpu: Enable scatter gather display support

Christian König christian.koenig at amd.com
Tue Mar 6 17:11:38 UTC 2018


And exactly that's the problematical assumption.

This doesn't print only when the module is loaded, but rather when a 
framebuffer object is created.

And depending on the use case that can even be many many times per second.

Please remove that printing, addition to that I agree with Michel that 
the module parameter is overkill.

Regards,
Christian.

Am 06.03.2018 um 18:09 schrieb Li, Samuel:
> This information is kind of important, and it only prints once typically when module is loaded.
>
> Regards,
> Samuel Li
>
>
>> -----Original Message-----
>> From: Alex Deucher [mailto:alexdeucher at gmail.com]
>> Sent: Tuesday, March 06, 2018 12:04 PM
>> To: Li, Samuel <Samuel.Li at amd.com>
>> Cc: Koenig, Christian <Christian.Koenig at amd.com>; amd-gfx list <amd-
>> gfx at lists.freedesktop.org>
>> Subject: Re: [PATCH 1/2] drm/amdgpu: Enable scatter gather display support
>>
>> On Tue, Mar 6, 2018 at 11:49 AM, Samuel Li <samuel.li at amd.com> wrote:
>>>>>        domain = amdgpu_display_framebuffer_domains(adev);
>>>>> +    if (domain == AMDGPU_GEM_DOMAIN_GTT) {
>>>>> +        DRM_INFO("Scatter gather display: enabled\n");
>>>>> +    } else if (domain & AMDGPU_GEM_DOMAIN_GTT) {
>>>>> +        DRM_INFO("Scatter gather display: auto\n");
>>>>> +    }
>>>> Dito and printing that here is not a good idea as far as I can see.
>>>>
>>>> Christian.
>>>
>>> The intention here is to print out when fb is created. You have other
>> suggestions?
>>
>> Make it DRM_DEBUG?  otherwise you'll spam the logs.
>>
>>> Sam
>>>
>>>
>>> On 2018-03-03 08:41 AM, Christian König wrote:
>>>> Am 03.03.2018 um 00:25 schrieb Samuel Li:
>>>>> It's enabled by default. -1 is auto, to allow both vram and gtt
>>>>> memory be available, for testing purpose only.
>>>>> ---
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu.h         | 1 +
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 9 +++++++--
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c     | 4 ++++
>>>>>    drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c      | 5 +++++
>>>>>    4 files changed, 17 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>>>> index 292c7e7..6b0ee34 100644
>>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>>>>> @@ -129,6 +129,7 @@ extern int amdgpu_lbpw;
>>>>>    extern int amdgpu_compute_multipipe;
>>>>>    extern int amdgpu_gpu_recovery;
>>>>>    extern int amdgpu_emu_mode;
>>>>> +extern int amdgpu_sg_display;
>>>>>      #ifdef CONFIG_DRM_AMDGPU_SI
>>>>>    extern int amdgpu_si_support;
>>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
>>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
>>>>> index 5495b29..dfa11b1 100644
>>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
>>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
>>>>> @@ -513,8 +513,13 @@ uint32_t
>> amdgpu_display_framebuffer_domains(struct amdgpu_device *adev)
>>>>>    #if defined(CONFIG_DRM_AMD_DC)
>>>>>        if (adev->asic_type >= CHIP_CARRIZO && adev->asic_type <
>> CHIP_RAVEN &&
>>>>>            adev->flags & AMD_IS_APU &&
>>>>> -        amdgpu_device_asic_has_dc_support(adev->asic_type))
>>>>> -        domain |= AMDGPU_GEM_DOMAIN_GTT;
>>>>> +        amdgpu_device_asic_has_dc_support(adev->asic_type)) {
>>>>> +        if (amdgpu_sg_display == 1) {
>>>>> +            domain = AMDGPU_GEM_DOMAIN_GTT;
>>>>> +        } else if (amdgpu_sg_display == -1) {
>>>>> +            domain |= AMDGPU_GEM_DOMAIN_GTT;
>>>>> +        }
>>>> Coding style, that if shouldn't use "{" and "}".
>>>>
>>>>> +    }
>>>>>    #endif
>>>>>          return domain;
>>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>>>>> index e670936..f0ada24 100644
>>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>>>>> @@ -132,6 +132,7 @@ int amdgpu_lbpw = -1;
>>>>>    int amdgpu_compute_multipipe = -1;
>>>>>    int amdgpu_gpu_recovery = -1; /* auto */
>>>>>    int amdgpu_emu_mode = 0;
>>>>> +int amdgpu_sg_display = 1;
>>>>>      MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in
>> megabytes");
>>>>>    module_param_named(vramlimit, amdgpu_vram_limit, int, 0600); @@
>>>>> -290,6 +291,9 @@ module_param_named(gpu_recovery,
>> amdgpu_gpu_recovery, int, 0444);
>>>>>    MODULE_PARM_DESC(emu_mode, "Emulation mode, (1 = enable, 0 =
>> disable)");
>>>>>    module_param_named(emu_mode, amdgpu_emu_mode, int, 0444);
>>>>>    +MODULE_PARM_DESC(sg_display, "Enable scatter gather display, (1 =
>>>>> enable, 0 = disable, -1 = auto");
>>>>> +module_param_named(sg_display, amdgpu_sg_display, int, 0444);
>>>>> +
>>>>>    #ifdef CONFIG_DRM_AMDGPU_SI
>>>>>      #if defined(CONFIG_DRM_RADEON) ||
>>>>> defined(CONFIG_DRM_RADEON_MODULE) diff --git
>>>>> a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
>>>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
>>>>> index 1206301..10f1f4f 100644
>>>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
>>>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
>>>>> @@ -138,6 +138,11 @@ static int
>> amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
>>>>>        mode_cmd->pitches[0] = amdgpu_align_pitch(adev, mode_cmd-
>>> width, cpp,
>>>>>                              fb_tiled);
>>>>>        domain = amdgpu_display_framebuffer_domains(adev);
>>>>> +    if (domain == AMDGPU_GEM_DOMAIN_GTT) {
>>>>> +        DRM_INFO("Scatter gather display: enabled\n");
>>>>> +    } else if (domain & AMDGPU_GEM_DOMAIN_GTT) {
>>>>> +        DRM_INFO("Scatter gather display: auto\n");
>>>>> +    }
>>>> Dito and printing that here is not a good idea as far as I can see.
>>>>
>>>> Christian.
>>>>
>>>>>          height = ALIGN(mode_cmd->height, 8);
>>>>>        size = mode_cmd->pitches[0] * height;
>>> _______________________________________________
>>> 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