Lines Matching refs:txc

184 static inline void pps_fill_timex(struct timex *txc)  in pps_fill_timex()  argument
186 txc->ppsfreq = shift_right((pps_freq >> PPM_SCALE_INV_SHIFT) * in pps_fill_timex()
188 txc->jitter = pps_jitter; in pps_fill_timex()
190 txc->jitter /= NSEC_PER_USEC; in pps_fill_timex()
191 txc->shift = pps_shift; in pps_fill_timex()
192 txc->stabil = pps_stabil; in pps_fill_timex()
193 txc->jitcnt = pps_jitcnt; in pps_fill_timex()
194 txc->calcnt = pps_calcnt; in pps_fill_timex()
195 txc->errcnt = pps_errcnt; in pps_fill_timex()
196 txc->stbcnt = pps_stbcnt; in pps_fill_timex()
216 static inline void pps_fill_timex(struct timex *txc) in pps_fill_timex() argument
219 txc->ppsfreq = 0; in pps_fill_timex()
220 txc->jitter = 0; in pps_fill_timex()
221 txc->shift = 0; in pps_fill_timex()
222 txc->stabil = 0; in pps_fill_timex()
223 txc->jitcnt = 0; in pps_fill_timex()
224 txc->calcnt = 0; in pps_fill_timex()
225 txc->errcnt = 0; in pps_fill_timex()
226 txc->stbcnt = 0; in pps_fill_timex()
545 static inline void process_adj_status(struct timex *txc, struct timespec64 *ts) in process_adj_status() argument
547 if ((time_status & STA_PLL) && !(txc->status & STA_PLL)) { in process_adj_status()
558 if (!(time_status & STA_PLL) && (txc->status & STA_PLL)) in process_adj_status()
563 time_status |= txc->status & ~STA_RONLY; in process_adj_status()
567 static inline void process_adjtimex_modes(struct timex *txc, in process_adjtimex_modes() argument
571 if (txc->modes & ADJ_STATUS) in process_adjtimex_modes()
572 process_adj_status(txc, ts); in process_adjtimex_modes()
574 if (txc->modes & ADJ_NANO) in process_adjtimex_modes()
577 if (txc->modes & ADJ_MICRO) in process_adjtimex_modes()
580 if (txc->modes & ADJ_FREQUENCY) { in process_adjtimex_modes()
581 time_freq = txc->freq * PPM_SCALE; in process_adjtimex_modes()
588 if (txc->modes & ADJ_MAXERROR) in process_adjtimex_modes()
589 time_maxerror = txc->maxerror; in process_adjtimex_modes()
591 if (txc->modes & ADJ_ESTERROR) in process_adjtimex_modes()
592 time_esterror = txc->esterror; in process_adjtimex_modes()
594 if (txc->modes & ADJ_TIMECONST) { in process_adjtimex_modes()
595 time_constant = txc->constant; in process_adjtimex_modes()
602 if (txc->modes & ADJ_TAI && txc->constant > 0) in process_adjtimex_modes()
603 *time_tai = txc->constant; in process_adjtimex_modes()
605 if (txc->modes & ADJ_OFFSET) in process_adjtimex_modes()
606 ntp_update_offset(txc->offset); in process_adjtimex_modes()
608 if (txc->modes & ADJ_TICK) in process_adjtimex_modes()
609 tick_usec = txc->tick; in process_adjtimex_modes()
611 if (txc->modes & (ADJ_TICK|ADJ_FREQUENCY|ADJ_OFFSET)) in process_adjtimex_modes()
620 int ntp_validate_timex(struct timex *txc) in ntp_validate_timex() argument
622 if (txc->modes & ADJ_ADJTIME) { in ntp_validate_timex()
624 if (!(txc->modes & ADJ_OFFSET_SINGLESHOT)) in ntp_validate_timex()
626 if (!(txc->modes & ADJ_OFFSET_READONLY) && in ntp_validate_timex()
631 if (txc->modes && !capable(CAP_SYS_TIME)) in ntp_validate_timex()
637 if (txc->modes & ADJ_TICK && in ntp_validate_timex()
638 (txc->tick < 900000/USER_HZ || in ntp_validate_timex()
639 txc->tick > 1100000/USER_HZ)) in ntp_validate_timex()
643 if ((txc->modes & ADJ_SETOFFSET) && (!capable(CAP_SYS_TIME))) in ntp_validate_timex()
650 if ((txc->modes & ADJ_FREQUENCY) && (BITS_PER_LONG == 64)) { in ntp_validate_timex()
651 if (LLONG_MIN / PPM_SCALE > txc->freq) in ntp_validate_timex()
653 if (LLONG_MAX / PPM_SCALE < txc->freq) in ntp_validate_timex()
665 int __do_adjtimex(struct timex *txc, struct timespec64 *ts, s32 *time_tai) in __do_adjtimex() argument
669 if (txc->modes & ADJ_ADJTIME) { in __do_adjtimex()
672 if (!(txc->modes & ADJ_OFFSET_READONLY)) { in __do_adjtimex()
674 time_adjust = txc->offset; in __do_adjtimex()
677 txc->offset = save_adjust; in __do_adjtimex()
681 if (txc->modes) in __do_adjtimex()
682 process_adjtimex_modes(txc, ts, time_tai); in __do_adjtimex()
684 txc->offset = shift_right(time_offset * NTP_INTERVAL_FREQ, in __do_adjtimex()
687 txc->offset /= NSEC_PER_USEC; in __do_adjtimex()
695 txc->freq = shift_right((time_freq >> PPM_SCALE_INV_SHIFT) * in __do_adjtimex()
697 txc->maxerror = time_maxerror; in __do_adjtimex()
698 txc->esterror = time_esterror; in __do_adjtimex()
699 txc->status = time_status; in __do_adjtimex()
700 txc->constant = time_constant; in __do_adjtimex()
701 txc->precision = 1; in __do_adjtimex()
702 txc->tolerance = MAXFREQ_SCALED / PPM_SCALE; in __do_adjtimex()
703 txc->tick = tick_usec; in __do_adjtimex()
704 txc->tai = *time_tai; in __do_adjtimex()
707 pps_fill_timex(txc); in __do_adjtimex()
709 txc->time.tv_sec = (time_t)ts->tv_sec; in __do_adjtimex()
710 txc->time.tv_usec = ts->tv_nsec; in __do_adjtimex()
712 txc->time.tv_usec /= NSEC_PER_USEC; in __do_adjtimex()