From patchwork Thu Nov 14 18:44:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195044 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Yhgj/vq+"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVlt0Gyvz9sPk for ; Fri, 15 Nov 2019 05:45:13 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727048AbfKNSpN (ORCPT ); Thu, 14 Nov 2019 13:45:13 -0500 Received: from mail-pg1-f193.google.com ([209.85.215.193]:41336 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726549AbfKNSpM (ORCPT ); Thu, 14 Nov 2019 13:45:12 -0500 Received: by mail-pg1-f193.google.com with SMTP id h4so4333369pgv.8 for ; Thu, 14 Nov 2019 10:45:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8TxLlnJ4BoD9B2pwZqmboySs4KscSO6XXXhYyisKwIU=; b=Yhgj/vq+K/+BgF6v37h/l60TDGEItYnX6OCRofzkA61wbx49rVsGKH+4YsuHT2Uhnp 4QpbcgT1wxH4xljcubgW+/bugWjNhDnNs+2gkJ2KTbc+Ei0sZYtYF4c8FK5Yl8U+uJaB G4KL+ATeMI5EFBbLr1HIFt0bE3yEfFN6BQkwQQZ30ww9FSJFrVx/o/+Nqoz7E9kQNQjK g7t4PFtSI2VgBFCmolQFS9rWrcy8bwypgG63oBwvE70CJ4greNJgg0fpu9XJuH7Bh8AB BzPosknm+rZTNH475+KpvoRmLpmDbrHeqqoixq0Lv0LkSnZy0KZRPHIYr83AXVB2IRk/ N4vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8TxLlnJ4BoD9B2pwZqmboySs4KscSO6XXXhYyisKwIU=; b=nY7BJ5Slc8K3vzUL4mOJKfuVoNy64SvN75I5OL/5H+XJlB0mXtsIz2r9ZZlGv4wmxw aLogLvjoAS1iibvJM2jfJUUvzu9DGymlB/4nDUVgkQnq6RavAxQQPd6ryBgIXJ75qclv U6LC+i8efFqbsmAt6vSh1u6vyTH7G+3pYvq1NR1M8zcyuwgWdhyzp3p5sgnMfHnAK0C/ 17BpFZ9Zbe4WaElZNS2m1u9ONAleph3W4JDIIK0P9qeP9eMdr75otW5J4Q5rMojFjAfV iw0Oq/Kqx3E2pcQ+w+t33sBdvjXRhDlawfv09omFnuOBsmQef0CMrs3dVKk4dsPaG4C0 dueA== X-Gm-Message-State: APjAAAWLbpqgceL59REf1LXfkhi0SQiQnxInw5QfJe/KT7QpcmWz3cDN pjn03QQIQUhDzjVV7MEoWcd8iorG X-Google-Smtp-Source: APXvYqwdUBwNxm3Oy7UhcAMIgUJqoM+tDDV+OBw4iaOzMUqv+8BqU++lw7P+Laz3rFiRtH1VW7yWXw== X-Received: by 2002:a63:4d12:: with SMTP id a18mr11506093pgb.451.1573757110991; Thu, 14 Nov 2019 10:45:10 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:10 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 01/13] ptp: Validate requests to enable time stamping of external signals. Date: Thu, 14 Nov 2019 10:44:55 -0800 Message-Id: <20191114184507.18937-2-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit 415606588c61 ("PTP: introduce new versions of IOCTLs") introduced a new external time stamp ioctl that validates the flags. This patch extends the validation to ensure that at least one rising or falling edge flag is set when enabling external time stamps. Signed-off-by: Richard Cochran --- drivers/ptp/ptp_chardev.c | 18 +++++++++++++----- include/uapi/linux/ptp_clock.h | 1 + 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c index 67d0199840fd..cbbe1237ff8d 100644 --- a/drivers/ptp/ptp_chardev.c +++ b/drivers/ptp/ptp_chardev.c @@ -149,11 +149,19 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg) err = -EFAULT; break; } - if (((req.extts.flags & ~PTP_EXTTS_VALID_FLAGS) || - req.extts.rsv[0] || req.extts.rsv[1]) && - cmd == PTP_EXTTS_REQUEST2) { - err = -EINVAL; - break; + if (cmd == PTP_EXTTS_REQUEST2) { + /* Make sure no reserved bit is set. */ + if ((req.extts.flags & ~PTP_EXTTS_VALID_FLAGS) || + req.extts.rsv[0] || req.extts.rsv[1]) { + err = -EINVAL; + break; + } + /* Ensure one of the rising/falling edge bits is set. */ + if ((req.extts.flags & PTP_ENABLE_FEATURE) && + (req.extts.flags & PTP_EXTTS_EDGES) == 0) { + err = -EINVAL; + break; + } } else if (cmd == PTP_EXTTS_REQUEST) { req.extts.flags &= PTP_EXTTS_V1_VALID_FLAGS; req.extts.rsv[0] = 0; diff --git a/include/uapi/linux/ptp_clock.h b/include/uapi/linux/ptp_clock.h index 59e89a1bc3bb..304059b1609d 100644 --- a/include/uapi/linux/ptp_clock.h +++ b/include/uapi/linux/ptp_clock.h @@ -31,6 +31,7 @@ #define PTP_ENABLE_FEATURE (1<<0) #define PTP_RISING_EDGE (1<<1) #define PTP_FALLING_EDGE (1<<2) +#define PTP_EXTTS_EDGES (PTP_RISING_EDGE | PTP_FALLING_EDGE) /* * flag fields valid for the new PTP_EXTTS_REQUEST2 ioctl. From patchwork Thu Nov 14 18:44:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195045 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PR+007x9"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVlw1Qx1z9sPc for ; Fri, 15 Nov 2019 05:45:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727059AbfKNSpP (ORCPT ); Thu, 14 Nov 2019 13:45:15 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:34408 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727031AbfKNSpN (ORCPT ); Thu, 14 Nov 2019 13:45:13 -0500 Received: by mail-pg1-f195.google.com with SMTP id z188so4359589pgb.1 for ; Thu, 14 Nov 2019 10:45:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Z+UNW9RTqPu3T1gTax5uZNwqLIoODkDfS7V+zmu+zvg=; b=PR+007x9ZRbsMnCbY0Pqm9sa4glZfBmTZjjAcWxuqaiJoF1Fa6hgSi/KxVJQ77q9vL XlGd91pcpcPBY1SdFMmTO5Bbr6hxpJMhIIoW7SF4dPGlLjwVLkowsKWz9XBrjHvv+n/7 Bkq9bDI+k8nHo0p2bIGAC+0qYeVakGEYBr6gdPC9CJcOhtFEwq3HtRdd+lc1qytyACe7 Vh3s4XCKF2+caDp1lV41w8p0qhbv5fXRtJACg20KJspHUs9PqF1qloDkQjOr2eX4IdaU lM43nnaTZ9wrxvUdx8HuG/0Fh8gcH/pVWFzO4ye3KNptd5MzmwMBJr24fVmEav5Ae9qq qXWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Z+UNW9RTqPu3T1gTax5uZNwqLIoODkDfS7V+zmu+zvg=; b=GI4m25+pMwHUg5YOiFvo41DExR4WTCtWJIYqaDN7qo3oe6wQ6lnK8xL63S49w7T6k2 ypwOnKHq3qZVctK+c8ySMbEpx3GYbnlakiFQzEWZLi+5l0k1xDNcssHQIuylY8fp2y2+ gaq2eK/RD/r3RAEDJZ75HgFgZ5Gk9TDtfW/16555EGYfMwck+QwA5ZfzTNztMO4GHLWn yH6bnUa0BFRiVO7CJTFSdVZYhrW/7obEM7MsNopIgDoLLrFXp13zk6uOV23RU8ndTLDi pisyVbdYPtusjwYMD4f555Igh8Y5qUtJCrP510QrXlviz98v7VdqiIWNLzjiZzypLYDe CgjQ== X-Gm-Message-State: APjAAAXE35xmRC25R1wOIVNf6gc50dZr1L+j4xWGk6w9rfbmDS8tRcZo aIqCsaR50/WtGy9VikkoVFGVFjyQ X-Google-Smtp-Source: APXvYqxGwNcbi0fDj61FGKMWWQ86GkM6Yuwf37wlDl54Jq8YFICgenQ23oVxP91PXyvf3ZUhArluPA== X-Received: by 2002:a63:e84f:: with SMTP id a15mr11789853pgk.309.1573757112515; Thu, 14 Nov 2019 10:45:12 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:11 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen , Aaron Brown Subject: [PATCH net 02/13] net: reject PTP periodic output requests with unsupported flags Date: Thu, 14 Nov 2019 10:44:56 -0800 Message-Id: <20191114184507.18937-3-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jacob Keller Commit 823eb2a3c4c7 ("PTP: add support for one-shot output") introduced a new flag for the PTP periodic output request ioctl. This flag is not currently supported by any driver. Fix all drivers which implement the periodic output request ioctl to explicitly reject any request with flags they do not understand. This ensures that the driver does not accidentally misinterpret the PTP_PEROUT_ONE_SHOT flag, or any new flag introduced in the future. This is important for forward compatibility: if a new flag is introduced, the driver should reject requests to enable the flag until the driver has actually been modified to support the flag in question. Cc: Felipe Balbi Cc: David S. Miller Cc: Christopher Hall Signed-off-by: Jacob Keller Signed-off-by: Richard Cochran Tested-by: Aaron Brown Reviewed-by: Saeed Mahameed --- drivers/net/ethernet/broadcom/tg3.c | 4 ++++ drivers/net/ethernet/intel/igb/igb_ptp.c | 4 ++++ drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 4 ++++ drivers/net/ethernet/microchip/lan743x_ptp.c | 4 ++++ drivers/net/ethernet/renesas/ravb_ptp.c | 4 ++++ drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c | 4 ++++ drivers/net/phy/dp83640.c | 3 +++ 7 files changed, 27 insertions(+) diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index 77f3511b97de..ca3aa1250dd1 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@ -6280,6 +6280,10 @@ static int tg3_ptp_enable(struct ptp_clock_info *ptp, switch (rq->type) { case PTP_CLK_REQ_PEROUT: + /* Reject requests with unsupported flags */ + if (rq->perout.flags) + return -EOPNOTSUPP; + if (rq->perout.index != 0) return -EINVAL; diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c index fd3071f55bd3..4997963149f6 100644 --- a/drivers/net/ethernet/intel/igb/igb_ptp.c +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -551,6 +551,10 @@ static int igb_ptp_feature_enable_i210(struct ptp_clock_info *ptp, return 0; case PTP_CLK_REQ_PEROUT: + /* Reject requests with unsupported flags */ + if (rq->perout.flags) + return -EOPNOTSUPP; + if (on) { pin = ptp_find_pin(igb->ptp_clock, PTP_PF_PEROUT, rq->perout.index); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c index 0059b290e095..cff6b60de304 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -290,6 +290,10 @@ static int mlx5_perout_configure(struct ptp_clock_info *ptp, if (!MLX5_PPS_CAP(mdev)) return -EOPNOTSUPP; + /* Reject requests with unsupported flags */ + if (rq->perout.flags) + return -EOPNOTSUPP; + if (rq->perout.index >= clock->ptp_info.n_pins) return -EINVAL; diff --git a/drivers/net/ethernet/microchip/lan743x_ptp.c b/drivers/net/ethernet/microchip/lan743x_ptp.c index 57b26c2acf87..e8fe9a90fe4f 100644 --- a/drivers/net/ethernet/microchip/lan743x_ptp.c +++ b/drivers/net/ethernet/microchip/lan743x_ptp.c @@ -429,6 +429,10 @@ static int lan743x_ptp_perout(struct lan743x_adapter *adapter, int on, int pulse_width = 0; int perout_bit = 0; + /* Reject requests with unsupported flags */ + if (perout->flags) + return -EOPNOTSUPP; + if (!on) { lan743x_ptp_perout_off(adapter); return 0; diff --git a/drivers/net/ethernet/renesas/ravb_ptp.c b/drivers/net/ethernet/renesas/ravb_ptp.c index 9a42580693cb..638f1fc2166f 100644 --- a/drivers/net/ethernet/renesas/ravb_ptp.c +++ b/drivers/net/ethernet/renesas/ravb_ptp.c @@ -211,6 +211,10 @@ static int ravb_ptp_perout(struct ptp_clock_info *ptp, unsigned long flags; int error = 0; + /* Reject requests with unsupported flags */ + if (req->flags) + return -EOPNOTSUPP; + if (req->index) return -EINVAL; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c index df638b18b72c..0989e2bb6ee3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c @@ -140,6 +140,10 @@ static int stmmac_enable(struct ptp_clock_info *ptp, switch (rq->type) { case PTP_CLK_REQ_PEROUT: + /* Reject requests with unsupported flags */ + if (rq->perout.flags) + return -EOPNOTSUPP; + cfg = &priv->pps[rq->perout.index]; cfg->start.tv_sec = rq->perout.start.sec; diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c index 6580094161a9..04ad77758920 100644 --- a/drivers/net/phy/dp83640.c +++ b/drivers/net/phy/dp83640.c @@ -491,6 +491,9 @@ static int ptp_dp83640_enable(struct ptp_clock_info *ptp, return 0; case PTP_CLK_REQ_PEROUT: + /* Reject requests with unsupported flags */ + if (rq->perout.flags) + return -EOPNOTSUPP; if (rq->perout.index >= N_PER_OUT) return -EINVAL; return periodic_output(clock, rq, on, rq->perout.index); From patchwork Thu Nov 14 18:44:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195046 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HmCxMPjY"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVlx2b0zz9sQw for ; Fri, 15 Nov 2019 05:45:17 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727083AbfKNSpQ (ORCPT ); Thu, 14 Nov 2019 13:45:16 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:38451 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727053AbfKNSpP (ORCPT ); Thu, 14 Nov 2019 13:45:15 -0500 Received: by mail-pg1-f194.google.com with SMTP id 15so4346221pgh.5 for ; Thu, 14 Nov 2019 10:45:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=UJweYauEUzN1el5H7+jNKGxHUTrlFVlLLYMrPDFTPrw=; b=HmCxMPjYWo4iAoeAvkA0YrUNRCfDp1kQAfnh91Fp3uRWxaBE8edhI5L0TDjakPMYzV BrPSnGSnpa3jJwgggdbsPyazW2K26o2sJNohfKsVpf5zzr5ljGrOfaTNzonfZ7/oK/bs QuEdvxPcckNhDFqVg/yFdW4oTyA1V+6NLziwdH40RObMg/CDDFiZYLTCHvo8A7ZHQ0P1 ULIScUZc89s9Z/ial9FcSnpjLnRVcV2vOsVoJaLaOo5ALiRcuv0K+dUcD6dUkcBZiIST kf25itJeHboIZnhkHRDHzcA7W1KCXMMh4Sj6s8SQFdCPiDbSfHz+MXOQkbXaXUXcmgB7 rwSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=UJweYauEUzN1el5H7+jNKGxHUTrlFVlLLYMrPDFTPrw=; b=ZNzAAHZP02sjgbRUVo5u+xMoikmq/Ub8eD7+yrzl4HlzQVSZFfwU/u+wwve5YO439j cUy0Z+1PDqjYXRQiTnvpe8Y8cKtO/DRDOUwC7ciphPgffEkQR/Juo/lj0EjqAPTpwiy3 t/e/FfvK/Hf/AEbU6d/DzBvrrfMSjSYlBrj6tjfklY0DMrnUDYHAJeUjEzSBL4B7zReC RD6OkmruqavsN7umep/ny5N4ljp857Fdx7FWApHrDr6cgPacwjuCHjvE28Z68gq6/b1o 4fnkS0Btzx2HgE4sx+Pj+xE/RUw5eKnCn7UoMZhW1WHwHCW4izKfTPQUelpO0edcQFLi re1A== X-Gm-Message-State: APjAAAVD/I9ZbTRdEnqmRqCPMGI3QVogp+q57wuNr0NAkg9t//5U27tf 7eg0KESaVUTSKHw/HCLsf0CW7zIi X-Google-Smtp-Source: APXvYqzS8fKT7yamtldHOoBnAh+S2ZqlWam+5y5daaHTtrUwTXblAXw1esOngPaDfBJCQHEfoTdLFQ== X-Received: by 2002:a65:678a:: with SMTP id e10mr11686445pgr.258.1573757113982; Thu, 14 Nov 2019 10:45:13 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:13 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 03/13] mv88e6xxx: reject unsupported external timestamp flags Date: Thu, 14 Nov 2019 10:44:57 -0800 Message-Id: <20191114184507.18937-4-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jacob Keller Fix the mv88e6xxx PTP support to explicitly reject any future flags that get added to the external timestamp request ioctl. In order to maintain currently functioning code, this patch accepts all three current flags. This is because the PTP_RISING_EDGE and PTP_FALLING_EDGE flags have unclear semantics and each driver seems to have interpreted them slightly differently. For the record, the semantics of this driver are: flags Meaning ---------------------------------------------------- -------------------------- PTP_ENABLE_FEATURE Time stamp falling edge PTP_ENABLE_FEATURE|PTP_RISING_EDGE Time stamp rising edge PTP_ENABLE_FEATURE|PTP_FALLING_EDGE Time stamp falling edge PTP_ENABLE_FEATURE|PTP_RISING_EDGE|PTP_FALLING_EDGE Time stamp rising edge Cc: Brandon Streiff Signed-off-by: Jacob Keller Reviewed-by: Richard Cochran --- drivers/net/dsa/mv88e6xxx/ptp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/ptp.c b/drivers/net/dsa/mv88e6xxx/ptp.c index 073cbd0bb91b..076e622a64d6 100644 --- a/drivers/net/dsa/mv88e6xxx/ptp.c +++ b/drivers/net/dsa/mv88e6xxx/ptp.c @@ -273,6 +273,12 @@ static int mv88e6352_ptp_enable_extts(struct mv88e6xxx_chip *chip, int pin; int err; + /* Reject requests with unsupported flags */ + if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | + PTP_RISING_EDGE | + PTP_FALLING_EDGE)) + return -EOPNOTSUPP; + pin = ptp_find_pin(chip->ptp_clock, PTP_PF_EXTTS, rq->extts.index); if (pin < 0) From patchwork Thu Nov 14 18:44:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195049 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cPhBmbId"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVly2gj3z9sR4 for ; Fri, 15 Nov 2019 05:45:18 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727119AbfKNSpR (ORCPT ); Thu, 14 Nov 2019 13:45:17 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:41702 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727073AbfKNSpQ (ORCPT ); Thu, 14 Nov 2019 13:45:16 -0500 Received: by mail-pl1-f194.google.com with SMTP id d29so3016946plj.8 for ; Thu, 14 Nov 2019 10:45:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y5PpCROqLUVCSPUX0tvoqkWmvSCrAux1rzZqUUXzDoo=; b=cPhBmbIdmtQyfQF5AzbqYAvH2xoRj/40g6d2qV5pdY0c1+x9QJjtVhWv32MQqPBmNc Sk6GtuGCYW8VDpn/EN2UxzavB3UQ97D36VdcOf+oVrOKj8VG6hJUtXZo7kYhh/Y8TFKn E2uKmuVao6l+yWztnczXHEXRQt/NKrdxorFH7K+nk19Obb34h7PhMpC2hk6ewz8CAMxW Oc1q41H87UAMM/EpVkDyJAbTMcE1/bIjmru0tVvXGVBnd/vbvQwcp4UR+DE4Os4Rfq37 fStGwklceIwevHB10wpqPsz8vj6wfNcplYtGBWKOGQiowq1zh9MttEduJM2LX+jcC9Lw 7VUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y5PpCROqLUVCSPUX0tvoqkWmvSCrAux1rzZqUUXzDoo=; b=YZEM42Vl4t5PhmG8OfFulEZdKIudCMhvSwVkZjKZX+yECmCmhly2WDmhKLggpLEVHu kR4M6q+CMeBbizIiHwBzl1l+d8jBOQT8UWIvG4bNL6yZ5wN3mI/URytlnnk9c3kMxI/C IVbf14iNjoi0E8jQNX6OpyfGDk/qlHS6JUiXJ2SWp84LnZgDWBWH7fP6yVsU0/U/t/Og Pv2kzTWCYBg5jHPZ2OZAPHivlk4COVc8/HNkqeYb9kPB410QGOjW9EckV5e9auPjjtXp iWXl5itD4NqNr4V+4XWWf+g0MthFxlzJ5SaWtLDbqoE+tu2iYZVppzdFYre7sg5Cc8IO SIew== X-Gm-Message-State: APjAAAWFgxsmx696DwNTwUKWS3SRsQ3CPf0Kut0Bsw4YbTq4uCfQUJ7P j0KQgJmG56o3LXSzm6rNj1pzlG1c X-Google-Smtp-Source: APXvYqxwXzvhDmITW4QOWmuk5/jUBwai9RuM5ACXa/w6RYjVf9/qTI18CLm1V501Va+erWE2fXAFHA== X-Received: by 2002:a17:902:6a88:: with SMTP id n8mr637917plk.226.1573757115373; Thu, 14 Nov 2019 10:45:15 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:14 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 04/13] dp83640: reject unsupported external timestamp flags Date: Thu, 14 Nov 2019 10:44:58 -0800 Message-Id: <20191114184507.18937-5-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jacob Keller Fix the dp83640 PTP support to explicitly reject any future flags that get added to the external timestamp request ioctl. In order to maintain currently functioning code, this patch accepts all three current flags. This is because the PTP_RISING_EDGE and PTP_FALLING_EDGE flags have unclear semantics and each driver seems to have interpreted them slightly differently. For the record, the semantics of this driver are: flags Meaning ---------------------------------------------------- -------------------------- PTP_ENABLE_FEATURE Time stamp rising edge PTP_ENABLE_FEATURE|PTP_RISING_EDGE Time stamp rising edge PTP_ENABLE_FEATURE|PTP_FALLING_EDGE Time stamp falling edge PTP_ENABLE_FEATURE|PTP_RISING_EDGE|PTP_FALLING_EDGE Time stamp falling edge Cc: Stefan Sørensen Cc: Richard Cochran Signed-off-by: Jacob Keller Reviewed-by: Richard Cochran --- drivers/net/phy/dp83640.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c index 04ad77758920..2781b0e2d947 100644 --- a/drivers/net/phy/dp83640.c +++ b/drivers/net/phy/dp83640.c @@ -469,6 +469,11 @@ static int ptp_dp83640_enable(struct ptp_clock_info *ptp, switch (rq->type) { case PTP_CLK_REQ_EXTTS: + /* Reject requests with unsupported flags */ + if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | + PTP_RISING_EDGE | + PTP_FALLING_EDGE)) + return -EOPNOTSUPP; index = rq->extts.index; if (index >= N_EXT_TS) return -EINVAL; From patchwork Thu Nov 14 18:44:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195052 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Jx6Bgr7O"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVm100Tlz9sQp for ; Fri, 15 Nov 2019 05:45:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727137AbfKNSpT (ORCPT ); Thu, 14 Nov 2019 13:45:19 -0500 Received: from mail-pg1-f193.google.com ([209.85.215.193]:39074 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727118AbfKNSpR (ORCPT ); Thu, 14 Nov 2019 13:45:17 -0500 Received: by mail-pg1-f193.google.com with SMTP id 29so4342925pgm.6 for ; Thu, 14 Nov 2019 10:45:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=v+ExKxfOT/Th93uAzKkGBPLkIVwaHS47X1LnIewKNKg=; b=Jx6Bgr7OwiyBrv9XwlgAsSg8fB3hGAJCkT+4nsx1I465GEmLhT1sx5CIbDJSvTaIuB rV40GkylC3E799Myh/jc1xnkP1is3JgGj9nx3thE8NwTfrLMn9lhNpPgYhi0HtUeTZ8o E31SPEoKaDSdlNTsTx+WO5Ya7twx45q1Nv+avQHMWf2B1zFViED/aQqpSqqWgLe79iTu fOTUxXSwEGLJbtLucVMN97twZZ3Myl47Fee4wdAK8bKph9Da8wDlf7odPiLEUCWTZfKN PboF1q2ZtOyGE9R1TvXvJ2EdR+otMhYBLM9D1LXZZ9T4544e8JJEoidmEVdxBKoEXacp q7dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=v+ExKxfOT/Th93uAzKkGBPLkIVwaHS47X1LnIewKNKg=; b=bxFFexsj5oiWd44lmwnImfxBCLPdVsMzGebBSs4Qwb3W+xQWzd/hKalggXJ8cM3Cnw aio8a/k25SvSNgYOUkvEbCVH0R/ZglVfBcz+cZ5mOYKjIjUVfj3W3o4vxK/u91s1B1WU dMXHbNEm7RE79ux/J3QNDGFw+DeW+Pa2x2HqC6vDL9BpH3BSyMRG6t0b7XlklNl84Gnl ZI3X94/12VrILupRGe1bWhXBxUleOc9Qg3+Ye1VpEoE7qWSmiAFAkzrHF2DIji6aH68T jcgdQE469rFbrZu+ZC5E90C9y5ATmmlDQ3dLB6OjWiT6FRtLx1SlBhA/uxKmCNMqnBuu Ckvg== X-Gm-Message-State: APjAAAUN1T00aMrXPu/VUhWsuIJCpjxaO2cnDDejHw85hri9e+JaDFl0 Jtwsz9qJu+WLWSSsxIHdyYSP13wv X-Google-Smtp-Source: APXvYqx3b14oHrv5YzdxYBi25JaKUfo00uMLj9uVDs6L3mpvlGNoXso0STPsIC//nadxvp49vaY45w== X-Received: by 2002:a63:d901:: with SMTP id r1mr11706173pgg.328.1573757116811; Thu, 14 Nov 2019 10:45:16 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:16 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen , Aaron Brown Subject: [PATCH net 05/13] igb: reject unsupported external timestamp flags Date: Thu, 14 Nov 2019 10:44:59 -0800 Message-Id: <20191114184507.18937-6-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jacob Keller Fix the igb PTP support to explicitly reject any future flags that get added to the external timestamp request ioctl. In order to maintain currently functioning code, this patch accepts all three current flags. This is because the PTP_RISING_EDGE and PTP_FALLING_EDGE flags have unclear semantics and each driver seems to have interpreted them slightly differently. This HW always time stamps both edges: flags Meaning ---------------------------------------------------- -------------------------- PTP_ENABLE_FEATURE Time stamp both edges PTP_ENABLE_FEATURE|PTP_RISING_EDGE Time stamp both edges PTP_ENABLE_FEATURE|PTP_FALLING_EDGE Time stamp both edges PTP_ENABLE_FEATURE|PTP_RISING_EDGE|PTP_FALLING_EDGE Time stamp both edges Signed-off-by: Jacob Keller Tested-by: Aaron Brown --- drivers/net/ethernet/intel/igb/igb_ptp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c index 4997963149f6..0bce3e0f1af0 100644 --- a/drivers/net/ethernet/intel/igb/igb_ptp.c +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -521,6 +521,12 @@ static int igb_ptp_feature_enable_i210(struct ptp_clock_info *ptp, switch (rq->type) { case PTP_CLK_REQ_EXTTS: + /* Reject requests with unsupported flags */ + if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | + PTP_RISING_EDGE | + PTP_FALLING_EDGE)) + return -EOPNOTSUPP; + if (on) { pin = ptp_find_pin(igb->ptp_clock, PTP_PF_EXTTS, rq->extts.index); From patchwork Thu Nov 14 18:45:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195054 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UF7sT9Hu"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVm22xzGz9sR7 for ; Fri, 15 Nov 2019 05:45:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727151AbfKNSpV (ORCPT ); Thu, 14 Nov 2019 13:45:21 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:42130 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727133AbfKNSpT (ORCPT ); Thu, 14 Nov 2019 13:45:19 -0500 Received: by mail-pl1-f195.google.com with SMTP id j12so3019831plt.9 for ; Thu, 14 Nov 2019 10:45:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vsKoGi0FAC/KrsCxzqHSC+UAZbZLyyk3Sb9n5a/c8+M=; b=UF7sT9Huk8CwaoJ/o40DDCTT/XQXjkRS/Kkm9BTkDPq++KwOvvi7SjA3kI4g1gV//E 8zyDRdmJcBKoEwbeZFLPX+ZWyeMO9Cgn7ASWB8f8qTEGJB/MR4xc8JfTbqhu/u71ydRo bMrjIqT4CQ7a7pwFX0QyUXEyWeC/RQg7200s9OY7X4zPlnMqMLPKxABcttFK1hOL5NnC KiodeB6VYv4LEiBiDk+KbKpy45MPT5G+PzU/rXv18b+75ZGmvhyJKjEsJtIKRRJSzm5+ l2IdXNpUvOs2ig0EuIcNIcvjn8mKWySh3g7VQ+MAkWyZsx8AVe/UTtbieL3eLjtS/5yN AjGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vsKoGi0FAC/KrsCxzqHSC+UAZbZLyyk3Sb9n5a/c8+M=; b=qujvHfQyyRyVlSZaMPQogGbBUVBd3JAOti4Cu1HToedfUpgpKOpOeN86wry1IJLpWs rzUQ+9iqK0632r7M3a6s5/oUxh5cEK7V2gTW7aStIimFrJKY9LVJJxPD6vkZCvgrDQBF zX4/2EI26LbOuqe7KK5ua4fe77P6taBjV6N7gIbeqVFuLKoQxgLTe0SrW9i/Lnyz+aZT dmPz955mizeMGrZO2EwznVSakcFSxLF34C+TM37JTUtx1K6uPo76x5CTtQP1t/fsaGgg JfW6hB67B+zN0y+MU88By9dq63CkktOUmkzLs3JUSMHu+7TOPbkdgKeM7LCDQt5gtzGX kjrQ== X-Gm-Message-State: APjAAAU4qWnMMIU78+q4wndV4JEuEKnpDUSeM1GRxqqoFievf3aVB8S/ yr9k6cpIl9d/we2zCVZIeRj3cEZu X-Google-Smtp-Source: APXvYqwhciTpKJzbRyHRYFGGedeC3yTKw8ODZa10zfyFovb9ZxO8M1O59zcAlG4HNhdnokF2i5QCYg== X-Received: by 2002:a17:902:b702:: with SMTP id d2mr11057777pls.104.1573757118249; Thu, 14 Nov 2019 10:45:18 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:17 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 06/13] mlx5: reject unsupported external timestamp flags Date: Thu, 14 Nov 2019 10:45:00 -0800 Message-Id: <20191114184507.18937-7-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jacob Keller Fix the mlx5 core PTP support to explicitly reject any future flags that get added to the external timestamp request ioctl. In order to maintain currently functioning code, this patch accepts all three current flags. This is because the PTP_RISING_EDGE and PTP_FALLING_EDGE flags have unclear semantics and each driver seems to have interpreted them slightly differently. [ RC: I'm not 100% sure what this driver does, but if I'm not wrong it follows the dp83640: flags Meaning ---------------------------------------------------- -------------------------- PTP_ENABLE_FEATURE Time stamp rising edge PTP_ENABLE_FEATURE|PTP_RISING_EDGE Time stamp rising edge PTP_ENABLE_FEATURE|PTP_FALLING_EDGE Time stamp falling edge PTP_ENABLE_FEATURE|PTP_RISING_EDGE|PTP_FALLING_EDGE Time stamp falling edge ] Cc: Feras Daoud Cc: Eugenia Emantayev Signed-off-by: Jacob Keller Reviewed-by: Richard Cochran Reviewed-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c index cff6b60de304..9a40f24e3193 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -236,6 +236,12 @@ static int mlx5_extts_configure(struct ptp_clock_info *ptp, if (!MLX5_PPS_CAP(mdev)) return -EOPNOTSUPP; + /* Reject requests with unsupported flags */ + if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | + PTP_RISING_EDGE | + PTP_FALLING_EDGE)) + return -EOPNOTSUPP; + if (rq->extts.index >= clock->ptp_info.n_pins) return -EINVAL; From patchwork Thu Nov 14 18:45:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195067 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AlEKTmOx"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVmJ1fW6z9sPc for ; Fri, 15 Nov 2019 05:45:36 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727152AbfKNSpW (ORCPT ); Thu, 14 Nov 2019 13:45:22 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:45609 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727149AbfKNSpU (ORCPT ); Thu, 14 Nov 2019 13:45:20 -0500 Received: by mail-pg1-f194.google.com with SMTP id k1so3027536pgg.12 for ; Thu, 14 Nov 2019 10:45:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=xN6Ff/rEmda33ktJVzl9KCXqa8Sx0iaIjbPXMuf+NBQ=; b=AlEKTmOxNzExN9wdwBJvmv0HnbxXq1IGPPAOjrul0f//SeZAyapcuM+wRs24y3ZSfJ N146GR1cZ5+UBaUA2yGMWpQZ4x3dD31x4WG93L34XXvtjSng4ZWYZVitWj53MvFlSCml NYVbAHg6RkS6z2BOwCv/hUA5fGn0JOFY8tvv/VDBdhHFRJPeZxVyJzpD7kZF1LlCt/F4 uIL2Z8Uo+geC/x/dUQdwJ8lB23Wqypbn2AEXSCnlulaZp8sJ6bJVcd9FHFZ27IglZH32 lyholkefIYZEkqBz56FfeRjNL+UsNakB+6klomVEldPPZumS3tyvQH4W321erYo3iH4T 1xgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=xN6Ff/rEmda33ktJVzl9KCXqa8Sx0iaIjbPXMuf+NBQ=; b=jNfVmvVvoLcnLdsI3wY27lXV3Sg/8CNi/zytXo/IyhY29HcB5ZLYv2QwjTlBEtTLhl qKqtkc4rX+XpESn2dQ8fQausT3yLuZMEuAqo1N+QMifu/kwKfA5SZ65sRLfQyV6nXfxr oKe98Wr0h3G376SXmt4z41JM5qXR47PT15aNkJUknIeD2C+smlsvcwurW8ZCH07E0zmw 2bUDBHihAjo5aZpmRN/icCRbvk3OQGA9VNQPs5A4prs5ciPz/GVh9Br7EfoLNQrDn0Rd PYDJDQ8AsEyiB/0J1wvhzIKuzdpoh7aMZxGtuH64hGYt9IGPxlcwzJ3j4Xn+fmw9KWkq 1+xw== X-Gm-Message-State: APjAAAXM3gvSC6QPs+2mKwEeJlmOclyXuRhJpidsxAU4pH5uYPrFo1Gt 3oIOw5g8mVReZhFV62L/a7GwgoUa X-Google-Smtp-Source: APXvYqyDM6CBaERu9pdWS5TIezYmH40TxWm+Pok5B/6Lxu+q5I4mi1XpJkzUaRDheD35nYOcra1FHg== X-Received: by 2002:aa7:9432:: with SMTP id y18mr913814pfo.250.1573757119716; Thu, 14 Nov 2019 10:45:19 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:19 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 07/13] renesas: reject unsupported external timestamp flags Date: Thu, 14 Nov 2019 10:45:01 -0800 Message-Id: <20191114184507.18937-8-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jacob Keller Fix the renesas PTP support to explicitly reject any future flags that get added to the external timestamp request ioctl. In order to maintain currently functioning code, this patch accepts all three current flags. This is because the PTP_RISING_EDGE and PTP_FALLING_EDGE flags have unclear semantics and each driver seems to have interpreted them slightly differently. Cc: Sergei Shtylyov Signed-off-by: Jacob Keller Reviewed-by: Richard Cochran Reviewed-by: Sergei Shtylyov --- drivers/net/ethernet/renesas/ravb_ptp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/renesas/ravb_ptp.c b/drivers/net/ethernet/renesas/ravb_ptp.c index 638f1fc2166f..666dbee48097 100644 --- a/drivers/net/ethernet/renesas/ravb_ptp.c +++ b/drivers/net/ethernet/renesas/ravb_ptp.c @@ -182,6 +182,12 @@ static int ravb_ptp_extts(struct ptp_clock_info *ptp, struct net_device *ndev = priv->ndev; unsigned long flags; + /* Reject requests with unsupported flags */ + if (req->flags & ~(PTP_ENABLE_FEATURE | + PTP_RISING_EDGE | + PTP_FALLING_EDGE)) + return -EOPNOTSUPP; + if (req->index) return -EINVAL; From patchwork Thu Nov 14 18:45:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195058 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="j2tGtcfx"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVm56PFQz9s4Y for ; Fri, 15 Nov 2019 05:45:25 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727180AbfKNSpY (ORCPT ); Thu, 14 Nov 2019 13:45:24 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:34872 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727073AbfKNSpW (ORCPT ); Thu, 14 Nov 2019 13:45:22 -0500 Received: by mail-pf1-f195.google.com with SMTP id q13so4872324pff.2 for ; Thu, 14 Nov 2019 10:45:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OffYFMf+ZOaY8ZSWvKSHW83/Ze95I/wpNSGexu7BXxI=; b=j2tGtcfxj1ga7Tqd36W0X/V5RQZLx6EpTYpyTuM5tdkGy7JuSR7UXcdQzREdkM3A3e e+AGxHhQ9ECeD/gxqV97/etfJVzIFKGByvmlowBdPPrnWLsE4mb+XXDXZp9b+rOZ4Pmb R9q64AQNdVb5At/1pqTK0MPTxGrO3dfhnxhwK18DxWeT1KObRlNYn2CSwyUnOFwr7TcR xihGKPNTSxfCbug7VjCtfD8WTnahq87qSzPYZTu2MoyPd7/HauyziE6sNN204u1CsxS/ TBnswY0TspaL87u0pnxyNT08OV1lDrJIE4greHudGDQ9lmTZGkgkQvD9yBrU5kIAgzLB B7Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OffYFMf+ZOaY8ZSWvKSHW83/Ze95I/wpNSGexu7BXxI=; b=N3rbx/0XgY2JXzlL03a+kBEVVNsIDV6aF43pFK6TTKAZD1ylIIqNZ+YsqvXCoK9X0c j3EiuzVyJvssw3iIumnolVrCyvfoewiDckcjj5e4pIRjIObupLFxhRXxEytD+mVhpy2F ICiuI8zBhLeoE+CaytUaAWsbDQznBzzE31nJjDEKWbnFWEC4TMSXzCgN2EkLy/Ockh8a /U+2tFSKtS2C5KFT+nE2b6/2ZQc9w6Z0hc6K3SykyUeHgOwzqPMyR/2Y+xzg3ry7xbHG 3KmJyznIMR9/WonQgpIIH6B+w4D4Nxmny8nbGYsjkFsXThBp2S/ttw2sf9cThJ1caFlU i+Ww== X-Gm-Message-State: APjAAAX9N6lJyWOEdwR6vCk4nqouyb4FJW7Ba5r2MCnvJVeZP/8vmQNL U3WRBf6Rw6o3LToQ1RnieG2wW0dz X-Google-Smtp-Source: APXvYqyRG6OMoXdvstk6lQ4vX+oJ+6MB6GqKUl+zWiqYwW99r1BlXyeVdDrRK+hCRjWeoYMefinvrw== X-Received: by 2002:a17:90b:d88:: with SMTP id bg8mr14417315pjb.78.1573757121030; Thu, 14 Nov 2019 10:45:21 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:20 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 08/13] ptp: Introduce strict checking of external time stamp options. Date: Thu, 14 Nov 2019 10:45:02 -0800 Message-Id: <20191114184507.18937-9-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org User space may request time stamps on rising edges, falling edges, or both. However, the particular mode may or may not be supported in the hardware or in the driver. This patch adds a "strict" flag that tells drivers to ensure that the requested mode will be honored. Signed-off-by: Richard Cochran --- drivers/net/dsa/mv88e6xxx/ptp.c | 3 ++- drivers/net/ethernet/intel/igb/igb_ptp.c | 3 ++- drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 3 ++- drivers/net/ethernet/renesas/ravb_ptp.c | 3 ++- drivers/net/phy/dp83640.c | 3 ++- drivers/ptp/ptp_chardev.c | 2 ++ include/uapi/linux/ptp_clock.h | 4 +++- 7 files changed, 15 insertions(+), 6 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/ptp.c b/drivers/net/dsa/mv88e6xxx/ptp.c index 076e622a64d6..3b1985902f95 100644 --- a/drivers/net/dsa/mv88e6xxx/ptp.c +++ b/drivers/net/dsa/mv88e6xxx/ptp.c @@ -276,7 +276,8 @@ static int mv88e6352_ptp_enable_extts(struct mv88e6xxx_chip *chip, /* Reject requests with unsupported flags */ if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | PTP_RISING_EDGE | - PTP_FALLING_EDGE)) + PTP_FALLING_EDGE | + PTP_STRICT_FLAGS)) return -EOPNOTSUPP; pin = ptp_find_pin(chip->ptp_clock, PTP_PF_EXTTS, rq->extts.index); diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c index 0bce3e0f1af0..3fd60715bca7 100644 --- a/drivers/net/ethernet/intel/igb/igb_ptp.c +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -524,7 +524,8 @@ static int igb_ptp_feature_enable_i210(struct ptp_clock_info *ptp, /* Reject requests with unsupported flags */ if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | PTP_RISING_EDGE | - PTP_FALLING_EDGE)) + PTP_FALLING_EDGE | + PTP_STRICT_FLAGS)) return -EOPNOTSUPP; if (on) { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c index 9a40f24e3193..819097d9b583 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -239,7 +239,8 @@ static int mlx5_extts_configure(struct ptp_clock_info *ptp, /* Reject requests with unsupported flags */ if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | PTP_RISING_EDGE | - PTP_FALLING_EDGE)) + PTP_FALLING_EDGE | + PTP_STRICT_FLAGS)) return -EOPNOTSUPP; if (rq->extts.index >= clock->ptp_info.n_pins) diff --git a/drivers/net/ethernet/renesas/ravb_ptp.c b/drivers/net/ethernet/renesas/ravb_ptp.c index 666dbee48097..6984bd5b7da9 100644 --- a/drivers/net/ethernet/renesas/ravb_ptp.c +++ b/drivers/net/ethernet/renesas/ravb_ptp.c @@ -185,7 +185,8 @@ static int ravb_ptp_extts(struct ptp_clock_info *ptp, /* Reject requests with unsupported flags */ if (req->flags & ~(PTP_ENABLE_FEATURE | PTP_RISING_EDGE | - PTP_FALLING_EDGE)) + PTP_FALLING_EDGE | + PTP_STRICT_FLAGS)) return -EOPNOTSUPP; if (req->index) diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c index 2781b0e2d947..3bba2bea3a88 100644 --- a/drivers/net/phy/dp83640.c +++ b/drivers/net/phy/dp83640.c @@ -472,7 +472,8 @@ static int ptp_dp83640_enable(struct ptp_clock_info *ptp, /* Reject requests with unsupported flags */ if (rq->extts.flags & ~(PTP_ENABLE_FEATURE | PTP_RISING_EDGE | - PTP_FALLING_EDGE)) + PTP_FALLING_EDGE | + PTP_STRICT_FLAGS)) return -EOPNOTSUPP; index = rq->extts.index; if (index >= N_EXT_TS) diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c index cbbe1237ff8d..9d72ab593f13 100644 --- a/drivers/ptp/ptp_chardev.c +++ b/drivers/ptp/ptp_chardev.c @@ -150,6 +150,8 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg) break; } if (cmd == PTP_EXTTS_REQUEST2) { + /* Tell the drivers to check the flags carefully. */ + req.extts.flags |= PTP_STRICT_FLAGS; /* Make sure no reserved bit is set. */ if ((req.extts.flags & ~PTP_EXTTS_VALID_FLAGS) || req.extts.rsv[0] || req.extts.rsv[1]) { diff --git a/include/uapi/linux/ptp_clock.h b/include/uapi/linux/ptp_clock.h index 304059b1609d..9dc9d0079e98 100644 --- a/include/uapi/linux/ptp_clock.h +++ b/include/uapi/linux/ptp_clock.h @@ -31,6 +31,7 @@ #define PTP_ENABLE_FEATURE (1<<0) #define PTP_RISING_EDGE (1<<1) #define PTP_FALLING_EDGE (1<<2) +#define PTP_STRICT_FLAGS (1<<3) #define PTP_EXTTS_EDGES (PTP_RISING_EDGE | PTP_FALLING_EDGE) /* @@ -38,7 +39,8 @@ */ #define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | \ PTP_RISING_EDGE | \ - PTP_FALLING_EDGE) + PTP_FALLING_EDGE | \ + PTP_STRICT_FLAGS) /* * flag fields valid for the original PTP_EXTTS_REQUEST ioctl. From patchwork Thu Nov 14 18:45:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195060 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="sL6ewae8"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVm64Gmdz9sQp for ; Fri, 15 Nov 2019 05:45:26 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727187AbfKNSpZ (ORCPT ); Thu, 14 Nov 2019 13:45:25 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:43648 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727159AbfKNSpX (ORCPT ); Thu, 14 Nov 2019 13:45:23 -0500 Received: by mail-pg1-f195.google.com with SMTP id l24so4324921pgh.10 for ; Thu, 14 Nov 2019 10:45:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=FM0Xa5CiudMEuYb8SLKHiBcKyURm3GM8uH2aZPmH6I0=; b=sL6ewae8cqR2iO+Y3fQIcpw/lBi9VN+TvYmQIPf8SdGeqK1yvGsXEIOikxFGOthKP5 Qi8JCFRJe0p3e6SDGszPrH3vPeZVbP/yxyiEt9uBvrwbVVclBrcbdNRKwFQ+3lkg7oli 6eY1iAqbSnxGH4wbYockkaV+J9k0c99OR2u8D90WuGOt+/83fI6+y5X9Q0EM1puHm0uy CFSQG3v+cNFym/crT0bTl8nR/LQCrsIWqVWeCR/yVNLI/PhR/t5oE5Ptc9ctWa+jWWNG StO+vPb4gtiXltQZb/QnFGlepkR06X8Hq89Myn+iTaDGtW0IPfjdgeGo54WPWsiXo91s dnkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=FM0Xa5CiudMEuYb8SLKHiBcKyURm3GM8uH2aZPmH6I0=; b=gSaZLRVbNAqBIBFtOMPA3SZIp0/VL9z0JqG1i97eepvPiPrRYj0bG3eDm+364pW25A SR0AyQZlfvKwh3zj5+1Q/rQAWbG5btumHbez96P/5A5mQ7Z+N5fw3McKKp0kW9W3kzPJ Rc+03Y6NZqR0/ecV1Lf+WhABa7aoudXXo1pFtsMsxH4OxNLan2TTNurXSQCeN8m3zw5m floUAjMEFWXyupJQ+UqG02ibLJtTRMA8Bw9AEyzuiYOuA+1eaHrZJjpxDYMq5jAqbA9y tIAO9f3+AvgR9qWvERLaoSQFEPqX4aEPCyMSUlhxuLZK7p0IoHZ3ceFZf3CSgCepcWsi ndhQ== X-Gm-Message-State: APjAAAUkwoeTjtK0cbwQ/+WtTda0XfKyFifw3W54AG4UqeFf7M1DI1Li NjQ07EL9uas4CvAxiYz74Lxhg0Ua X-Google-Smtp-Source: APXvYqyBqA+/yf0s54xrqKe3oPWTtSleHncUSgQ1wUUX2iDg3/6htOF9EV3okmf551jJuYXw92P00Q== X-Received: by 2002:a63:7210:: with SMTP id n16mr11119972pgc.397.1573757122328; Thu, 14 Nov 2019 10:45:22 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:21 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 09/13] mv88e6xxx: Reject requests to enable time stamping on both edges. Date: Thu, 14 Nov 2019 10:45:03 -0800 Message-Id: <20191114184507.18937-10-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This driver enables rising edge or falling edge, but not both, and so this patch validates that the request contains only one of the two edges. Signed-off-by: Richard Cochran --- drivers/net/dsa/mv88e6xxx/ptp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/ptp.c b/drivers/net/dsa/mv88e6xxx/ptp.c index 3b1985902f95..d838c174dc0d 100644 --- a/drivers/net/dsa/mv88e6xxx/ptp.c +++ b/drivers/net/dsa/mv88e6xxx/ptp.c @@ -280,6 +280,12 @@ static int mv88e6352_ptp_enable_extts(struct mv88e6xxx_chip *chip, PTP_STRICT_FLAGS)) return -EOPNOTSUPP; + /* Reject requests to enable time stamping on both edges. */ + if ((rq->extts.flags & PTP_STRICT_FLAGS) && + (rq->extts.flags & PTP_ENABLE_FEATURE) && + (rq->extts.flags & PTP_EXTTS_EDGES) == PTP_EXTTS_EDGES) + return -EOPNOTSUPP; + pin = ptp_find_pin(chip->ptp_clock, PTP_PF_EXTTS, rq->extts.index); if (pin < 0) From patchwork Thu Nov 14 18:45:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195061 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="miDGPt32"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVm866n2z9s4Y for ; Fri, 15 Nov 2019 05:45:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727206AbfKNSp1 (ORCPT ); Thu, 14 Nov 2019 13:45:27 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:38468 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727181AbfKNSpY (ORCPT ); Thu, 14 Nov 2019 13:45:24 -0500 Received: by mail-pg1-f194.google.com with SMTP id 15so4346469pgh.5 for ; Thu, 14 Nov 2019 10:45:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=o0poRh66g/qqcAtxprleBKed73eICCEv6L8Oqc9jcrg=; b=miDGPt321IibkYm9srsINKjfZCosucoHt8gtkG+k7OX4GrhuTKA/j4l/Q6pXyiYoEU vnEcMx3/OqTBHAYzh/BEGEcBKyAUg/rpcivOFRCwbz+IphJg5lWYZR8rmGFAAAb27RlJ ku5qrWNtmE66LzaKsugPW8ZOZ7ChP3RbN0XaVlIjnmHhKiTJwOCgbbHtn8oqEeLKjcMW MHi4wQbrWuSE9qTcieRUDv2cB7E3O+7br0wbfhy//xEg7xbTi4yx7sjH4gK0FonNRDTW kvqlOX6FZD4+La2fO4iBYZ1CCxemvk502Qgz4/l7H0MYuTrwqZPkaLPwMZM6stcK+c70 vBDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=o0poRh66g/qqcAtxprleBKed73eICCEv6L8Oqc9jcrg=; b=ey1fU1h5cYHVuUZsIXZ1fINmKngdUhgevE+psLoNPgM4fzKXaCRGLgcC+6XhFhVvGg 3hynPfA1qgqS10h+aQEvVH75QnxwFdGyvzv14rNPRw5UU0hv7V/+XPFIln4bx/8ND5Ll Z055BJ8FzBYYOrmLM9o5ehHkteAkj+O7Io3go9oqBC3lAAfZdpFkHfFMMy7JKDAbhYro k/TSIKiNXQhgrCNYAEDNM/JioQprLEVXznSWNLz2lOVWhQI7sRfd40CF2pR1tHZEfwM2 sWSsE6Edhutp1gyL8ctJEeDTna+9BRuNJXkSSqBnMBgLzeZig9jeHhCaJ4BnVeYco2ih C6Jg== X-Gm-Message-State: APjAAAVEE/YapsyNId1cZMRMII7fu/WZ8DcPhcO3YKnDsX9LFHzXBz7x ssXZvR2Iow9et8trvubeW7pM7fHr X-Google-Smtp-Source: APXvYqyt+sDREmYpkh+77thPoRhBNaWyB0Ipzg5X3TtSKyogbAMclFXkc3Z+1wclRekRUL8UnSfYsg== X-Received: by 2002:a65:6482:: with SMTP id e2mr8679115pgv.20.1573757123822; Thu, 14 Nov 2019 10:45:23 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:23 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 10/13] dp83640: Reject requests to enable time stamping on both edges. Date: Thu, 14 Nov 2019 10:45:04 -0800 Message-Id: <20191114184507.18937-11-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This driver enables rising edge or falling edge, but not both, and so this patch validates that the request contains only one of the two edges. Signed-off-by: Richard Cochran --- drivers/net/phy/dp83640.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c index 3bba2bea3a88..8f241b57fcf6 100644 --- a/drivers/net/phy/dp83640.c +++ b/drivers/net/phy/dp83640.c @@ -475,6 +475,13 @@ static int ptp_dp83640_enable(struct ptp_clock_info *ptp, PTP_FALLING_EDGE | PTP_STRICT_FLAGS)) return -EOPNOTSUPP; + + /* Reject requests to enable time stamping on both edges. */ + if ((rq->extts.flags & PTP_STRICT_FLAGS) && + (rq->extts.flags & PTP_ENABLE_FEATURE) && + (rq->extts.flags & PTP_EXTTS_EDGES) == PTP_EXTTS_EDGES) + return -EOPNOTSUPP; + index = rq->extts.index; if (index >= N_EXT_TS) return -EINVAL; From patchwork Thu Nov 14 18:45:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195063 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="QKP/0O4P"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVmD2dJNz9s4Y for ; Fri, 15 Nov 2019 05:45:32 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727233AbfKNSpa (ORCPT ); Thu, 14 Nov 2019 13:45:30 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:42140 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727189AbfKNSp0 (ORCPT ); Thu, 14 Nov 2019 13:45:26 -0500 Received: by mail-pl1-f193.google.com with SMTP id j12so3020002plt.9 for ; Thu, 14 Nov 2019 10:45:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EgZP9Qg8jKjpYCoDh3oNRwu6jLyNFPvdVGbrs0P5gb0=; b=QKP/0O4PMONo3xuGbZDoiCP+GoyoTIvuu+fdiqkeYkxppDvBf5cHolmMn0r6KzxOwz KIojTVA54ky42bwHGtf7NSOZ9nVRu0zOkf+u3y7KbvOfERfoN+kZl+7UH0E3KU3MNgG7 IiFOOPXKGxjscRIkF2pYkeGRmth5ABZK3mbXftYCS0dZDXfHXoKdVSPSc6T3HywHoMgW 8jfTe4uNr/iWdPiz6XzKj6BRzVRqLd1end1+M5Aicszem0FHIkAWs3rTQLlQQcPUMgms zql7sulv+U9j50eYWjH5iyRVbdE1cMoj/wZi03mVkM/HmAjIo2sS/VPCqBEF4tbct521 izQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EgZP9Qg8jKjpYCoDh3oNRwu6jLyNFPvdVGbrs0P5gb0=; b=NEPgOPrXnHr3d8MyvttrJ3umSkG8xhxIEAXylGAXcU1LsrXhRHAex6En3x7G9x7unW rFUt6O3sfRIrketmgP/Bh+Oc3lcV17Yxk6mL+EfqOmnft3EUHizq1/ohEKJjylHXhVg6 P4+m1QQju9UK4QTpt5OCbgGBdTGCXCrjO6FDYpI9lEQ4Oa0DBS7Gbx7MGiqO5SI2/e2k cVPf+iwP+ZJ0IwFGM5OiCPgOB/9qrYsAHRHCdxtKkDQdKExaYjcWB//FZCkOucLASyRy RJT9mTWzHCOFK5x1BUqA1dMsBPpHrGP6cgNPEkluC78L5nDyWy8CSpOyvaxWvwNrbFvI dC0g== X-Gm-Message-State: APjAAAXREWcFDyylW4940HhXi4cONxcOfglGcEkhTqRUPby2rZoo8MFV Zp5fGhGgV1goBdbVW+Ubaw1kScZU X-Google-Smtp-Source: APXvYqwbWZHVJXyM6LwZqG93BFEVswnKFIib/1vA31agwuV1XgvHF/y2aw+qgyQO4OxTpj8+2SWDzA== X-Received: by 2002:a17:90a:b109:: with SMTP id z9mr13948112pjq.108.1573757125454; Thu, 14 Nov 2019 10:45:25 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:24 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 11/13] igb: Reject requests that fail to enable time stamping on both edges. Date: Thu, 14 Nov 2019 10:45:05 -0800 Message-Id: <20191114184507.18937-12-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This hardware always time stamps rising and falling edges, and so this patch validates that the request does contains both edges. Signed-off-by: Richard Cochran --- drivers/net/ethernet/intel/igb/igb_ptp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c index 3fd60715bca7..c39e921757ba 100644 --- a/drivers/net/ethernet/intel/igb/igb_ptp.c +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -528,6 +528,12 @@ static int igb_ptp_feature_enable_i210(struct ptp_clock_info *ptp, PTP_STRICT_FLAGS)) return -EOPNOTSUPP; + /* Reject requests failing to enable both edges. */ + if ((rq->extts.flags & PTP_STRICT_FLAGS) && + (rq->extts.flags & PTP_ENABLE_FEATURE) && + (rq->extts.flags & PTP_EXTTS_EDGES) != PTP_EXTTS_EDGES) + return -EOPNOTSUPP; + if (on) { pin = ptp_find_pin(igb->ptp_clock, PTP_PF_EXTTS, rq->extts.index); From patchwork Thu Nov 14 18:45:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195062 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lzBnyKi+"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVmB4x11z9s4Y for ; Fri, 15 Nov 2019 05:45:30 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727220AbfKNSp3 (ORCPT ); Thu, 14 Nov 2019 13:45:29 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:37229 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727208AbfKNSp1 (ORCPT ); Thu, 14 Nov 2019 13:45:27 -0500 Received: by mail-pg1-f195.google.com with SMTP id z24so4352866pgu.4 for ; Thu, 14 Nov 2019 10:45:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=FM3VhSbSiafPaH1zDTjChkDXYC3HNrrA8QbibO1hxSM=; b=lzBnyKi+bZrh9wnaaq2maczx3IdNblvCteLtfehTKx3USUsi/YgVJfiyYCoJ8FwIMx jOszlkQOPBv7oUwdNL8Ma5NbuZ+bjI3QDV6px/IrnsL5e6RCuFx3oOsdfp6j1U9CDcR8 h/YeE5zFtvUhJ0VEzErb5aB1q9OoT5cNtWfgII8Y9T8svrTQFXe986Y8VkFnSeALS4Yw lQ6mVbFnm0M0RAwSzmgpheESK+M5m3Umdj90RlC5g40WdFfY23+aM4LzX9upCNousnQB rqiVruVT2CFyYElyNfOqGEjgwV4L3MonyDqs6OSUpLd/Kc4UCnLlshKb05zqAVsUDILM ir/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=FM3VhSbSiafPaH1zDTjChkDXYC3HNrrA8QbibO1hxSM=; b=cixo/gtRBs8fSll/WWCZnqre5SATTs03oy7tIYWzpdW1891DC2k+SE9hx/iVJDqs+4 nk7gXhn8q9a3SuuTJlA/dj8C0ttKCrz3Wd14+hgDJ5IM9w98x/a1X8L26oMRUPA09YI/ HJf/N2bHi5CXQzljUjotdhck3DanTkvA8O6Q6Ih0M6E4JGUJz/3jK1RAxndxgtHLC5ph bacsaa5yScP+OQoeDhI1z7YF8jcVbU2pmSEfQbIIKq3rBocMIUcdHFVbASRA8GdDR+Gr 6SaZzBDcNvgy7x1EN9yGVWzBybDiruC/2yWo152BjPkQuhXT+75xlwP75Fm22YbE5LO0 fdvQ== X-Gm-Message-State: APjAAAX/YeQCQ3h4GtjjsktdbiYQ9rbYjwmauqJOdXFSs/T2fvy+M6jd PF5BYy3VuXs0z6HxTeFPmj48Um2t X-Google-Smtp-Source: APXvYqziilQvp1gfUwYWyoR6VkMNhcHXbr/HTWJJBPcj/7VRsUUQYaXZldCvOUmsEfrY2kMf0OUFnw== X-Received: by 2002:a17:90a:9dca:: with SMTP id x10mr13996788pjv.139.1573757126814; Thu, 14 Nov 2019 10:45:26 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:26 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 12/13] mlx5: Reject requests to enable time stamping on both edges. Date: Thu, 14 Nov 2019 10:45:06 -0800 Message-Id: <20191114184507.18937-13-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This driver enables rising edge or falling edge, but not both, and so this patch validates that the request contains only one of the two edges. Signed-off-by: Richard Cochran Reviewed-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c index 819097d9b583..43f97601b500 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -243,6 +243,12 @@ static int mlx5_extts_configure(struct ptp_clock_info *ptp, PTP_STRICT_FLAGS)) return -EOPNOTSUPP; + /* Reject requests to enable time stamping on both edges. */ + if ((rq->extts.flags & PTP_STRICT_FLAGS) && + (rq->extts.flags & PTP_ENABLE_FEATURE) && + (rq->extts.flags & PTP_EXTTS_EDGES) == PTP_EXTTS_EDGES) + return -EOPNOTSUPP; + if (rq->extts.index >= clock->ptp_info.n_pins) return -EINVAL; From patchwork Thu Nov 14 18:45:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 1195066 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Vl9798Ap"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47DVmH3Q8mz9sQp for ; Fri, 15 Nov 2019 05:45:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727247AbfKNSpd (ORCPT ); Thu, 14 Nov 2019 13:45:33 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:44946 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727210AbfKNSp3 (ORCPT ); Thu, 14 Nov 2019 13:45:29 -0500 Received: by mail-pl1-f195.google.com with SMTP id az9so3015393plb.11 for ; Thu, 14 Nov 2019 10:45:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=AHCtOmZ2GTslOfW4Um0mVrFAtc3tK3f23TYhKGTJCmE=; b=Vl9798Ap678R+AQutazdpde2HDDM5L2YwL4kGCKMSBGWGHRI0eoXrWxYgQ1CZ6wxYB hfVmR4cxyH+y+fPcFGomu8lp7zViUi+rBAS+XCnqUamo9I3XRDPL3L7hDIoARcCk4EYO cjO3NOA0pq6TgYzRDnS4azdKZ9+CT910y1NHUDMOm+9batpVk3oqVEhzMDsN81+GvMu5 CiZ1isZEA5aqqfIqs9h32DN0qXBmXg8JOFD+vdHeRFShpupiTJoTuzOov7jaMVVcf3Cz HJlUzgZxk2jEO1/Ti1WHlqXzJjVjZceqfbQIv7m/OvCa4947w7l3eldm27WjpoqNL4E1 oJKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=AHCtOmZ2GTslOfW4Um0mVrFAtc3tK3f23TYhKGTJCmE=; b=WjJ0Hp3dMDybk4kU5a2FOZf6bS5nY3W3TcCzkMoN9FIi28bwTK5lzBwrTWeBeAVLce dbY6knF/vVQpinIVs0OyoPNYoXqgBKm0XvUBl67zKhGXofLTnbKtQIX7jKS3Hjjor2Fd Z4DEBIMjjg5U11qFK/58E5+aVLVmz3EZ6affTIeDUUo7RnXTnBjbbO0z5KDHBSFH52eh NTNgZmoB+UHEZL4XPfXJvPXViw6EWosAG0Cglc6fZ2ykFOfPd25uejRecNISWIXLGF5E zxwqAVmdezpUIBOUfSfcnfSjMGXFCxA1ZSDkP2BuR2kCqzrmJQPM3yACHyXYertRhBsK xSQg== X-Gm-Message-State: APjAAAVigd305VxwKjeMp3Z+PfP6XtuJ7su7T6QvcbRjZQ4KwLmX1P7V 23LavyZRL03iB7Y4j2zO++LM//HF X-Google-Smtp-Source: APXvYqy3ALZfMdDzUs65O3O63qtslh17W7iZe49ML6Rpvfk3n1M3R4zU5I9Yl97hQoXKJEHZuOSt4Q== X-Received: by 2002:a17:902:b693:: with SMTP id c19mr10960511pls.89.1573757128105; Thu, 14 Nov 2019 10:45:28 -0800 (PST) Received: from localhost.localdomain (c-73-241-114-122.hsd1.ca.comcast.net. [73.241.114.122]) by smtp.gmail.com with ESMTPSA id 23sm6819507pgw.8.2019.11.14.10.45.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:45:27 -0800 (PST) From: Richard Cochran To: netdev@vger.kernel.org Cc: intel-wired-lan@lists.osuosl.org, David Miller , Brandon Streiff , Christopher Hall , Eugenia Emantayev , Felipe Balbi , Feras Daoud , Jacob Keller , Jeffrey Kirsher , Sergei Shtylyov , Stefan Sorensen Subject: [PATCH net 13/13] ptp: Extend the test program to check the external time stamp flags. Date: Thu, 14 Nov 2019 10:45:07 -0800 Message-Id: <20191114184507.18937-14-richardcochran@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Because each driver and hardware has different capabilities, the test cannot provide a simple pass/fail result, but it can at least show what combinations of flags are supported. Signed-off-by: Richard Cochran --- tools/testing/selftests/ptp/testptp.c | 53 ++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/ptp/testptp.c b/tools/testing/selftests/ptp/testptp.c index bd4a7247b44f..c0dd10257df5 100644 --- a/tools/testing/selftests/ptp/testptp.c +++ b/tools/testing/selftests/ptp/testptp.c @@ -44,6 +44,46 @@ static int clock_adjtime(clockid_t id, struct timex *tx) } #endif +static void show_flag_test(int rq_index, unsigned int flags, int err) +{ + printf("PTP_EXTTS_REQUEST%c flags 0x%08x : (%d) %s\n", + rq_index ? '1' + rq_index : ' ', + flags, err, strerror(errno)); + /* sigh, uClibc ... */ + errno = 0; +} + +static void do_flag_test(int fd, unsigned int index) +{ + struct ptp_extts_request extts_request; + unsigned long request[2] = { + PTP_EXTTS_REQUEST, + PTP_EXTTS_REQUEST2, + }; + unsigned int enable_flags[5] = { + PTP_ENABLE_FEATURE, + PTP_ENABLE_FEATURE | PTP_RISING_EDGE, + PTP_ENABLE_FEATURE | PTP_FALLING_EDGE, + PTP_ENABLE_FEATURE | PTP_RISING_EDGE | PTP_FALLING_EDGE, + PTP_ENABLE_FEATURE | (PTP_EXTTS_VALID_FLAGS + 1), + }; + int err, i, j; + + memset(&extts_request, 0, sizeof(extts_request)); + extts_request.index = index; + + for (i = 0; i < 2; i++) { + for (j = 0; j < 5; j++) { + extts_request.flags = enable_flags[j]; + err = ioctl(fd, request[i], &extts_request); + show_flag_test(i, extts_request.flags, err); + + extts_request.flags = 0; + err = ioctl(fd, request[i], &extts_request); + } + } +} + static clockid_t get_clockid(int fd) { #define CLOCKFD 3 @@ -96,7 +136,8 @@ static void usage(char *progname) " -s set the ptp clock time from the system time\n" " -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", + " -T val set the ptp clock time to 'val' seconds\n" + " -z test combinations of rising/falling external time stamp flags\n", progname); } @@ -122,6 +163,7 @@ int main(int argc, char *argv[]) int adjtime = 0; int capabilities = 0; int extts = 0; + int flagtest = 0; int gettime = 0; int index = 0; int list_pins = 0; @@ -138,7 +180,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:ghi:k:lL:p:P:sSt:T:v"))) { + while (EOF != (c = getopt(argc, argv, "cd:e:f:ghi:k:lL:p:P:sSt:T:z"))) { switch (c) { case 'c': capabilities = 1; @@ -191,6 +233,9 @@ int main(int argc, char *argv[]) settime = 3; seconds = atoi(optarg); break; + case 'z': + flagtest = 1; + break; case 'h': usage(progname); return 0; @@ -322,6 +367,10 @@ int main(int argc, char *argv[]) } } + if (flagtest) { + do_flag_test(fd, index); + } + if (list_pins) { int n_pins = 0; if (ioctl(fd, PTP_CLOCK_GETCAPS, &caps)) {