mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
x86/tsc: Remove obsolete ART to TSC conversion functions
convert_art_to_tsc() and convert_art_ns_to_tsc() interfaces are no longer required. The conversion is now handled by the core code. Signed-off-by: Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20240513103813.5666-9-lakshmi.sowjanya.d@intel.com
This commit is contained in:
parent
d4bea547eb
commit
0f532a789f
@ -28,9 +28,6 @@ static inline cycles_t get_cycles(void)
|
||||
}
|
||||
#define get_cycles get_cycles
|
||||
|
||||
extern struct system_counterval_t convert_art_to_tsc(u64 art);
|
||||
extern struct system_counterval_t convert_art_ns_to_tsc(u64 art_ns);
|
||||
|
||||
extern void tsc_early_init(void);
|
||||
extern void tsc_init(void);
|
||||
extern void mark_tsc_unstable(char *reason);
|
||||
|
@ -1297,66 +1297,6 @@ int unsynchronized_tsc(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert ART to TSC given numerator/denominator found in detect_art()
|
||||
*/
|
||||
struct system_counterval_t convert_art_to_tsc(u64 art)
|
||||
{
|
||||
u64 tmp, res, rem;
|
||||
|
||||
rem = do_div(art, art_base_clk.denominator);
|
||||
|
||||
res = art * art_base_clk.numerator;
|
||||
tmp = rem * art_base_clk.numerator;
|
||||
|
||||
do_div(tmp, art_base_clk.denominator);
|
||||
res += tmp + art_base_clk.offset;
|
||||
|
||||
return (struct system_counterval_t) {
|
||||
.cs_id = have_art ? CSID_X86_TSC : CSID_GENERIC,
|
||||
.cycles = res,
|
||||
};
|
||||
}
|
||||
EXPORT_SYMBOL(convert_art_to_tsc);
|
||||
|
||||
/**
|
||||
* convert_art_ns_to_tsc() - Convert ART in nanoseconds to TSC.
|
||||
* @art_ns: ART (Always Running Timer) in unit of nanoseconds
|
||||
*
|
||||
* PTM requires all timestamps to be in units of nanoseconds. When user
|
||||
* software requests a cross-timestamp, this function converts system timestamp
|
||||
* to TSC.
|
||||
*
|
||||
* This is valid when CPU feature flag X86_FEATURE_TSC_KNOWN_FREQ is set
|
||||
* indicating the tsc_khz is derived from CPUID[15H]. Drivers should check
|
||||
* that this flag is set before conversion to TSC is attempted.
|
||||
*
|
||||
* Return:
|
||||
* struct system_counterval_t - system counter value with the ID of the
|
||||
* corresponding clocksource:
|
||||
* cycles: System counter value
|
||||
* cs_id: The clocksource ID for validating comparability
|
||||
*/
|
||||
|
||||
struct system_counterval_t convert_art_ns_to_tsc(u64 art_ns)
|
||||
{
|
||||
u64 tmp, res, rem;
|
||||
|
||||
rem = do_div(art_ns, USEC_PER_SEC);
|
||||
|
||||
res = art_ns * tsc_khz;
|
||||
tmp = rem * tsc_khz;
|
||||
|
||||
do_div(tmp, USEC_PER_SEC);
|
||||
res += tmp;
|
||||
|
||||
return (struct system_counterval_t) {
|
||||
.cs_id = have_art ? CSID_X86_TSC : CSID_GENERIC,
|
||||
.cycles = res,
|
||||
};
|
||||
}
|
||||
EXPORT_SYMBOL(convert_art_ns_to_tsc);
|
||||
|
||||
static void tsc_refine_calibration_work(struct work_struct *work);
|
||||
static DECLARE_DELAYED_WORK(tsc_irqwork, tsc_refine_calibration_work);
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user