From 3d78923bd07ad99a33b06eaa69194b35ac1637f1 Mon Sep 17 00:00:00 2001 From: Michal Wajdeczko Date: Wed, 15 Nov 2023 15:15:23 +0100 Subject: drm/xe/guc: Promote guc_to_gt/xe helpers to .h Duplicating these helpers in almost every .c file is a bad idea. Define them as inlines in .h file to allow proper reuse. Signed-off-by: Michal Wajdeczko Cc: Rodrigo Vivi Cc: Jani Nikula Reviewed-by: Matthew Brost Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/xe_gt_pagefault.c | 6 ------ drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c | 6 ------ drivers/gpu/drm/xe/xe_guc.c | 12 ------------ drivers/gpu/drm/xe/xe_guc.h | 11 +++++++++++ drivers/gpu/drm/xe/xe_guc_debugfs.c | 12 ------------ drivers/gpu/drm/xe/xe_guc_hwconfig.c | 12 ------------ drivers/gpu/drm/xe/xe_guc_submit.c | 12 ------------ 7 files changed, 11 insertions(+), 60 deletions(-) (limited to 'drivers/gpu/drm') diff --git a/drivers/gpu/drm/xe/xe_gt_pagefault.c b/drivers/gpu/drm/xe/xe_gt_pagefault.c index 9fcbf8773b8b..1e083dda0679 100644 --- a/drivers/gpu/drm/xe/xe_gt_pagefault.c +++ b/drivers/gpu/drm/xe/xe_gt_pagefault.c @@ -59,12 +59,6 @@ struct acc { u8 engine_instance; }; -static struct xe_gt * -guc_to_gt(struct xe_guc *guc) -{ - return container_of(guc, struct xe_gt, uc.guc); -} - static bool access_is_atomic(enum access_type access_type) { return access_type == ACCESS_TYPE_ATOMIC; diff --git a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c index b5c39c55e1fa..a28f31c05b1b 100644 --- a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c +++ b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c @@ -13,12 +13,6 @@ #define TLB_TIMEOUT (HZ / 4) -static struct xe_gt * -guc_to_gt(struct xe_guc *guc) -{ - return container_of(guc, struct xe_gt, uc.guc); -} - static void xe_gt_tlb_fence_timeout(struct work_struct *work) { struct xe_gt *gt = container_of(work, struct xe_gt, diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c index 84f0b5488783..311c5d539423 100644 --- a/drivers/gpu/drm/xe/xe_guc.c +++ b/drivers/gpu/drm/xe/xe_guc.c @@ -27,18 +27,6 @@ #include "xe_wa.h" #include "xe_wopcm.h" -static struct xe_gt * -guc_to_gt(struct xe_guc *guc) -{ - return container_of(guc, struct xe_gt, uc.guc); -} - -static struct xe_device * -guc_to_xe(struct xe_guc *guc) -{ - return gt_to_xe(guc_to_gt(guc)); -} - /* 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, diff --git a/drivers/gpu/drm/xe/xe_guc.h b/drivers/gpu/drm/xe/xe_guc.h index 3addd8fc674a..d3e49e7fd7c3 100644 --- a/drivers/gpu/drm/xe/xe_guc.h +++ b/drivers/gpu/drm/xe/xe_guc.h @@ -6,6 +6,7 @@ #ifndef _XE_GUC_H_ #define _XE_GUC_H_ +#include "xe_gt.h" #include "xe_guc_types.h" #include "xe_hw_engine_types.h" #include "xe_macros.h" @@ -58,4 +59,14 @@ static inline u16 xe_engine_class_to_guc_class(enum xe_engine_class class) } } +static inline struct xe_gt *guc_to_gt(struct xe_guc *guc) +{ + return container_of(guc, struct xe_gt, uc.guc); +} + +static inline struct xe_device *guc_to_xe(struct xe_guc *guc) +{ + return gt_to_xe(guc_to_gt(guc)); +} + #endif diff --git a/drivers/gpu/drm/xe/xe_guc_debugfs.c b/drivers/gpu/drm/xe/xe_guc_debugfs.c index 167eb5593e03..ffd7d53bcc42 100644 --- a/drivers/gpu/drm/xe/xe_guc_debugfs.c +++ b/drivers/gpu/drm/xe/xe_guc_debugfs.c @@ -15,18 +15,6 @@ #include "xe_guc_log.h" #include "xe_macros.h" -static struct xe_gt * -guc_to_gt(struct xe_guc *guc) -{ - return container_of(guc, struct xe_gt, uc.guc); -} - -static struct xe_device * -guc_to_xe(struct xe_guc *guc) -{ - return gt_to_xe(guc_to_gt(guc)); -} - static struct xe_guc *node_to_guc(struct drm_info_node *node) { return node->info_ent->data; diff --git a/drivers/gpu/drm/xe/xe_guc_hwconfig.c b/drivers/gpu/drm/xe/xe_guc_hwconfig.c index 76aed9c348ab..57d325ec8ce3 100644 --- a/drivers/gpu/drm/xe/xe_guc_hwconfig.c +++ b/drivers/gpu/drm/xe/xe_guc_hwconfig.c @@ -13,18 +13,6 @@ #include "xe_guc.h" #include "xe_map.h" -static struct xe_gt * -guc_to_gt(struct xe_guc *guc) -{ - return container_of(guc, struct xe_gt, uc.guc); -} - -static struct xe_device * -guc_to_xe(struct xe_guc *guc) -{ - return gt_to_xe(guc_to_gt(guc)); -} - static int send_get_hwconfig(struct xe_guc *guc, u32 ggtt_addr, u32 size) { u32 action[] = { diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c index 8d5af11fb80d..b13c925c56ee 100644 --- a/drivers/gpu/drm/xe/xe_guc_submit.c +++ b/drivers/gpu/drm/xe/xe_guc_submit.c @@ -36,18 +36,6 @@ #include "xe_trace.h" #include "xe_vm.h" -static struct xe_gt * -guc_to_gt(struct xe_guc *guc) -{ - return container_of(guc, struct xe_gt, uc.guc); -} - -static struct xe_device * -guc_to_xe(struct xe_guc *guc) -{ - return gt_to_xe(guc_to_gt(guc)); -} - static struct xe_guc * exec_queue_to_guc(struct xe_exec_queue *q) { -- cgit v1.2.3