mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 03:24:19 +02:00
drm/xe: Add mocs reset kunit
This kunit verifies the mocs registers content with the KMD programmed values before and after GT reset. v2: Remove extra blank lines between the local variables definitions (Matt Roper) Cc: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Ruthuvikas Ravikumar <ruthuvikas.ravikumar@intel.com> Signed-off-by: Janga Rahul Kumar <janga.rahul.kumar@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://lore.kernel.org/r/20231222192352.927101-1-janga.rahul.kumar@intel.com Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
This commit is contained in:
parent
26d4481ac2
commit
0d68d06553
|
|
@ -128,3 +128,39 @@ void xe_live_mocs_kernel_kunit(struct kunit *test)
|
|||
xe_call_for_each_device(mocs_kernel_test_run_device);
|
||||
}
|
||||
EXPORT_SYMBOL_IF_KUNIT(xe_live_mocs_kernel_kunit);
|
||||
|
||||
static int mocs_reset_test_run_device(struct xe_device *xe)
|
||||
{
|
||||
/* Check the mocs setup is retained over GT reset */
|
||||
|
||||
struct live_mocs mocs;
|
||||
struct xe_gt *gt;
|
||||
unsigned int flags;
|
||||
int id;
|
||||
struct kunit *test = xe_cur_kunit();
|
||||
|
||||
for_each_gt(gt, xe, id) {
|
||||
flags = live_mocs_init(&mocs, gt);
|
||||
kunit_info(test, "mocs_reset_test before reset\n");
|
||||
if (flags & HAS_GLOBAL_MOCS)
|
||||
read_mocs_table(gt, &mocs.table);
|
||||
if (flags & HAS_LNCF_MOCS)
|
||||
read_l3cc_table(gt, &mocs.table);
|
||||
|
||||
xe_gt_reset_async(gt);
|
||||
flush_work(>->reset.worker);
|
||||
|
||||
kunit_info(test, "mocs_reset_test after reset\n");
|
||||
if (flags & HAS_GLOBAL_MOCS)
|
||||
read_mocs_table(gt, &mocs.table);
|
||||
if (flags & HAS_LNCF_MOCS)
|
||||
read_l3cc_table(gt, &mocs.table);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void xe_live_mocs_reset_kunit(struct kunit *test)
|
||||
{
|
||||
xe_call_for_each_device(mocs_reset_test_run_device);
|
||||
}
|
||||
EXPORT_SYMBOL_IF_KUNIT(xe_live_mocs_reset_kunit);
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
static struct kunit_case xe_mocs_tests[] = {
|
||||
KUNIT_CASE(xe_live_mocs_kernel_kunit),
|
||||
KUNIT_CASE(xe_live_mocs_reset_kunit),
|
||||
{}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -9,5 +9,6 @@
|
|||
struct kunit;
|
||||
|
||||
void xe_live_mocs_kernel_kunit(struct kunit *test);
|
||||
void xe_live_mocs_reset_kunit(struct kunit *test);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user