[PATCH] drm/xe: Move HW GGTT definitions to dedicated file
Matt Roper
matthew.d.roper at intel.com
Tue Mar 26 23:30:06 UTC 2024
On Tue, Mar 26, 2024 at 02:10:42PM +0100, Michal Wajdeczko wrote:
> It's better to keep all hardware GGTT definitions separated from
> the driver code. It also helps to avoid duplicated definitions.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Matt Roper <matthew.d.roper at intel.com>
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/xe/regs/xe_gtt_defs.h | 14 ++++++++++++++
> drivers/gpu/drm/xe/xe_ggtt.c | 7 +------
> drivers/gpu/drm/xe/xe_guc.c | 4 ++--
> 3 files changed, 17 insertions(+), 8 deletions(-)
> create mode 100644 drivers/gpu/drm/xe/regs/xe_gtt_defs.h
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_gtt_defs.h b/drivers/gpu/drm/xe/regs/xe_gtt_defs.h
> new file mode 100644
> index 000000000000..9196d71bad37
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/regs/xe_gtt_defs.h
> @@ -0,0 +1,14 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#ifndef _XE_GTT_DEFS_H_
> +#define _XE_GTT_DEFS_H_
> +
> +#define XELPG_GGTT_PTE_PAT0 BIT_ULL(52)
> +#define XELPG_GGTT_PTE_PAT1 BIT_ULL(53)
> +
> +#define GUC_GGTT_TOP 0xFEE00000
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c
> index f54523d7d03c..f659af221bd8 100644
> --- a/drivers/gpu/drm/xe/xe_ggtt.c
> +++ b/drivers/gpu/drm/xe/xe_ggtt.c
> @@ -12,6 +12,7 @@
> #include <drm/i915_drm.h>
>
> #include "regs/xe_gt_regs.h"
> +#include "regs/xe_gtt_defs.h"
> #include "regs/xe_regs.h"
> #include "xe_assert.h"
> #include "xe_bo.h"
> @@ -23,12 +24,6 @@
> #include "xe_sriov.h"
> #include "xe_wopcm.h"
>
> -#define XELPG_GGTT_PTE_PAT0 BIT_ULL(52)
> -#define XELPG_GGTT_PTE_PAT1 BIT_ULL(53)
> -
> -/* GuC addresses above GUC_GGTT_TOP also don't map through the GTT */
> -#define GUC_GGTT_TOP 0xFEE00000
> -
> static u64 xelp_ggtt_pte_encode_bo(struct xe_bo *bo, u64 bo_offset,
> u16 pat_index)
> {
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index c558d978462a..77be3bc2d7c0 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -12,6 +12,7 @@
> #include "abi/guc_actions_abi.h"
> #include "abi/guc_errors_abi.h"
> #include "regs/xe_gt_regs.h"
> +#include "regs/xe_gtt_defs.h"
> #include "regs/xe_guc_regs.h"
> #include "xe_bo.h"
> #include "xe_device.h"
> @@ -33,14 +34,13 @@
> #include "xe_wa.h"
> #include "xe_wopcm.h"
>
> -/* GuC addresses above GUC_GGTT_TOP also don't map through the GTT */
> -#define GUC_GGTT_TOP 0xFEE00000
> static u32 guc_bo_ggtt_addr(struct xe_guc *guc,
> struct xe_bo *bo)
> {
> struct xe_device *xe = guc_to_xe(guc);
> u32 addr = xe_bo_ggtt_addr(bo);
>
> + /* GuC addresses above GUC_GGTT_TOP don't map through the GTT */
> xe_assert(xe, addr >= xe_wopcm_size(guc_to_xe(guc)));
> xe_assert(xe, addr < GUC_GGTT_TOP);
> xe_assert(xe, bo->size <= GUC_GGTT_TOP - addr);
> --
> 2.43.0
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list