All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Auld <matthew.auld@intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 04/14] drm/xe: Convert kunit tests from mem_access to xe_pm_runtime
Date: Thu, 22 Feb 2024 16:56:20 +0000	[thread overview]
Message-ID: <56f79509-bb0e-493e-899b-e0df12e46f7d@intel.com> (raw)
In-Reply-To: <20240222163937.138342-4-rodrigo.vivi@intel.com>

On 22/02/2024 16:39, Rodrigo Vivi wrote:
> Let's convert the kunit tests that are currently relying on
> xe_device_mem_access_{get,put} towards the direct xe_pm_runtime_{get,put}.
> While doing this we need to move the get/put calls towards the outer
> bounds of the tests to ensure consistency with the other usages of
> pm_runtime on the regular paths.
> 
> v2: include xe_pm.h in tests/xe_mocs.c and sort the include block
>      while at it.
> 
> Reviewed-by: Matthew Auld <matthew.auld@intel.com> #v1
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

r-b still stands on v2.

> ---
>   drivers/gpu/drm/xe/tests/xe_bo.c      |  8 ++++----
>   drivers/gpu/drm/xe/tests/xe_migrate.c |  7 +++++--
>   drivers/gpu/drm/xe/tests/xe_mocs.c    | 19 +++++++++++++------
>   3 files changed, 22 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
> index 3436fd9cf2b2..0926a1c2eb86 100644
> --- a/drivers/gpu/drm/xe/tests/xe_bo.c
> +++ b/drivers/gpu/drm/xe/tests/xe_bo.c
> @@ -163,7 +163,7 @@ static int ccs_test_run_device(struct xe_device *xe)
>   		return 0;
>   	}
>   
> -	xe_device_mem_access_get(xe);
> +	xe_pm_runtime_get(xe);
>   
>   	for_each_tile(tile, xe, id) {
>   		/* For igfx run only for primary tile */
> @@ -172,7 +172,7 @@ static int ccs_test_run_device(struct xe_device *xe)
>   		ccs_test_run_tile(xe, tile, test);
>   	}
>   
> -	xe_device_mem_access_put(xe);
> +	xe_pm_runtime_put(xe);
>   
>   	return 0;
>   }
> @@ -335,12 +335,12 @@ static int evict_test_run_device(struct xe_device *xe)
>   		return 0;
>   	}
>   
> -	xe_device_mem_access_get(xe);
> +	xe_pm_runtime_get(xe);
>   
>   	for_each_tile(tile, xe, id)
>   		evict_test_run_tile(xe, tile, test);
>   
> -	xe_device_mem_access_put(xe);
> +	xe_pm_runtime_put(xe);
>   
>   	return 0;
>   }
> diff --git a/drivers/gpu/drm/xe/tests/xe_migrate.c b/drivers/gpu/drm/xe/tests/xe_migrate.c
> index a6523df0f1d3..ce531498f57f 100644
> --- a/drivers/gpu/drm/xe/tests/xe_migrate.c
> +++ b/drivers/gpu/drm/xe/tests/xe_migrate.c
> @@ -10,6 +10,7 @@
>   #include "tests/xe_pci_test.h"
>   
>   #include "xe_pci.h"
> +#include "xe_pm.h"
>   
>   static bool sanity_fence_failed(struct xe_device *xe, struct dma_fence *fence,
>   				const char *str, struct kunit *test)
> @@ -423,17 +424,19 @@ static int migrate_test_run_device(struct xe_device *xe)
>   	struct xe_tile *tile;
>   	int id;
>   
> +	xe_pm_runtime_get(xe);
> +
>   	for_each_tile(tile, xe, id) {
>   		struct xe_migrate *m = tile->migrate;
>   
>   		kunit_info(test, "Testing tile id %d.\n", id);
>   		xe_vm_lock(m->q->vm, true);
> -		xe_device_mem_access_get(xe);
>   		xe_migrate_sanity_test(m, test);
> -		xe_device_mem_access_put(xe);
>   		xe_vm_unlock(m->q->vm);
>   	}
>   
> +	xe_pm_runtime_put(xe);
> +
>   	return 0;
>   }
>   
> diff --git a/drivers/gpu/drm/xe/tests/xe_mocs.c b/drivers/gpu/drm/xe/tests/xe_mocs.c
> index df5c36b70ab4..df0cbb2ddcb5 100644
> --- a/drivers/gpu/drm/xe/tests/xe_mocs.c
> +++ b/drivers/gpu/drm/xe/tests/xe_mocs.c
> @@ -10,10 +10,11 @@
>   #include "tests/xe_pci_test.h"
>   #include "tests/xe_test.h"
>   
> -#include "xe_pci.h"
> +#include "xe_device.h"
>   #include "xe_gt.h"
>   #include "xe_mocs.h"
> -#include "xe_device.h"
> +#include "xe_pci.h"
> +#include "xe_pm.h"
>   
>   struct live_mocs {
>   	struct xe_mocs_info table;
> @@ -45,7 +46,6 @@ static void read_l3cc_table(struct xe_gt *gt,
>   
>   	struct kunit *test = xe_cur_kunit();
>   
> -	xe_device_mem_access_get(gt_to_xe(gt));
>   	ret = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>   	KUNIT_ASSERT_EQ_MSG(test, ret, 0, "Forcewake Failed.\n");
>   	mocs_dbg(&gt_to_xe(gt)->drm, "L3CC entries:%d\n", info->n_entries);
> @@ -65,7 +65,6 @@ static void read_l3cc_table(struct xe_gt *gt,
>   				   XELP_LNCFCMOCS(i).addr);
>   	}
>   	xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
> -	xe_device_mem_access_put(gt_to_xe(gt));
>   }
>   
>   static void read_mocs_table(struct xe_gt *gt,
> @@ -80,7 +79,6 @@ static void read_mocs_table(struct xe_gt *gt,
>   
>   	struct kunit *test = xe_cur_kunit();
>   
> -	xe_device_mem_access_get(gt_to_xe(gt));
>   	ret = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>   	KUNIT_ASSERT_EQ_MSG(test, ret, 0, "Forcewake Failed.\n");
>   	mocs_dbg(&gt_to_xe(gt)->drm, "Global MOCS entries:%d\n", info->n_entries);
> @@ -100,7 +98,6 @@ static void read_mocs_table(struct xe_gt *gt,
>   				   XELP_GLOBAL_MOCS(i).addr);
>   	}
>   	xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
> -	xe_device_mem_access_put(gt_to_xe(gt));
>   }
>   
>   static int mocs_kernel_test_run_device(struct xe_device *xe)
> @@ -113,6 +110,8 @@ static int mocs_kernel_test_run_device(struct xe_device *xe)
>   	unsigned int flags;
>   	int id;
>   
> +	xe_pm_runtime_get(xe);
> +
>   	for_each_gt(gt, xe, id) {
>   		flags = live_mocs_init(&mocs, gt);
>   		if (flags & HAS_GLOBAL_MOCS)
> @@ -120,6 +119,9 @@ static int mocs_kernel_test_run_device(struct xe_device *xe)
>   		if (flags & HAS_LNCF_MOCS)
>   			read_l3cc_table(gt, &mocs.table);
>   	}
> +
> +	xe_pm_runtime_put(xe);
> +
>   	return 0;
>   }
>   
> @@ -139,6 +141,8 @@ static int mocs_reset_test_run_device(struct xe_device *xe)
>   	int id;
>   	struct kunit *test = xe_cur_kunit();
>   
> +	xe_pm_runtime_get(xe);
> +
>   	for_each_gt(gt, xe, id) {
>   		flags = live_mocs_init(&mocs, gt);
>   		kunit_info(test, "mocs_reset_test before reset\n");
> @@ -156,6 +160,9 @@ static int mocs_reset_test_run_device(struct xe_device *xe)
>   		if (flags & HAS_LNCF_MOCS)
>   			read_l3cc_table(gt, &mocs.table);
>   	}
> +
> +	xe_pm_runtime_put(xe);
> +
>   	return 0;
>   }
>   

  reply	other threads:[~2024-02-22 16:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-22 16:39 [PATCH 01/14] drm/xe: Document Xe PM component Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 02/14] drm/xe: Convert mem_access assertion towards the runtime_pm state Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 03/14] drm/xe: Runtime PM wake on every IOCTL Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 04/14] drm/xe: Convert kunit tests from mem_access to xe_pm_runtime Rodrigo Vivi
