Skip to content

Commit f33b79b

Browse files
committed
SWPTP-1066: add legacy clock adj option for test
1 parent 7bc3c76 commit f33b79b

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

src/include/sfptpd_clock.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ enum sfptpd_time_source {
8787
enum sfptpd_clock_adj_method {
8888
SFPTPD_CLOCK_PREFER_TICKADJ,
8989
SFPTPD_CLOCK_PREFER_FREQADJ,
90+
SFPTPD_CLOCK_LEGACY_ADJ, /* Used for testing only */
9091
};
9192

9293
#define SFPTPD_CLOCK_SHORT_NAME_SIZE 16

src/sfptpd_clock.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2005,9 +2005,11 @@ int sfptpd_clock_adjust_frequency(struct sfptpd_clock *clock, long double freq_a
20052005
if (system->adj_method == SFPTPD_CLOCK_PREFER_TICKADJ)
20062006
tick = roundl(freq_adj_ppb / system->tick_resolution_ppb);
20072007
else if (freq > system->max_freq_adj) /* SFPTPD_CLOCK_PREFER_FREQADJ */
2008-
tick = roundl((freq_adj_ppb - system->max_freq_adj) / system->tick_resolution_ppb) + 1;
2008+
tick = roundl((freq_adj_ppb - system->max_freq_adj) / system->tick_resolution_ppb) +
2009+
(system->adj_method == SFPTPD_CLOCK_LEGACY_ADJ ? 0 : 1);
20092010
else if (freq < -system->max_freq_adj)
2010-
tick = -roundl((-freq_adj_ppb - system->max_freq_adj) / system->tick_resolution_ppb) - 1;
2011+
tick = -roundl((-freq_adj_ppb - system->max_freq_adj) / system->tick_resolution_ppb) -
2012+
(system->adj_method == SFPTPD_CLOCK_LEGACY_ADJ ? 0 : 1);
20112013
else
20122014
tick = 0.0L;
20132015

src/sfptpd_general_config.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2189,6 +2189,8 @@ static int parse_clock_adj_method(struct sfptpd_config_section *section, const c
21892189
general->clocks.adj_method = SFPTPD_CLOCK_PREFER_TICKADJ;
21902190
} else if (strcmp(params[0], "prefer-freqadj") == 0) {
21912191
general->clocks.adj_method = SFPTPD_CLOCK_PREFER_FREQADJ;
2192+
} else if (strcmp(params[0], "legacy") == 0) {
2193+
general->clocks.adj_method = SFPTPD_CLOCK_LEGACY_ADJ;
21922194
} else {
21932195
return EINVAL;
21942196
}

0 commit comments

Comments
 (0)