On Thu, 18 Feb 2016 13:11:33 -0800, Andy Lutomirski
wrote:
+#define X86_FEATURE_INVARIANT_TSC (7*32+4) /* Intel Invariant TSC */
This is removed. It was basically an alias for NONSTOP_TSC and not needed.
+/*
+ * Convert ART to TSC given numerator/denominator found in detect_art()
+ */
+st
On Thu, 18 Feb 2016 11:26:24 -0800, John Stultz
wrote:
On Fri, Feb 12, 2016 at 12:25 PM, Christopher S. Hall
wrote:
Modern Intel hardware adds an Always Running Timer (ART) that allows the
network and audio device clocks to precisely cross timestamp the device
clock with the system clock. Thi
On Mon, 15 Feb 2016 23:52:10 -0800, Richard Cochran
wrote:
@@ -888,6 +888,8 @@ void ktime_get_snapshot(struct system_time_snapshot
*systime_snapshot)
s64 nsec_real;
cycle_t now;
+ WARN_ON(timekeeping_suspended);
...
- WARN_ON_ONCE(timekeeping_suspended);
Is th
Hi Richard,
This all sounds fine. Thanks for the feedback. I'll roll this into the
next patchset.
Chris
On Tue, 05 Jan 2016 07:27:32 -0800, Richard Cochran
wrote:
On Mon, Jan 04, 2016 at 04:45:22AM -0800, Christopher S. Hall wrote:
+ case PTP_SYS_OFFSET_PRECISE:
+
Richard/Thomas:
On Tue, 13 Oct 2015 06:59:26 -0700, Richard Cochran
wrote:
On Mon, Oct 12, 2015 at 11:45:21AM -0700, Christopher S. Hall wrote:
+struct ptp_sys_offset_precise {
+ unsigned int rsv[4];/* Reserved for future use. */
+ struct ptp_clock_time dev;
+ struct p
Thomas,
On Thu, 15 Oct 2015 01:15:57 -0700, Thomas Gleixner
wrote:
>
> > +#define SHADOW_HISTORY_DEPTH 7
>
> And that number is 7 because?
Due to power of 2 it will be 8 instead. As above the useful history is
8-2*1
ms (1 ms is the minimum jiffy length). Array size 4 would not be enough
On Tue, 13 Oct 2015 06:59:26 -0700, Richard Cochran
wrote:
On Mon, Oct 12, 2015 at 11:45:21AM -0700, Christopher S. Hall wrote:
+struct ptp_sys_offset_precise {
+ unsigned int rsv[4];/* Reserved for future use. */
+ struct ptp_clock_time dev;
+ struct ptp_clock_time sy
Richard,
On Tue, 13 Oct 2015 14:12:24 -0700, Richard Cochran
wrote:
On Tue, Oct 13, 2015 at 09:15:51PM +0200, Thomas Gleixner wrote:
Can we at least have a explanation of how the firmware operates? How
are (ART,sys) pairs are generated, and how they are supposed to get
into the DSP?
I'l
Thomas,
On Tue, 13 Oct 2015 12:42:52 -0700, Thomas Gleixner
wrote:
On Mon, 12 Oct 2015, Christopher S. Hall wrote:
audio.
This wants to be a seperate patch, really.
OK. This makes sense, I'll do this the next time.
+/* This needs to be 3 or greater for backtracking to be useful */
Wh
Reads ART (TSC correlated clocksource), converts to realtime clock, and
reports cross timestamp to PTP driver
---
drivers/net/ethernet/intel/e1000e/defines.h | 7 +++
drivers/net/ethernet/intel/e1000e/ptp.c | 88 +
drivers/net/ethernet/intel/e1000e/regs.h
Original patch description:
Subject: ptp: Get sync timestamps
From: Thomas Gleixner
Date: Wed, 29 Jul 2015 10:52:06 +0200
The ART stuff wants to be splitted out.
Changes ===
Add struct correlated_cs (clocksource) with pointer to original clocksource
and function pointer to
add private struct correlated_ts member used by get_ts() code
added EXPORTs making get_correlated_timestamp() function and
art_timestamper accessible
Add special case for denominator of 2 (art_to_tsc())
---
arch/x86/include/asm/cpufeature.h | 3 ++-
arch/x86/include/asm/tsc.h|
iver patch is unchanged
and the e1000e driver patch uses the *new* correlated clocksource interface
but is otherwise (in terms of hardware and PTP driver) unchanged.
* ART is removed as a compile option
* ART is added as an X86_FEATURE
Christopher Hall (4):
Add generic correlated clocksourc
This patch allows system and device time ("cross-timestamp") to be
performed by the driver. Currently, the cross-timestamping is performed
in the PTP_SYS_OFFSET ioctl. The PTP clock driver reads gettimeofday()
and the gettime64() callback provided by the driver. The cross-timestamp
is best effort
* tsc_to_rawmono64
* tsc_to_realtime64
* tsc_to_mono64
These function build on the counter_to_* time translation function
specifically for TSC based system clock
Signed-off-by: Christopher Hall
---
arch/x86/include/asm/tsc.h | 5 +
arch/x86/kernel/tsc.c | 18 ++
2
stamp can't be
completed. This is indicated by the driver returning a
non-zero value.
Christopher Hall (5):
Add functions producing system time given a backing counter value
Added functions mapping TSC value to system time
Add calls to translate Always Running Timer (ART) to system
* counter_to_rawmono64
* counter_to_mono64
* counter_to_realtime64
Enables drivers to translate a captured system clock counter to system
time. This is useful for network and audio devices that capture timestamps
in terms of both the system clock and device clock.
Signed-off-by: Christopher Hall
Adds getsynctime64() callback which captures "raw" cross timestamp
between ART and Ethernet device clock
Translates captured ART to REALTIME clock
Signed-off-by: Christopher Hall
---
drivers/net/ethernet/intel/e1000e/defines.h | 7 +++
drivers/net/ethernet/intel/e1000e/ptp.
* art_to_mono64
* art_to_rawmono64
* art_to_realtime64
Intel audio and PCH ethernet devices use the Always Running Timer (ART) to
relate their device clock to system time
Signed-off-by: Christopher Hall
---
arch/x86/Kconfig | 12
arch/x86/include/asm/art.h | 42
orrelation
Modified PTP_SYS_OFFSET ioctl in PTP clock driver to use the above
callback if it's available
Added capability (PTP_CLOCK_GETCAPS) for checking whether driver supports
cross timestamping
Added check for cross timestamping flag to testptp.c
Signed-off-by: Christopher Hall
---
Do
orrelation
Modified PTP_SYS_OFFSET ioctl in PTP clock driver to use the above
callback if it's available
Added capability (PTP_CLOCK_GETCAPS) for checking whether driver supports
cross timestamping
Added check for cross timestamping flag to testptp.c
Signed-off-by: Christopher Hall
---
Do
lement the getsynctime
callback, providing more precise cross timestamping.
Christopher Hall (1):
Added additional callback to ptp_clock_info:
drivers/ptp/ptp_chardev.c| 29 +
include/linux/ptp_clock_kernel.h | 8
include/uapi/linux/ptp_clock.h |
ility (PTP_CLOCK_GETCAPS) for checking whether driver supports
precise timestamping
Signed-off-by: Christopher Hall
---
drivers/ptp/ptp_chardev.c| 29 +
include/linux/ptp_clock_kernel.h | 8
include/uapi/linux/ptp_clock.h | 4 +++-
3 files change
e uses the callback when available.
Additionally, the callback, getsynctime64(), will only be called when
n_samples == 1 because the driver returns only 1 cross-timestamp where
multiple samples cannot be chained together.
Christopher Hall (1):
Added additional callback to ptp_clock_info:
d
ff-by: Christopher Hall
---
drivers/ptp/ptp_chardev.c| 30 +-
include/linux/ptp_clock_kernel.h | 3 +++
2 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c
index da7bae9..e91f98e 100644
--- a/driver
25 matches
Mail list logo