From: Horatiu Vultur <horatiu.vultur@microchip.com>
To: Alex Maftei <alex.maftei@amd.com>
Cc: <richardcochran@gmail.com>, <shuah@kernel.org>,
<linux-kselftest@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<netdev@vger.kernel.org>
Subject: Re: [PATCH net 1/2] selftests/ptp: Add -x option for testing PTP_SYS_OFFSET_EXTENDED
Date: Mon, 19 Jun 2023 11:39:16 +0200 [thread overview]
Message-ID: <20230619093916.xxfkzj576hwz4tjq@soft-dev3-1> (raw)
In-Reply-To: <e3e14166f0e92065d08a024159e29160b815d2bf.1686955631.git.alex.maftei@amd.com>
The 06/16/2023 23:48, Alex Maftei wrote:
Hi Alex,
As I can see you will need to send another patch, I have just a small
comment bellow.
> The -x option (where 'x' stands for eXtended) takes an argument which
> represents the number of samples to request from the PTP device.
> The help message will display the maximum number of samples allowed.
> Providing an invalid argument will also display the maximum number of
> samples allowed.
>
> Signed-off-by: Alex Maftei <alex.maftei@amd.com>
> ---
> tools/testing/selftests/ptp/testptp.c | 42 +++++++++++++++++++++++++--
> 1 file changed, 40 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/ptp/testptp.c b/tools/testing/selftests/ptp/testptp.c
> index cfa9562f3cd8..2a99973ffc1b 100644
> --- a/tools/testing/selftests/ptp/testptp.c
> +++ b/tools/testing/selftests/ptp/testptp.c
> @@ -142,8 +142,9 @@ static void usage(char *progname)
> " -S set the system time from the ptp clock time\n"
> " -t val shift the ptp clock time by 'val' seconds\n"
> " -T val set the ptp clock time to 'val' seconds\n"
> + " -x val get an extended ptp clock time with the desired number of samples (up to %d)\n"
> " -z test combinations of rising/falling external time stamp flags\n",
> - progname);
> + progname, PTP_MAX_SAMPLES);
> }
>
> int main(int argc, char *argv[])
> @@ -157,6 +158,7 @@ int main(int argc, char *argv[])
> struct timex tx;
> struct ptp_clock_time *pct;
> struct ptp_sys_offset *sysoff;
> + struct ptp_sys_offset_extended *soe;
>
> char *progname;
> unsigned int i;
> @@ -174,6 +176,7 @@ int main(int argc, char *argv[])
> int index = 0;
> int list_pins = 0;
> int pct_offset = 0;
> + int getextended = 0;
> int n_samples = 0;
> int pin_index = -1, pin_func;
> int pps = -1;
> @@ -188,7 +191,7 @@ int main(int argc, char *argv[])
>
> progname = strrchr(argv[0], '/');
> progname = progname ? 1+progname : argv[0];
> - while (EOF != (c = getopt(argc, argv, "cd:e:f:ghH:i:k:lL:n:p:P:sSt:T:w:z"))) {
> + while (EOF != (c = getopt(argc, argv, "cd:e:f:ghH:i:k:lL:n:p:P:sSt:T:w:x:Xz"))) {
The 'X' needs to be part of the next patch, as you introduce here only 'x'.
> switch (c) {
> case 'c':
> capabilities = 1;
> @@ -250,6 +253,13 @@ int main(int argc, char *argv[])
> case 'w':
> pulsewidth = atoi(optarg);
> break;
> + case 'x':
> + getextended = atoi(optarg);
> + if (getextended < 1 || getextended > PTP_MAX_SAMPLES) {
> + fprintf(stderr, "number of extended timestamp samples must be between 1 and %d; was asked for %d\n", PTP_MAX_SAMPLES, getextended);
> + return -1;
> + }
> + break;
> case 'z':
> flagtest = 1;
> break;
> @@ -516,6 +526,34 @@ int main(int argc, char *argv[])
> free(sysoff);
> }
>
> + if (getextended) {
> + soe = calloc(1, sizeof(*soe));
> + if (!soe) {
> + perror("calloc");
> + return -1;
> + }
> +
> + soe->n_samples = getextended;
> +
> + if (ioctl(fd, PTP_SYS_OFFSET_EXTENDED, soe))
> + perror("PTP_SYS_OFFSET_EXTENDED");
> + else {
> + printf("extended timestamp request returned %d samples\n",
> + getextended);
> +
> + for (i = 0; i < getextended; i++) {
> + printf("sample #%2d: system time before: %lld.%09u\n",
> + i, soe->ts[i][0].sec, soe->ts[i][0].nsec);
> + printf(" phc time: %lld.%09u\n",
> + soe->ts[i][1].sec, soe->ts[i][1].nsec);
> + printf(" system time after: %lld.%09u\n",
> + soe->ts[i][2].sec, soe->ts[i][2].nsec);
> + }
> + }
> +
> + free(soe);
> + }
> +
> close(fd);
> return 0;
> }
> --
> 2.28.0
>
>
--
/Horatiu
next prev parent reply other threads:[~2023-06-19 9:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-16 22:48 [PATCH net 0/2] selftests/ptp: Add support for new timestamp IOCTLs Alex Maftei
2023-06-16 22:48 ` [PATCH net 1/2] selftests/ptp: Add -x option for testing PTP_SYS_OFFSET_EXTENDED Alex Maftei
2023-06-19 9:39 ` Horatiu Vultur [this message]
2023-06-19 9:48 ` Maftei, Alex
2023-06-19 9:46 ` Maftei, Alex
2023-06-20 16:42 ` Jakub Kicinski
2023-06-16 22:48 ` [PATCH net 2/2] selftests/ptp: Add -X option for testing PTP_SYS_OFFSET_PRECISE Alex Maftei
2023-06-17 0:58 ` [PATCH net 0/2] selftests/ptp: Add support for new timestamp IOCTLs Richard Cochran
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=20230619093916.xxfkzj576hwz4tjq@soft-dev3-1 \
--to=horatiu.vultur@microchip.com \
--cc=alex.maftei@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=shuah@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).