[PATCH v4 2/4] drm/amdgpu: Create helper to clear AMDGPU_GEM_CREATE_CPU_GTT_USWC
Michel Dänzer
michel at daenzer.net
Wed Jul 24 15:40:47 UTC 2019
On 2019-07-24 5:27 p.m., Andrey Grodzovsky wrote:
> Move the logic to clear AMDGPU_GEM_CREATE_CPU_GTT_USWC in
> amdgpu_bo_do_create into standalone helper so it can be reused
> in other functions.
>
> v4:
> Switch to return bool.
>
> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 61 +++++++++++++++++-------------
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 2 +
> 2 files changed, 37 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index 989b7b5..dafdb68 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -413,6 +413,40 @@ static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,
> return false;
> }
>
> +bool amdgpu_bo_support_uswc(u64 bo_flags)
> +{
> +
> +#ifdef CONFIG_X86_32
> + /* XXX: Write-combined CPU mappings of GTT seem broken on 32-bit
> + * See https://bugs.freedesktop.org/show_bug.cgi?id=84627
> + */
> + return false
Missing semicolon.
> +#elif defined(CONFIG_X86) && !defined(CONFIG_X86_PAT)
> + /* Don't try to enable write-combining when it can't work, or things
> + * may be slow
> + * See https://bugs.freedesktop.org/show_bug.cgi?id=88758
> + */
> +
> +#ifndef CONFIG_COMPILE_TEST
> +#warning Please enable CONFIG_MTRR and CONFIG_X86_PAT for better performance \
> + thanks to write-combining
> +#endif
> +
> + if (bo_flags & AMDGPU_GEM_CREATE_CPU_GTT_USWC)
> + DRM_INFO_ONCE("Please enable CONFIG_MTRR and CONFIG_X86_PAT for "
> + "better performance thanks to write-combining\n");
The AMDGPU_GEM_CREATE_CPU_GTT_USWC check will always pass at some point
due to patch 1, so passing in the flags is kind of pointless. Just do
the DRM_INFO_ONCE unconditionally here.
> @@ -466,33 +500,8 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev,
>
> [...]
>
> + if (amdgpu_bo_support_uswc(bo->flags))
> bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC;
Missing "!".
--
Earthling Michel Dänzer | https://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the amd-gfx
mailing list