Searched refs:scaled_ppm (Results 1 - 25 of 62) sorted by relevance

123

/linux-master/include/linux/
H A Dptp_clock_kernel.h76 * parameter scaled_ppm: Desired frequency offset from
176 int (*adjfine)(struct ptp_clock_info *ptp, long scaled_ppm);
241 * ppb = scaled_ppm * 1000 / 2^16
245 * ppb = scaled_ppm * 125 / 2^13
257 * @scaled_ppm: scaled parts per million to adjust by
266 * Returns: true if scaled_ppm is negative, false otherwise
268 static inline bool diff_by_scaled_ppm(u64 base, long scaled_ppm, u64 *diff) argument
272 if (scaled_ppm < 0) {
274 scaled_ppm = -scaled_ppm;
290 adjust_by_scaled_ppm(u64 base, long scaled_ppm) argument
[all...]
/linux-master/drivers/net/ethernet/cavium/common/
H A Dcavium_ptp.c90 * @scaled_ppm: how much to adjust by, in parts per million, but with a
93 static int cavium_ptp_adjfine(struct ptp_clock_info *ptp_info, long scaled_ppm) argument
102 if (scaled_ppm < 0) {
104 scaled_ppm = -scaled_ppm;
113 * The scaled_ppm represent the ratio in "parts per bilion" by which the
117 * comp = tbase + tbase * scaled_ppm / (1M * 2^16)
123 adj = comp * scaled_ppm;
/linux-master/drivers/net/ethernet/engleder/
H A Dtsnep_ptp.c76 static int tsnep_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
83 if (scaled_ppm < 0) {
84 scaled_ppm = -scaled_ppm;
92 rate_offset = scaled_ppm;
/linux-master/drivers/net/ethernet/renesas/
H A Drcar_gen4_ptp.c29 static int rcar_gen4_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
32 bool neg_adj = scaled_ppm < 0 ? true : false;
37 scaled_ppm = -scaled_ppm;
38 diff = div_s64(addend * scaled_ppm_to_ppb(scaled_ppm), NSEC_PER_SEC);
H A Dravb_ptp.c91 static int ravb_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
101 scaled_ppm);
/linux-master/include/soc/mscc/
H A Docelot_ptp.h52 int ocelot_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm);
/linux-master/drivers/net/ethernet/marvell/mvpp2/
H A Dmvpp2_tai.c164 static int mvpp22_tai_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
173 neg_adj = scaled_ppm < 0;
175 scaled_ppm = -scaled_ppm;
177 val = mvpp22_calc_frac_ppm(tai, scaled_ppm);
/linux-master/drivers/net/ethernet/amd/xgbe/
H A Dxgbe-ptp.c137 static int xgbe_adjfine(struct ptp_clock_info *info, long scaled_ppm) argument
145 addend = adjust_by_scaled_ppm(pdata->tstamp_addend, scaled_ppm);
/linux-master/drivers/ptp/
H A Dptp_mock.c15 /* Clamp scaled_ppm between -2,097,152,000 and 2,097,152,000,
49 static int mock_phc_adjfine(struct ptp_clock_info *info, long scaled_ppm) argument
54 adj = (s64)scaled_ppm << MOCK_PHC_FADJ_SHIFT;
H A Dptp_vclock.c43 static int ptp_vclock_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
48 adj = (s64)scaled_ppm << PTP_VCLOCK_FADJ_SHIFT;
H A Dptp_qoriq.c202 int ptp_qoriq_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
210 if (scaled_ppm < 0) {
212 scaled_ppm = -scaled_ppm;
221 * = adj * scaled_ppm / 65536000000
223 diff = mul_u64_u64_div_u64(adj, scaled_ppm, 32768000000);
H A Dptp_dte.c137 static int ptp_dte_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
139 s32 ppb = scaled_ppm_to_ppb(scaled_ppm);
H A Dptp_dfl_tod.c126 static int dfl_tod_adjust_fine(struct ptp_clock_info *ptp, long scaled_ppm) argument
138 ppb = scaled_ppm_to_ppb(scaled_ppm) + GIGA;
H A Dptp_idt82p33.c535 static int _idt82p33_adjfine(struct idt82p33_channel *channel, long scaled_ppm) argument
551 * scaled_ppm * 5^12 * 10^5
556 fcw = scaled_ppm * 762939453125ULL;
575 /* ppb = scaled_ppm * 125 / 2^13 */
578 s64 scaled_ppm = div_s64(((s64)ddco_ppb << 13), 125); local
581 current_ppm += scaled_ppm;
1022 static int idt82p33_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
1032 if (scaled_ppm == channel->current_freq)
1036 err = _idt82p33_adjfine(channel, scaled_ppm);
1039 channel->current_freq = scaled_ppm;
[all...]
/linux-master/drivers/net/dsa/hirschmann/
H A Dhellcreek_ptp.c127 static int hellcreek_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
134 if (scaled_ppm < 0) {
136 scaled_ppm = -scaled_ppm;
149 * accumulator_overflow_rate = 125 MHz * scaled_ppm * 2^-16 * 10^-6 * 8
151 adj = scaled_ppm;
/linux-master/drivers/net/dsa/mv88e6xxx/
H A Dptp.c24 * clkadj = scaled_ppm * 10*2^28 / (10^6 * 2^16)
26 * clkadj = scaled_ppm * 2^7 / 5^5
36 * clkadj = scaled_ppm * 8*2^28 / (10^6 * 2^16)
38 * clkadj = scaled_ppm * 2^9 / 5^6
204 static int mv88e6xxx_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
212 if (scaled_ppm < 0) {
214 scaled_ppm = -scaled_ppm;
219 adj *= scaled_ppm;
/linux-master/drivers/net/ethernet/cadence/
H A Dmacb_ptp.c122 static int gem_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
130 if (scaled_ppm < 0) {
132 scaled_ppm = -scaled_ppm;
141 adj = (u64)scaled_ppm * word;
/linux-master/drivers/net/ethernet/microchip/sparx5/
H A Dsparx5_ptp.c391 static int sparx5_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
400 if (!scaled_ppm)
403 if (scaled_ppm < 0) {
405 scaled_ppm = -scaled_ppm;
411 * overflow issues. If scaled_ppm with 16bit fractional part was bigger
414 ref = sparx5_ptp_get_1ppm(sparx5) * (scaled_ppm >> 16);
415 ref += (sparx5_ptp_get_1ppm(sparx5) * (0xffff & scaled_ppm)) >> 16;
/linux-master/drivers/net/ethernet/marvell/octeontx2/af/
H A Dptp.c312 static int ptp_adjfine(struct ptp *ptp, long scaled_ppm) argument
319 if (scaled_ppm < 0) {
321 scaled_ppm = -scaled_ppm;
330 * The scaled_ppm represent the ratio in "parts per million" by which
334 * comp = tbase + tbase * scaled_ppm / (1M * 2^16)
338 /* convert scaled_ppm to ppb */
339 ppb = 1 + scaled_ppm;
637 err = ptp_adjfine(rvu->ptp, req->scaled_ppm);
/linux-master/drivers/net/wireless/intel/iwlwifi/mvm/
H A Dptp.c14 /* The scaled_ppm parameter is ppm (parts per million) with a 16-bit fractional
238 static int iwl_mvm_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
258 data->scaled_freq = SCALE_FACTOR + scaled_ppm;
259 IWL_DEBUG_INFO(mvm, "adjfine: scaled_ppm=%ld new=%llu\n",
260 scaled_ppm, (unsigned long long)data->scaled_freq);
/linux-master/drivers/net/ethernet/xscale/
H A Dptp_ixp46x.c123 static int ptp_ixp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
129 addend = adjust_by_scaled_ppm(DEFAULT_ADDEND, scaled_ppm);
/linux-master/drivers/net/ethernet/mellanox/mlx4/
H A Den_clock.c121 * @scaled_ppm: Desired frequency change in scaled parts per million
123 * Adjust the frequency of the PHC cycle counter by the indicated scaled_ppm
128 static int mlx4_en_phc_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
135 mult = (u32)adjust_by_scaled_ppm(mdev->nominal_c_mult, scaled_ppm);
/linux-master/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_ptp.c596 static int lan966x_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
605 if (!scaled_ppm)
608 if (scaled_ppm < 0) {
610 scaled_ppm = -scaled_ppm;
616 * overflow issues. If scaled_ppm with 16bit fractional part was bigger
619 ref = LAN966X_1PPM_FORMAT * (scaled_ppm >> 16);
620 ref += (LAN966X_1PPM_FORMAT * (0xffff & scaled_ppm)) >> 16;
/linux-master/include/linux/fsl/
H A Dptp_qoriq.h190 int ptp_qoriq_adjfine(struct ptp_clock_info *ptp, long scaled_ppm);
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/lib/
H A Dclock.c100 * dev_freq_khz * 1000 / 2^shift_constant = 1 scaled_ppm
101 * ppb = scaled_ppm * 1000 / 2^16
105 * dev_freq_khz * 1000 / 1 scaled_ppm = 2^shift_constant
395 static int mlx5_ptp_freq_adj_real_time(struct mlx5_core_dev *mdev, long scaled_ppm) argument
402 scaled_ppm <= S32_MAX && scaled_ppm >= S32_MIN) {
403 /* HW scaled_ppm support on mlx5 devices only supports a 32-bit value */
406 MLX5_SET(mtutc_reg, in, freq_adjustment, (s32)scaled_ppm);
409 MLX5_SET(mtutc_reg, in, freq_adjustment, scaled_ppm_to_ppb(scaled_ppm));
415 static int mlx5_ptp_adjfine(struct ptp_clock_info *ptp, long scaled_ppm) argument
[all...]

Completed in 252 milliseconds

123