drm/xe: Add xe_gt_clock_interval_to_ms helper
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
This commit is contained in:
parent
1bf1ca4e32
commit
49cc215aad
@ -3,6 +3,8 @@
|
||||
* Copyright © 2022 Intel Corporation
|
||||
*/
|
||||
|
||||
#include <linux/math64.h>
|
||||
|
||||
#include "xe_gt_clock.h"
|
||||
|
||||
#include "regs/xe_gt_regs.h"
|
||||
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user