[PATCH 2/5] drm/xe: Move BAR definitions to dedicated file
Matt Roper
matthew.d.roper at intel.com
Tue May 28 21:18:39 UTC 2024
On Mon, May 27, 2024 at 07:35:51PM +0200, Michal Wajdeczko wrote:
> We should keep all hardware definitions separated from the driver
> code. Move LMEM_BAR definition to new regs/xe_bars.h file and also
> add there GTTMMADR_BAR definition to avoid using magic 0 resource.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/xe/regs/xe_bars.h | 11 +++++++++++
> drivers/gpu/drm/xe/xe_mmio.c | 3 ++-
> drivers/gpu/drm/xe/xe_mmio.h | 2 --
> drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 1 +
> 4 files changed, 14 insertions(+), 3 deletions(-)
> create mode 100644 drivers/gpu/drm/xe/regs/xe_bars.h
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_bars.h b/drivers/gpu/drm/xe/regs/xe_bars.h
> new file mode 100644
> index 000000000000..ce05b6ae832f
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/regs/xe_bars.h
It seems like we're starting to put stuff in this folder that isn't
technically (or exclusively) "regs" anymore. We might want to rename or
reorganize the folder at some point down the road. Anyway, this seems
fine for the time being.
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
Matt
> @@ -0,0 +1,11 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2024 Intel Corporation
> + */
> +#ifndef _XE_BARS_H_
> +#define _XE_BARS_H_
> +
> +#define GTTMMADR_BAR 0 /* MMIO + GTT */
> +#define LMEM_BAR 2 /* VRAM */
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
> index 44bff104c011..1272246dd8a3 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.c
> +++ b/drivers/gpu/drm/xe/xe_mmio.c
> @@ -12,6 +12,7 @@
> #include <drm/drm_managed.h>
> #include <drm/xe_drm.h>
>
> +#include "regs/xe_bars.h"
> #include "regs/xe_engine_regs.h"
> #include "regs/xe_gt_regs.h"
> #include "regs/xe_regs.h"
> @@ -435,7 +436,7 @@ int xe_mmio_init(struct xe_device *xe)
> * registers (0-4MB), reserved space (4MB-8MB) and GGTT (8MB-16MB).
> */
> xe->mmio.size = pci_resource_len(pdev, mmio_bar);
> - xe->mmio.regs = pci_iomap(pdev, mmio_bar, 0);
> + xe->mmio.regs = pci_iomap(pdev, mmio_bar, GTTMMADR_BAR);
> if (xe->mmio.regs == NULL) {
> drm_err(&xe->drm, "failed to map registers\n");
> return -EIO;
> diff --git a/drivers/gpu/drm/xe/xe_mmio.h b/drivers/gpu/drm/xe/xe_mmio.h
> index 1d578fd6ffc2..6ae0cc32c651 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.h
> +++ b/drivers/gpu/drm/xe/xe_mmio.h
> @@ -11,8 +11,6 @@
> struct xe_device;
> struct xe_reg;
>
> -#define LMEM_BAR 2
> -
> int xe_mmio_init(struct xe_device *xe);
> int xe_mmio_probe_tiles(struct xe_device *xe);
>
> diff --git a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
> index 64592a8e527b..f46fd2df84de 100644
> --- a/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
> +++ b/drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
> @@ -13,6 +13,7 @@
>
> #include <generated/xe_wa_oob.h>
>
> +#include "regs/xe_bars.h"
> #include "regs/xe_gt_regs.h"
> #include "regs/xe_regs.h"
> #include "xe_bo.h"
> --
> 2.43.0
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list