Skip to content

Commit 7970e04

Browse files
committed
drm/xe/mert: Move MERT initialization to xe_mert.c
Most of the MERT code is already in dedicated file, no reason to keep internal MERT data structure initialization elsewhere. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com> Link: https://patch.msgid.link/20260109151219.26206-6-michal.wajdeczko@intel.com
1 parent 401fabd commit 7970e04

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

drivers/gpu/drm/xe/xe_mert.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,19 @@
1111
#include "xe_mmio.h"
1212
#include "xe_tile.h"
1313

14+
/**
15+
* xe_mert_init_early() - Initialize MERT data
16+
* @xe: the &xe_device with MERT to init
17+
*/
18+
void xe_mert_init_early(struct xe_device *xe)
19+
{
20+
struct xe_tile *tile = xe_device_get_root_tile(xe);
21+
struct xe_mert *mert = &tile->mert;
22+
23+
spin_lock_init(&mert->lock);
24+
init_completion(&mert->tlb_inv_done);
25+
}
26+
1427
/**
1528
* xe_mert_invalidate_lmtt() - Invalidate MERT LMTT
1629
* @xe: the &xe_device with MERT

drivers/gpu/drm/xe/xe_mert.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ struct xe_mert {
2525
};
2626

2727
#ifdef CONFIG_PCI_IOV
28+
void xe_mert_init_early(struct xe_device *xe);
2829
int xe_mert_invalidate_lmtt(struct xe_device *xe);
2930
void xe_mert_irq_handler(struct xe_device *xe, u32 master_ctl);
3031
#else

drivers/gpu/drm/xe/xe_sriov_pf.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ bool xe_sriov_pf_readiness(struct xe_device *xe)
9090
*/
9191
int xe_sriov_pf_init_early(struct xe_device *xe)
9292
{
93-
struct xe_mert *mert = &xe_device_get_root_tile(xe)->mert;
9493
int err;
9594

9695
xe_assert(xe, IS_SRIOV_PF(xe));
@@ -112,8 +111,7 @@ int xe_sriov_pf_init_early(struct xe_device *xe)
112111

113112
xe_sriov_pf_service_init(xe);
114113

115-
spin_lock_init(&mert->lock);
116-
init_completion(&mert->tlb_inv_done);
114+
xe_mert_init_early(xe);
117115

118116
return 0;
119117
}

0 commit comments

Comments
 (0)