2024-02-22 16:56   ` Matthew Auld [this message]
2024-02-22 16:39 ` [PATCH 05/14] drm/xe: Runtime PM wake on every sysfs call Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 06/14] drm/xe: Remove mem_access from guc_pc calls Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 07/14] drm/xe: Runtime PM wake on every debugfs call Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 08/14] drm/xe: Replace dma_buf mem_access per direct xe_pm_runtime calls Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 09/14] drm/xe: Convert hwmon from mem_access to " Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 10/14] drm/xe: Remove useless mem_access protection for query ioctls Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 11/14] drm/xe: Convert gsc_work from mem_access to xe_pm_runtime Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 12/14] drm/xe: Remove mem_access from suspend and resume functions Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 13/14] drm/xe: Convert gt_reset from mem_access to xe_pm_runtime Rodrigo Vivi
2024-02-22 16:39 ` [PATCH 14/14] drm/xe: Remove useless mem_access on PAT dumps Rodrigo Vivi
2024-02-22 16:45 ` ✓ CI.Patch_applied: success for series starting with [01/14] drm/xe: Document Xe PM component Patchwork
2024-02-22 16:46 ` ✓ CI.checkpatch: " Patchwork
2024-02-22 16:47 ` ✓ CI.KUnit: " Patchwork
2024-02-22 16:57 ` ✓ CI.Build: " Patchwork
2024-02-22 16:59 ` ✓ CI.Hooks: " Patchwork
2024-02-22 17:01 ` ✓ CI.checksparse: " Patchwork
2024-02-22 17:20 ` ✓ CI.BAT: " Patchwork
2024-02-25  9:08 ` [PATCH 01/14] " Gupta, Anshuman
  -- strict thread matches above, loose matches on Subject: below --
2024-02-15 19:34 Rodrigo Vivi
2024-02-15 19:34 ` [PATCH 04/14] drm/xe: Convert kunit tests from mem_access to xe_pm_runtime Rodrigo Vivi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56f79509-bb0e-493e-899b-e0df12e46f7d@intel.com \
    --to=matthew.auld@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.