[PATCH 6/8] drm/amd/display: enable GPU VM support
harry.wentland at amd.com
Fri Oct 27 15:40:31 UTC 2017
On 2017-10-27 10:48 AM, Christian König wrote:
> Am 27.10.2017 um 16:37 schrieb Harry Wentland:
>> On 2017-10-26 12:06 PM, Christian König wrote:
>>> From: Christian König <christian.koenig at amd.com>
>>> Just set the bit so that DC does the hardware programming.
>>> Signed-off-by: Christian König <christian.koenig at amd.com>
>>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>> 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 2188f20..ed4351a 100644
>>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>>> @@ -417,6 +417,8 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
>>> init_data.dce_environment = DCE_ENV_PRODUCTION_DRV;
>>> + init_data.flags.gpu_vm_support = true;
>> Hi Christian,
>> what ASIC has this been tested on?
>> I'm not sure that this won't break dGPU. dGPU doesn't have vm_support but I think DC will still try to write the same registers as for CZ on dGPU if we enable this. We at least need to make sure it doesn't blow up.
> Yeah, as Tom already stumbled over as well it causes a warning on Tonga. Currently giving it a spin on Polaris.
>> As for Raven we use this flag on Windows but only tested the case where VM is actually programmed. If VM isn't programmed it might still work but we'd need to give that a spin.
> Without this flag tilling fails and only displays a quite unusual pattern.
> I would actually prefer if we can completely remove this flag and instead always enable the VM programming on supported hardware.
> Is there any downside on doing so?
The way this flag is currently used is for the base driver (amdgpu on Linux, kmd on Windows) to let us know whether VM is being used or not. The options are
1) amdgpu lets us know whether the framebuffer is in virtual memory or not
2) we assume amdgpu always uses virtual memory on ASICs that support it, set this flag to true (as in this patch) and make sure DC only programs it on ASICs that support it
I'd somewhat prefer option 2 as it's simpler from an amdgpu perspective and also keeps DC consistent.
>>> if (amdgpu_dc_log)
>>> init_data.log_mask = DC_DEFAULT_LOG_MASK;
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
More information about the amd-gfx