From: kernel test robot <lkp@intel.com>
To: Jonathan Lemon <jonathan.lemon@gmail.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org
Subject: Re: [PATCH net-next 15/18] ptp: ocp: Enable 4th timestamper / PPS generator
Date: Sun, 7 Nov 2021 06:25:36 +0800 [thread overview]
Message-ID: <202111070619.WB99CFaU-lkp@intel.com> (raw)
In-Reply-To: <20210915021636.153754-16-jonathan.lemon@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 9347 bytes --]
Hi Jonathan,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net/master]
[also build test WARNING on horms-ipvs/master v5.15]
[cannot apply to net-next/master linus/master next-20211106]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Jonathan-Lemon/timecard-updates-for-v13-firmware/20210929-111346
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 4ccb9f03fee7b20484187ba7e25a7b9b79fe63d5
config: i386-randconfig-a001-20210928 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/e0ae415a29dcf1eaa46cf3ffde625d87339216b7
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jonathan-Lemon/timecard-updates-for-v13-firmware/20210929-111346
git checkout e0ae415a29dcf1eaa46cf3ffde625d87339216b7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/ptp/ptp_ocp.c:2000:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
2 warnings generated.
vim +2000 drivers/ptp/ptp_ocp.c
1934
1935 static int
1936 ptp_ocp_summary_show(struct seq_file *s, void *data)
1937 {
1938 struct device *dev = s->private;
1939 struct ptp_system_timestamp sts;
1940 u32 sma_in, sma_out, ctrl, val;
1941 struct ts_reg __iomem *ts_reg;
1942 struct timespec64 ts;
1943 struct ptp_ocp *bp;
1944 const char *src;
1945 bool on, map;
1946 char *buf;
1947
1948 buf = (char *)__get_free_page(GFP_KERNEL);
1949 if (!buf)
1950 return -ENOMEM;
1951
1952 bp = dev_get_drvdata(dev);
1953 sma_in = ioread32(&bp->sma->gpio1);
1954 sma_out = ioread32(&bp->sma->gpio2);
1955
1956 seq_printf(s, "%7s: /dev/ptp%d\n", "PTP", ptp_clock_index(bp->ptp));
1957
1958 sma1_show(dev, NULL, buf);
1959 seq_printf(s, " sma1: %s", buf);
1960
1961 sma2_show(dev, NULL, buf);
1962 seq_printf(s, " sma2: %s", buf);
1963
1964 sma3_show(dev, NULL, buf);
1965 seq_printf(s, " sma3: %s", buf);
1966
1967 sma4_show(dev, NULL, buf);
1968 seq_printf(s, " sma4: %s", buf);
1969
1970 if (bp->ts0) {
1971 ts_reg = bp->ts0->mem;
1972 on = ioread32(&ts_reg->enable);
1973 src = "GNSS";
1974 seq_printf(s, "%7s: %s, src: %s\n", "TS0",
1975 on ? " ON" : "OFF", src);
1976 }
1977
1978 if (bp->ts1) {
1979 ts_reg = bp->ts1->mem;
1980 on = ioread32(&ts_reg->enable);
1981 src = gpio_map(sma_in, 2, "sma1", "sma2", "----");
1982 seq_printf(s, "%7s: %s, src: %s\n", "TS1",
1983 on ? " ON" : "OFF", src);
1984 }
1985
1986 if (bp->ts2) {
1987 ts_reg = bp->ts2->mem;
1988 on = ioread32(&ts_reg->enable);
1989 src = gpio_map(sma_in, 3, "sma1", "sma2", "----");
1990 seq_printf(s, "%7s: %s, src: %s\n", "TS2",
1991 on ? " ON" : "OFF", src);
1992 }
1993
1994 if (bp->pps) {
1995 ts_reg = bp->pps->mem;
1996 src = "PHC";
1997 on = ioread32(&ts_reg->enable);
1998 map = !!(bp->pps_req_map & OCP_REQ_TIMESTAMP);
1999 seq_printf(s, "%7s: %s, src: %s\n", "TS3",
> 2000 on & map ? " ON" : "OFF", src);
2001
2002 map = !!(bp->pps_req_map & OCP_REQ_PPS);
2003 seq_printf(s, "%7s: %s, src: %s\n", "PPS",
2004 on & map ? " ON" : "OFF", src);
2005 }
2006
2007 if (bp->irig_out) {
2008 ctrl = ioread32(&bp->irig_out->ctrl);
2009 on = ctrl & IRIG_M_CTRL_ENABLE;
2010 val = ioread32(&bp->irig_out->status);
2011 gpio_multi_map(buf, sma_out, 4, "sma3", "sma4", "----");
2012 seq_printf(s, "%7s: %s, error: %d, mode %d, out: %s\n", "IRIG",
2013 on ? " ON" : "OFF", val, (ctrl >> 16), buf);
2014 }
2015
2016 if (bp->irig_in) {
2017 on = ioread32(&bp->irig_in->ctrl) & IRIG_S_CTRL_ENABLE;
2018 val = ioread32(&bp->irig_in->status);
2019 src = gpio_map(sma_in, 4, "sma1", "sma2", "----");
2020 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "IRIG in",
2021 on ? " ON" : "OFF", val, src);
2022 }
2023
2024 if (bp->dcf_out) {
2025 on = ioread32(&bp->dcf_out->ctrl) & DCF_M_CTRL_ENABLE;
2026 val = ioread32(&bp->dcf_out->status);
2027 gpio_multi_map(buf, sma_out, 5, "sma3", "sma4", "----");
2028 seq_printf(s, "%7s: %s, error: %d, out: %s\n", "DCF",
2029 on ? " ON" : "OFF", val, buf);
2030 }
2031
2032 if (bp->dcf_in) {
2033 on = ioread32(&bp->dcf_in->ctrl) & DCF_S_CTRL_ENABLE;
2034 val = ioread32(&bp->dcf_in->status);
2035 src = gpio_map(sma_in, 5, "sma1", "sma2", "----");
2036 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "DCF in",
2037 on ? " ON" : "OFF", val, src);
2038 }
2039
2040 if (bp->nmea_out) {
2041 on = ioread32(&bp->nmea_out->ctrl) & 1;
2042 val = ioread32(&bp->nmea_out->status);
2043 seq_printf(s, "%7s: %s, error: %d\n", "NMEA",
2044 on ? " ON" : "OFF", val);
2045 }
2046
2047 /* compute src for PPS1, used below. */
2048 if (bp->pps_select) {
2049 val = ioread32(&bp->pps_select->gpio1);
2050 if (val & 0x01)
2051 src = gpio_map(sma_in, 0, "sma1", "sma2", "----");
2052 else if (val & 0x02)
2053 src = "MAC";
2054 else if (val & 0x04)
2055 src = "GNSS";
2056 else
2057 src = "----";
2058 } else {
2059 src = "?";
2060 }
2061
2062 /* assumes automatic switchover/selection */
2063 val = ioread32(&bp->reg->select);
2064 switch (val >> 16) {
2065 case 0:
2066 sprintf(buf, "----");
2067 break;
2068 case 2:
2069 sprintf(buf, "IRIG");
2070 break;
2071 case 3:
2072 sprintf(buf, "%s via PPS1", src);
2073 break;
2074 case 6:
2075 sprintf(buf, "DCF");
2076 break;
2077 default:
2078 strcpy(buf, "unknown");
2079 break;
2080 }
2081 val = ioread32(&bp->reg->status);
2082 seq_printf(s, "%7s: %s, state: %s\n", "PHC src", buf,
2083 val & OCP_STATUS_IN_SYNC ? "sync" : "unsynced");
2084
2085 /* reuses PPS1 src from earlier */
2086 seq_printf(s, "MAC PPS1 src: %s\n", src);
2087
2088 src = gpio_map(sma_in, 1, "sma1", "sma2", "GNSS2");
2089 seq_printf(s, "MAC PPS2 src: %s\n", src);
2090
2091 if (!ptp_ocp_gettimex(&bp->ptp_info, &ts, &sts)) {
2092 struct timespec64 sys_ts;
2093 s64 pre_ns, post_ns, ns;
2094
2095 pre_ns = timespec64_to_ns(&sts.pre_ts);
2096 post_ns = timespec64_to_ns(&sts.post_ts);
2097 ns = (pre_ns + post_ns) / 2;
2098 ns += (s64)bp->utc_tai_offset * NSEC_PER_SEC;
2099 sys_ts = ns_to_timespec64(ns);
2100
2101 seq_printf(s, "%7s: %lld.%ld == %ptT TAI\n", "PHC",
2102 ts.tv_sec, ts.tv_nsec, &ts);
2103 seq_printf(s, "%7s: %lld.%ld == %ptT UTC offset %d\n", "SYS",
2104 sys_ts.tv_sec, sys_ts.tv_nsec, &sys_ts,
2105 bp->utc_tai_offset);
2106 seq_printf(s, "%7s: PHC:SYS offset: %lld window: %lld\n", "",
2107 timespec64_to_ns(&ts) - ns,
2108 post_ns - pre_ns);
2109 }
2110
2111 free_page((unsigned long)buf);
2112 return 0;
2113 }
2114 DEFINE_SHOW_ATTRIBUTE(ptp_ocp_summary);
2115
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32485 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH net-next 15/18] ptp: ocp: Enable 4th timestamper / PPS generator
Date: Sun, 07 Nov 2021 06:25:36 +0800 [thread overview]
Message-ID: <202111070619.WB99CFaU-lkp@intel.com> (raw)
In-Reply-To: <20210915021636.153754-16-jonathan.lemon@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 9592 bytes --]
Hi Jonathan,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net/master]
[also build test WARNING on horms-ipvs/master v5.15]
[cannot apply to net-next/master linus/master next-20211106]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Jonathan-Lemon/timecard-updates-for-v13-firmware/20210929-111346
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 4ccb9f03fee7b20484187ba7e25a7b9b79fe63d5
config: i386-randconfig-a001-20210928 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/e0ae415a29dcf1eaa46cf3ffde625d87339216b7
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jonathan-Lemon/timecard-updates-for-v13-firmware/20210929-111346
git checkout e0ae415a29dcf1eaa46cf3ffde625d87339216b7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/ptp/ptp_ocp.c:2000:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2000:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: warning: operator '?:' has lower precedence than '&'; '&' will be evaluated first [-Wbitwise-conditional-parentheses]
on & map ? " ON" : "OFF", src);
~~~~~~~~ ^
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '&' expression to silence this warning
on & map ? " ON" : "OFF", src);
^
( )
drivers/ptp/ptp_ocp.c:2004:16: note: place parentheses around the '?:' expression to evaluate it first
on & map ? " ON" : "OFF", src);
^
( )
2 warnings generated.
vim +2000 drivers/ptp/ptp_ocp.c
1934
1935 static int
1936 ptp_ocp_summary_show(struct seq_file *s, void *data)
1937 {
1938 struct device *dev = s->private;
1939 struct ptp_system_timestamp sts;
1940 u32 sma_in, sma_out, ctrl, val;
1941 struct ts_reg __iomem *ts_reg;
1942 struct timespec64 ts;
1943 struct ptp_ocp *bp;
1944 const char *src;
1945 bool on, map;
1946 char *buf;
1947
1948 buf = (char *)__get_free_page(GFP_KERNEL);
1949 if (!buf)
1950 return -ENOMEM;
1951
1952 bp = dev_get_drvdata(dev);
1953 sma_in = ioread32(&bp->sma->gpio1);
1954 sma_out = ioread32(&bp->sma->gpio2);
1955
1956 seq_printf(s, "%7s: /dev/ptp%d\n", "PTP", ptp_clock_index(bp->ptp));
1957
1958 sma1_show(dev, NULL, buf);
1959 seq_printf(s, " sma1: %s", buf);
1960
1961 sma2_show(dev, NULL, buf);
1962 seq_printf(s, " sma2: %s", buf);
1963
1964 sma3_show(dev, NULL, buf);
1965 seq_printf(s, " sma3: %s", buf);
1966
1967 sma4_show(dev, NULL, buf);
1968 seq_printf(s, " sma4: %s", buf);
1969
1970 if (bp->ts0) {
1971 ts_reg = bp->ts0->mem;
1972 on = ioread32(&ts_reg->enable);
1973 src = "GNSS";
1974 seq_printf(s, "%7s: %s, src: %s\n", "TS0",
1975 on ? " ON" : "OFF", src);
1976 }
1977
1978 if (bp->ts1) {
1979 ts_reg = bp->ts1->mem;
1980 on = ioread32(&ts_reg->enable);
1981 src = gpio_map(sma_in, 2, "sma1", "sma2", "----");
1982 seq_printf(s, "%7s: %s, src: %s\n", "TS1",
1983 on ? " ON" : "OFF", src);
1984 }
1985
1986 if (bp->ts2) {
1987 ts_reg = bp->ts2->mem;
1988 on = ioread32(&ts_reg->enable);
1989 src = gpio_map(sma_in, 3, "sma1", "sma2", "----");
1990 seq_printf(s, "%7s: %s, src: %s\n", "TS2",
1991 on ? " ON" : "OFF", src);
1992 }
1993
1994 if (bp->pps) {
1995 ts_reg = bp->pps->mem;
1996 src = "PHC";
1997 on = ioread32(&ts_reg->enable);
1998 map = !!(bp->pps_req_map & OCP_REQ_TIMESTAMP);
1999 seq_printf(s, "%7s: %s, src: %s\n", "TS3",
> 2000 on & map ? " ON" : "OFF", src);
2001
2002 map = !!(bp->pps_req_map & OCP_REQ_PPS);
2003 seq_printf(s, "%7s: %s, src: %s\n", "PPS",
2004 on & map ? " ON" : "OFF", src);
2005 }
2006
2007 if (bp->irig_out) {
2008 ctrl = ioread32(&bp->irig_out->ctrl);
2009 on = ctrl & IRIG_M_CTRL_ENABLE;
2010 val = ioread32(&bp->irig_out->status);
2011 gpio_multi_map(buf, sma_out, 4, "sma3", "sma4", "----");
2012 seq_printf(s, "%7s: %s, error: %d, mode %d, out: %s\n", "IRIG",
2013 on ? " ON" : "OFF", val, (ctrl >> 16), buf);
2014 }
2015
2016 if (bp->irig_in) {
2017 on = ioread32(&bp->irig_in->ctrl) & IRIG_S_CTRL_ENABLE;
2018 val = ioread32(&bp->irig_in->status);
2019 src = gpio_map(sma_in, 4, "sma1", "sma2", "----");
2020 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "IRIG in",
2021 on ? " ON" : "OFF", val, src);
2022 }
2023
2024 if (bp->dcf_out) {
2025 on = ioread32(&bp->dcf_out->ctrl) & DCF_M_CTRL_ENABLE;
2026 val = ioread32(&bp->dcf_out->status);
2027 gpio_multi_map(buf, sma_out, 5, "sma3", "sma4", "----");
2028 seq_printf(s, "%7s: %s, error: %d, out: %s\n", "DCF",
2029 on ? " ON" : "OFF", val, buf);
2030 }
2031
2032 if (bp->dcf_in) {
2033 on = ioread32(&bp->dcf_in->ctrl) & DCF_S_CTRL_ENABLE;
2034 val = ioread32(&bp->dcf_in->status);
2035 src = gpio_map(sma_in, 5, "sma1", "sma2", "----");
2036 seq_printf(s, "%7s: %s, error: %d, src: %s\n", "DCF in",
2037 on ? " ON" : "OFF", val, src);
2038 }
2039
2040 if (bp->nmea_out) {
2041 on = ioread32(&bp->nmea_out->ctrl) & 1;
2042 val = ioread32(&bp->nmea_out->status);
2043 seq_printf(s, "%7s: %s, error: %d\n", "NMEA",
2044 on ? " ON" : "OFF", val);
2045 }
2046
2047 /* compute src for PPS1, used below. */
2048 if (bp->pps_select) {
2049 val = ioread32(&bp->pps_select->gpio1);
2050 if (val & 0x01)
2051 src = gpio_map(sma_in, 0, "sma1", "sma2", "----");
2052 else if (val & 0x02)
2053 src = "MAC";
2054 else if (val & 0x04)
2055 src = "GNSS";
2056 else
2057 src = "----";
2058 } else {
2059 src = "?";
2060 }
2061
2062 /* assumes automatic switchover/selection */
2063 val = ioread32(&bp->reg->select);
2064 switch (val >> 16) {
2065 case 0:
2066 sprintf(buf, "----");
2067 break;
2068 case 2:
2069 sprintf(buf, "IRIG");
2070 break;
2071 case 3:
2072 sprintf(buf, "%s via PPS1", src);
2073 break;
2074 case 6:
2075 sprintf(buf, "DCF");
2076 break;
2077 default:
2078 strcpy(buf, "unknown");
2079 break;
2080 }
2081 val = ioread32(&bp->reg->status);
2082 seq_printf(s, "%7s: %s, state: %s\n", "PHC src", buf,
2083 val & OCP_STATUS_IN_SYNC ? "sync" : "unsynced");
2084
2085 /* reuses PPS1 src from earlier */
2086 seq_printf(s, "MAC PPS1 src: %s\n", src);
2087
2088 src = gpio_map(sma_in, 1, "sma1", "sma2", "GNSS2");
2089 seq_printf(s, "MAC PPS2 src: %s\n", src);
2090
2091 if (!ptp_ocp_gettimex(&bp->ptp_info, &ts, &sts)) {
2092 struct timespec64 sys_ts;
2093 s64 pre_ns, post_ns, ns;
2094
2095 pre_ns = timespec64_to_ns(&sts.pre_ts);
2096 post_ns = timespec64_to_ns(&sts.post_ts);
2097 ns = (pre_ns + post_ns) / 2;
2098 ns += (s64)bp->utc_tai_offset * NSEC_PER_SEC;
2099 sys_ts = ns_to_timespec64(ns);
2100
2101 seq_printf(s, "%7s: %lld.%ld == %ptT TAI\n", "PHC",
2102 ts.tv_sec, ts.tv_nsec, &ts);
2103 seq_printf(s, "%7s: %lld.%ld == %ptT UTC offset %d\n", "SYS",
2104 sys_ts.tv_sec, sys_ts.tv_nsec, &sys_ts,
2105 bp->utc_tai_offset);
2106 seq_printf(s, "%7s: PHC:SYS offset: %lld window: %lld\n", "",
2107 timespec64_to_ns(&ts) - ns,
2108 post_ns - pre_ns);
2109 }
2110
2111 free_page((unsigned long)buf);
2112 return 0;
2113 }
2114 DEFINE_SHOW_ATTRIBUTE(ptp_ocp_summary);
2115
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32485 bytes --]
next prev parent reply other threads:[~2021-11-06 22:26 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-15 2:16 [PATCH net-next 00/18] timecard updates for v13 firmware Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 01/18] ptp: ocp: parameterize the i2c driver used Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 02/18] ptp: ocp: Parameterize the TOD information display Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 03/18] ptp: ocp: Skip I2C flash read when there is no controller Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 04/18] ptp: ocp: Skip resources with out of range irqs Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 05/18] ptp: ocp: Report error if resource registration fails Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 06/18] ptp: ocp: Add third timestamper Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 07/18] ptp: ocp: Add SMA selector and controls Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 08/18] ptp: ocp: Add IRIG-B and DCF blocks Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 09/18] ptp: ocp: Add IRIG-B output mode control Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 10/18] ptp: ocp: Add sysfs attribute utc_tai_offset Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 11/18] ptp: ocp: Separate the init and info logic Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 12/18] ptp: ocp: Add debugfs entry for timecard Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 13/18] ptp: ocp: Add NMEA output Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 14/18] ptp: ocp: Add second GNSS device Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 15/18] ptp: ocp: Enable 4th timestamper / PPS generator Jonathan Lemon
2021-11-06 22:25 ` kernel test robot [this message]
2021-11-06 22:25 ` kernel test robot
2021-09-15 2:16 ` [PATCH net-next 16/18] ptp: ocp: Have FPGA fold in ns adjustment for adjtime Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 17/18] ptp: ocp: Add timestamp window adjustment Jonathan Lemon
2021-09-15 2:16 ` [PATCH net-next 18/18] docs: ABI: Add sysfs documentation for timecard Jonathan Lemon
2021-09-15 10:30 ` [PATCH net-next 00/18] timecard updates for v13 firmware patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202111070619.WB99CFaU-lkp@intel.com \
--to=lkp@intel.com \
--cc=jonathan.lemon@gmail.com \
--cc=kbuild-all@lists.01.org \
--cc=llvm@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.