mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
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:
@@ -3,6 +3,8 @@
|
|||||||
* Copyright © 2022 Intel Corporation
|
* Copyright © 2022 Intel Corporation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/math64.h>
|
||||||
|
|
||||||
#include "xe_gt_clock.h"
|
#include "xe_gt_clock.h"
|
||||||
|
|
||||||
#include "regs/xe_gt_regs.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;
|
gt->info.reference_clock = freq;
|
||||||
return 0;
|
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;
|
struct xe_gt;
|
||||||
|
|
||||||
int xe_gt_clock_init(struct xe_gt *gt);
|
int xe_gt_clock_init(struct xe_gt *gt);
|
||||||
|
u64 xe_gt_clock_interval_to_ms(struct xe_gt *gt, u64 count);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user