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(>_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(>_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;
> }
>
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox