[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