diff for duplicates of <1478642533.7545.38.camel@intel.com> diff --git a/a/1.txt b/N1/1.txt index 9c17acb..3ac4b2b 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,12 +1,12 @@ On Tue, 2016-11-08 at 22:49 +0100, Richard Cochran wrote: > The 82580 and related devices offer a frequency resolution of about -> 0.029 ppb.??This patch lets users of the device benefit from the +> 0.029 ppb. This patch lets users of the device benefit from the > increased frequency resolution when tuning the clock. > > Signed-off-by: Richard Cochran <richardcochran@gmail.com> > --- -> ?drivers/net/ethernet/intel/igb/igb_ptp.c | 16 ++++++++-------- -> ?1 file changed, 8 insertions(+), 8 deletions(-) +> drivers/net/ethernet/intel/igb/igb_ptp.c | 16 ++++++++-------- +> 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c > b/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -15,35 +15,35 @@ On Tue, 2016-11-08 at 22:49 +0100, Richard Cochran wrote: > +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c > @@ -226,7 +226,7 @@ static int igb_ptp_adjfreq_82576(struct > ptp_clock_info *ptp, s32 ppb) -> ? return 0; -> ?} -> ? +> return 0; +> } +> > -static int igb_ptp_adjfreq_82580(struct ptp_clock_info *ptp, s32 > ppb) > +static int igb_ptp_adjfine_82580(struct ptp_clock_info *ptp, long > scaled_ppm) -> ?{ -> ? struct igb_adapter *igb = container_of(ptp, struct +> { +> struct igb_adapter *igb = container_of(ptp, struct > igb_adapter, -> ? ???????ptp_caps); +> ptp_caps); > @@ -235,13 +235,13 @@ static int igb_ptp_adjfreq_82580(struct > ptp_clock_info *ptp, s32 ppb) -> ? u64 rate; -> ? u32 inca; -> ? +> u64 rate; +> u32 inca; +> > - if (ppb < 0) { > + if (scaled_ppm < 0) { -> ? neg_adj = 1; +> neg_adj = 1; > - ppb = -ppb; > + scaled_ppm = -scaled_ppm; -> ? } +> } > - rate = ppb; > - rate <<= 26; > - rate = div_u64(rate, 1953125); > + rate = scaled_ppm; > + rate <<= 13; > + rate = div_u64(rate, 15625); -> ? +> I'm curious how you generate the new math here, since this can be tricky, and I could use more examples in order to port to some of the @@ -53,23 +53,23 @@ value when the lower 16 bits are fractional. Thanks, Jake -> ? inca = rate & INCVALUE_MASK; -> ? if (neg_adj) +> inca = rate & INCVALUE_MASK; +> if (neg_adj) > @@ -1103,7 +1103,7 @@ void igb_ptp_init(struct igb_adapter *adapter) -> ? adapter->ptp_caps.max_adj = 62499999; -> ? adapter->ptp_caps.n_ext_ts = 0; -> ? adapter->ptp_caps.pps = 0; +> adapter->ptp_caps.max_adj = 62499999; +> adapter->ptp_caps.n_ext_ts = 0; +> adapter->ptp_caps.pps = 0; > - adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580; > + adapter->ptp_caps.adjfine = igb_ptp_adjfine_82580; -> ? adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576; -> ? adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576; -> ? adapter->ptp_caps.settime64 = igb_ptp_settime_82576; +> adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576; +> adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576; +> adapter->ptp_caps.settime64 = igb_ptp_settime_82576; > @@ -1131,7 +1131,7 @@ void igb_ptp_init(struct igb_adapter *adapter) -> ? adapter->ptp_caps.n_pins = IGB_N_SDP; -> ? adapter->ptp_caps.pps = 1; -> ? adapter->ptp_caps.pin_config = adapter->sdp_config; +> adapter->ptp_caps.n_pins = IGB_N_SDP; +> adapter->ptp_caps.pps = 1; +> adapter->ptp_caps.pin_config = adapter->sdp_config; > - adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580; > + adapter->ptp_caps.adjfine = igb_ptp_adjfine_82580; -> ? adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210; -> ? adapter->ptp_caps.gettime64 = igb_ptp_gettime_i210; -> ? adapter->ptp_caps.settime64 = igb_ptp_settime_i210; +> adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210; +> adapter->ptp_caps.gettime64 = igb_ptp_gettime_i210; +> adapter->ptp_caps.settime64 = igb_ptp_settime_i210; diff --git a/a/content_digest b/N1/content_digest index e3ffb2f..152bd13 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,20 +1,30 @@ "ref\0cover.1478526333.git.richardcochran@gmail.com\0" "ref\0b1d732324e0b1960b294e90ca5eb2a31b6559188.1478526333.git.richardcochran@gmail.com\0" "From\0Keller, Jacob E <jacob.e.keller@intel.com>\0" - "Subject\0[Intel-wired-lan] [PATCH net-next 2/3] ptp: igb: Use the high resolution frequency method.\0" + "Subject\0Re: [PATCH net-next 2/3] ptp: igb: Use the high resolution frequency method.\0" "Date\0Tue, 8 Nov 2016 22:02:22 +0000\0" - "To\0intel-wired-lan@osuosl.org\0" + "To\0netdev@vger.kernel.org <netdev@vger.kernel.org>" + " richardcochran@gmail.com <richardcochran@gmail.com>\0" + "Cc\0tglx@linutronix.de <tglx@linutronix.de>" + Manfred.Rudigier@omicron.at <Manfred.Rudigier@omicron.at> + ulrik.debie-os@e2big.org <ulrik.debie-os@e2big.org> + stefan.sorensen@spectralink.com <stefan.sorensen@spectralink.com> + davem@davemloft.net <davem@davemloft.net> + Kirsher + Jeffrey T <jeffrey.t.kirsher@intel.com> + john.stultz@linaro.org <john.stultz@linaro.org> + " intel-wired-lan@lists.osuosl.org <intel-wired-lan@lists.osuosl.org>\0" "\00:1\0" "b\0" "On Tue, 2016-11-08 at 22:49 +0100, Richard Cochran wrote:\n" "> The 82580 and related devices offer a frequency resolution of about\n" - "> 0.029 ppb.??This patch lets users of the device benefit from the\n" + "> 0.029 ppb.\302\240\302\240This patch lets users of the device benefit from the\n" "> increased frequency resolution when tuning the clock.\n" "> \n" "> Signed-off-by: Richard Cochran <richardcochran@gmail.com>\n" "> ---\n" - "> ?drivers/net/ethernet/intel/igb/igb_ptp.c | 16 ++++++++--------\n" - "> ?1 file changed, 8 insertions(+), 8 deletions(-)\n" + "> \302\240drivers/net/ethernet/intel/igb/igb_ptp.c | 16 ++++++++--------\n" + "> \302\2401 file changed, 8 insertions(+), 8 deletions(-)\n" "> \n" "> diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c\n" "> b/drivers/net/ethernet/intel/igb/igb_ptp.c\n" @@ -23,35 +33,35 @@ "> +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c\n" "> @@ -226,7 +226,7 @@ static int igb_ptp_adjfreq_82576(struct\n" "> ptp_clock_info *ptp, s32 ppb)\n" - "> ?\treturn 0;\n" - "> ?}\n" - "> ?\n" + "> \302\240\treturn 0;\n" + "> \302\240}\n" + "> \302\240\n" "> -static int igb_ptp_adjfreq_82580(struct ptp_clock_info *ptp, s32\n" "> ppb)\n" "> +static int igb_ptp_adjfine_82580(struct ptp_clock_info *ptp, long\n" "> scaled_ppm)\n" - "> ?{\n" - "> ?\tstruct igb_adapter *igb = container_of(ptp, struct\n" + "> \302\240{\n" + "> \302\240\tstruct igb_adapter *igb = container_of(ptp, struct\n" "> igb_adapter,\n" - "> ?\t\t\t\t\t???????ptp_caps);\n" + "> \302\240\t\t\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240ptp_caps);\n" "> @@ -235,13 +235,13 @@ static int igb_ptp_adjfreq_82580(struct\n" "> ptp_clock_info *ptp, s32 ppb)\n" - "> ?\tu64 rate;\n" - "> ?\tu32 inca;\n" - "> ?\n" + "> \302\240\tu64 rate;\n" + "> \302\240\tu32 inca;\n" + "> \302\240\n" "> -\tif (ppb < 0) {\n" "> +\tif (scaled_ppm < 0) {\n" - "> ?\t\tneg_adj = 1;\n" + "> \302\240\t\tneg_adj = 1;\n" "> -\t\tppb = -ppb;\n" "> +\t\tscaled_ppm = -scaled_ppm;\n" - "> ?\t}\n" + "> \302\240\t}\n" "> -\trate = ppb;\n" "> -\trate <<= 26;\n" "> -\trate = div_u64(rate, 1953125);\n" "> +\trate = scaled_ppm;\n" "> +\trate <<= 13;\n" "> +\trate = div_u64(rate, 15625);\n" - "> ?\n" + "> \302\240\n" "\n" "I'm curious how you generate the new math here, since this can be\n" "tricky, and I could use more examples in order to port to some of the\n" @@ -61,25 +71,25 @@ "Thanks,\n" "Jake\n" "\n" - "> ?\tinca = rate & INCVALUE_MASK;\n" - "> ?\tif (neg_adj)\n" + "> \302\240\tinca = rate & INCVALUE_MASK;\n" + "> \302\240\tif (neg_adj)\n" "> @@ -1103,7 +1103,7 @@ void igb_ptp_init(struct igb_adapter *adapter)\n" - "> ?\t\tadapter->ptp_caps.max_adj = 62499999;\n" - "> ?\t\tadapter->ptp_caps.n_ext_ts = 0;\n" - "> ?\t\tadapter->ptp_caps.pps = 0;\n" + "> \302\240\t\tadapter->ptp_caps.max_adj = 62499999;\n" + "> \302\240\t\tadapter->ptp_caps.n_ext_ts = 0;\n" + "> \302\240\t\tadapter->ptp_caps.pps = 0;\n" "> -\t\tadapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;\n" "> +\t\tadapter->ptp_caps.adjfine = igb_ptp_adjfine_82580;\n" - "> ?\t\tadapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;\n" - "> ?\t\tadapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;\n" - "> ?\t\tadapter->ptp_caps.settime64 = igb_ptp_settime_82576;\n" + "> \302\240\t\tadapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;\n" + "> \302\240\t\tadapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;\n" + "> \302\240\t\tadapter->ptp_caps.settime64 = igb_ptp_settime_82576;\n" "> @@ -1131,7 +1131,7 @@ void igb_ptp_init(struct igb_adapter *adapter)\n" - "> ?\t\tadapter->ptp_caps.n_pins = IGB_N_SDP;\n" - "> ?\t\tadapter->ptp_caps.pps = 1;\n" - "> ?\t\tadapter->ptp_caps.pin_config = adapter->sdp_config;\n" + "> \302\240\t\tadapter->ptp_caps.n_pins = IGB_N_SDP;\n" + "> \302\240\t\tadapter->ptp_caps.pps = 1;\n" + "> \302\240\t\tadapter->ptp_caps.pin_config = adapter->sdp_config;\n" "> -\t\tadapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;\n" "> +\t\tadapter->ptp_caps.adjfine = igb_ptp_adjfine_82580;\n" - "> ?\t\tadapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;\n" - "> ?\t\tadapter->ptp_caps.gettime64 = igb_ptp_gettime_i210;\n" - "> ?\t\tadapter->ptp_caps.settime64 = igb_ptp_settime_i210;" + "> \302\240\t\tadapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;\n" + "> \302\240\t\tadapter->ptp_caps.gettime64 = igb_ptp_gettime_i210;\n" + "> \302\240\t\tadapter->ptp_caps.settime64 = igb_ptp_settime_i210;" -2e0b5fd4980a9d24717580e7da8b092a99daee2864488170dcb05773629068c7 +c9db7ab4ecabe1c6c26315b09fad1e75393dc78f2ef0e0aca97f2e7401bea2c7
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.