[PATCH 1/4] drm/amdgpu: add S/G display parameter

Harry Wentland harry.wentland at amd.com
Thu Feb 9 14:47:23 UTC 2023


On 2/9/23 09:37, Christian König wrote:
> Am 09.02.23 um 15:11 schrieb Alex Deucher:
>> Some users have reported flickerng with S/G display.  We've
>> tried extensively to reproduce and debug the issue on a wide
>> variety of platform configurations (DRAM bandwidth, etc.) and
>> a variety of monitors, but so far have not been able to.  We
>> disabled S/G display on a number of platforms to address this
>> but that leads to failure to pin framebuffers errors and
>> blank displays when there is memory pressure or no displays
>> at all on systems with limited carveout (e.g., Chromebooks).
>> Add a option to disable this as a debugging option as a
>> way for users to disable this, depending on their use case,
>> and for us to help debug this further.
>>
>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> 
> Acked-by: Christian König <christian.koenig at amd.com> for the series.
> 

Series is
Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry

>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu.h               |  1 +
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c           | 11 +++++++++++
>>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  3 +++
>>   3 files changed, 15 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> index 64f9cc6fbbf0..187597024c1e 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> @@ -242,6 +242,7 @@ extern int amdgpu_num_kcq;
>>     #define AMDGPU_VCNFW_LOG_SIZE (32 * 1024)
>>   extern int amdgpu_vcnfw_log;
>> +extern int amdgpu_sg_display;
>>     extern int amdgpu_force_sg_display;
>>   diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> index fa3788bb6a2c..afa5c39c9c74 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> @@ -188,6 +188,7 @@ int amdgpu_num_kcq = -1;
>>   int amdgpu_smartshift_bias;
>>   int amdgpu_use_xgmi_p2p = 1;
>>   int amdgpu_vcnfw_log;
>> +int amdgpu_sg_display = -1; /* auto */
>>     static void amdgpu_drv_delayed_reset_work_handler(struct work_struct *work);
>>   @@ -933,6 +934,16 @@ module_param_named(num_kcq, amdgpu_num_kcq, int, 0444);
>>   MODULE_PARM_DESC(vcnfw_log, "Enable vcnfw log(0 = disable (default value), 1 = enable)");
>>   module_param_named(vcnfw_log, amdgpu_vcnfw_log, int, 0444);
>>   +/**
>> + * DOC: sg_display (int)
>> + * Disable S/G (scatter/gather) display (i.e., display from system memory).
>> + * This option is only relevant on APUs.  Set this option to 0 to disable
>> + * S/G display if you experience flickering or other issues under memory
>> + * pressure and report the issue.
>> + */
>> +MODULE_PARM_DESC(sg_display, "S/G Display (-1 = auto (default), 0 = disable)");
>> +module_param_named(sg_display, amdgpu_sg_display, int, 0444);
>> +
>>   /**
>>    * DOC: smu_pptable_id (int)
>>    * Used to override pptable id. id = 0 use VBIOS pptable.
>> 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 bf06875e6a01..1babdfaa789a 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> @@ -1576,6 +1576,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
>>           }
>>           break;
>>       }
>> +    if (init_data.flags.gpu_vm_support &&
>> +        (amdgpu_sg_display == 0))
>> +        adev->mode_info.gpu_vm_support = false;
>>         if (init_data.flags.gpu_vm_support)
>>           adev->mode_info.gpu_vm_support = true;
> 



More information about the amd-gfx mailing list