mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-30 19:20:26 -04:00
drm/xe: Move HW GGTT definitions to dedicated file
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@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240326131042.319-1-michal.wajdeczko@intel.com
This commit is contained in:
14
drivers/gpu/drm/xe/regs/xe_gtt_defs.h
Normal file
14
drivers/gpu/drm/xe/regs/xe_gtt_defs.h
Normal file
@@ -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
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user