Skip to content

Commit

Permalink
drm/xe: Add xe_gt_clock_interval_to_ms helper
Browse files Browse the repository at this point in the history
Add helper to convert GT clock ticks to msec. Useful for determining if
timeouts occur by examing GT clock ticks.

v6:
- s/nom/n , s/dom/d (Jonathan)
- include math64 (CI)

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240611144053.2805091-6-matthew.brost@intel.com
  • Loading branch information
Matthew Brost committed Jun 13, 2024
1 parent 1bf1ca4 commit 49cc215
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
20 changes: 20 additions & 0 deletions drivers/gpu/drm/xe/xe_gt_clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
* Copyright © 2022 Intel Corporation
*/

#include <linux/math64.h>

#include "xe_gt_clock.h"

#include "regs/xe_gt_regs.h"
Expand Down Expand Up @@ -79,3 +81,21 @@ int xe_gt_clock_init(struct xe_gt *gt)
gt->info.reference_clock = freq;
return 0;
}

static u64 div_u64_roundup(u64 n, u32 d)
{
return div_u64(n + d - 1, d);
}

/**
* xe_gt_clock_interval_to_ms - Convert sampled GT clock ticks to msec
*
* @gt: the &xe_gt
* @count: count of GT clock ticks
*
* Returns: time in msec
*/
u64 xe_gt_clock_interval_to_ms(struct xe_gt *gt, u64 count)
{
return div_u64_roundup(count * MSEC_PER_SEC, gt->info.reference_clock);
}
1 change: 1 addition & 0 deletions drivers/gpu/drm/xe/xe_gt_clock.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@
struct xe_gt;

int xe_gt_clock_init(struct xe_gt *gt);
u64 xe_gt_clock_interval_to_ms(struct xe_gt *gt, u64 count);

#endif

0 comments on commit 49cc215

Please sign in to comment.