From patchwork Wed Sep 16 21:51:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Lane X-Patchwork-Id: 1365728 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BsJTJ4rCWz9sVw; Thu, 17 Sep 2020 10:57:07 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1kIfLN-0001Ea-0U; Wed, 16 Sep 2020 21:52:01 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kIfLI-0001Cm-88 for kernel-team@lists.ubuntu.com; Wed, 16 Sep 2020 21:51:56 +0000 Received: from mail-qv1-f71.google.com ([209.85.219.71]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kIfLH-0003AG-Tf for kernel-team@lists.ubuntu.com; Wed, 16 Sep 2020 21:51:56 +0000 Received: by mail-qv1-f71.google.com with SMTP id h9so31907qvr.3 for ; Wed, 16 Sep 2020 14:51:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=TevHUISEu7QP5KlUNS4afqcAsJTf8RxVg3OmJvsCSRQ=; b=dsqVE1xkE9ix1FcuRbzplDfcye2T0y650gjkcZK9WKoMAwtW2WKfwQeJdpaz6JR+E8 /rxdRhphpb+D0uEvucQzGVCHEb0jOcsAT/yQ3MZcny8LR8OiUKOkqTbfeVaa/YbZ8XaD iuWUAv1crSB7f68uERZLvaszxqgPX4XaBWgiABTWXqjBtIZVPeX4W+/cgDmclgvIKOtn h4rwgKTXlVyZdPrmRo9R5WBsfIfg8Tdadp2Rm/eDTFVIpzCHxwSe9WintDZOo8w247mJ 9tpAoqrIGutLa6gBoxkiFdt6bDzTBgO/zAY4fzQbPBsIa8KQNgdd//bDD28mNPXOcneO 3bJg== X-Gm-Message-State: AOAM530/QUXx7oFBrBlnBvapXCAeYdWVvM/EYLPrT+7o9R4IGlt7bVea ndXI5PGuxIck7qlD9DqSF8mosDImrT5DqN5pm8lrLOY2Z6xub9/HC0cFeyZ3uTlwHMmqsJQSgeT dwTO0EJRteP8Zc8z/YOnkVQs5X+JrUMy3GUEcr7yh+A== X-Received: by 2002:a05:620a:21c9:: with SMTP id h9mr23422449qka.79.1600293114680; Wed, 16 Sep 2020 14:51:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBcFFlO9mGkN3BM7F02aM0geXu7GEepcVursrh+REl1oGGVyhRIWMHsCupPS0383TLe5cIoQ== X-Received: by 2002:a05:620a:21c9:: with SMTP id h9mr23422429qka.79.1600293114331; Wed, 16 Sep 2020 14:51:54 -0700 (PDT) Received: from localhost.localdomain ([174.24.185.252]) by smtp.gmail.com with ESMTPSA id f76sm20208943qke.19.2020.09.16.14.51.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2020 14:51:53 -0700 (PDT) From: Jeff Lane To: kernel-team@lists.ubuntu.com Subject: [PATCH 1/2] i40e: Fix LED blinking flow for X710T*L devices Date: Wed, 16 Sep 2020 17:51:49 -0400 Message-Id: <20200916215150.31363-2-jeffrey.lane@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916215150.31363-1-jeffrey.lane@canonical.com> References: <20200916215150.31363-1-jeffrey.lane@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Damian Milosek BugLink: https://bugs.launchpad.net/bugs/1893956 Add X710T*L device specific operations (in port LED detection and handling of GLGEN_GPIO_CTL.PIN_FUNC field) to enable LED blinking. Signed-off-by: Damian Milosek Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher (cherry picked from commit d80a476f4a12a84feaebfed993f3039fdc9c1249) Signed-off-by: Jeff Lane --- drivers/net/ethernet/intel/i40e/i40e_common.c | 29 +++++++++++++++++-- drivers/net/ethernet/intel/i40e/i40e_devids.h | 2 ++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c index 3160b5bbe672..425cd4e598e3 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_common.c +++ b/drivers/net/ethernet/intel/i40e/i40e_common.c @@ -1441,9 +1441,9 @@ static u32 i40e_led_is_mine(struct i40e_hw *hw, int idx) u32 gpio_val = 0; u32 port; - if (!hw->func_caps.led[idx]) + if (!I40E_IS_X710TL_DEVICE(hw->device_id) && + !hw->func_caps.led[idx]) return 0; - gpio_val = rd32(hw, I40E_GLGEN_GPIO_CTL(idx)); port = (gpio_val & I40E_GLGEN_GPIO_CTL_PRT_NUM_MASK) >> I40E_GLGEN_GPIO_CTL_PRT_NUM_SHIFT; @@ -1462,8 +1462,15 @@ static u32 i40e_led_is_mine(struct i40e_hw *hw, int idx) #define I40E_FILTER_ACTIVITY 0xE #define I40E_LINK_ACTIVITY 0xC #define I40E_MAC_ACTIVITY 0xD +#define I40E_FW_LED BIT(4) +#define I40E_LED_MODE_VALID (I40E_GLGEN_GPIO_CTL_LED_MODE_MASK >> \ + I40E_GLGEN_GPIO_CTL_LED_MODE_SHIFT) + #define I40E_LED0 22 +#define I40E_PIN_FUNC_SDP 0x0 +#define I40E_PIN_FUNC_LED 0x1 + /** * i40e_led_get - return current on/off mode * @hw: pointer to the hw struct @@ -1508,8 +1515,10 @@ void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink) { int i; - if (mode & 0xfffffff0) + if (mode & ~I40E_LED_MODE_VALID) { hw_dbg(hw, "invalid mode passed in %X\n", mode); + return; + } /* as per the documentation GPIO 22-29 are the LED * GPIO pins named LED0..LED7 @@ -1519,6 +1528,20 @@ void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink) if (!gpio_val) continue; + + if (I40E_IS_X710TL_DEVICE(hw->device_id)) { + u32 pin_func = 0; + + if (mode & I40E_FW_LED) + pin_func = I40E_PIN_FUNC_SDP; + else + pin_func = I40E_PIN_FUNC_LED; + + gpio_val &= ~I40E_GLGEN_GPIO_CTL_PIN_FUNC_MASK; + gpio_val |= ((pin_func << + I40E_GLGEN_GPIO_CTL_PIN_FUNC_SHIFT) & + I40E_GLGEN_GPIO_CTL_PIN_FUNC_MASK); + } gpio_val &= ~I40E_GLGEN_GPIO_CTL_LED_MODE_MASK; /* this & is a bit of paranoia, but serves as a range check */ gpio_val |= ((mode << I40E_GLGEN_GPIO_CTL_LED_MODE_SHIFT) & diff --git a/drivers/net/ethernet/intel/i40e/i40e_devids.h b/drivers/net/ethernet/intel/i40e/i40e_devids.h index bac4da031f9b..bf15a868292f 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_devids.h +++ b/drivers/net/ethernet/intel/i40e/i40e_devids.h @@ -23,6 +23,8 @@ #define I40E_DEV_ID_10G_BASE_T_BC 0x15FF #define I40E_DEV_ID_10G_B 0x104F #define I40E_DEV_ID_10G_SFP 0x104E +#define I40E_IS_X710TL_DEVICE(d) \ + ((d) == I40E_DEV_ID_10G_BASE_T_BC) #define I40E_DEV_ID_KX_X722 0x37CE #define I40E_DEV_ID_QSFP_X722 0x37CF #define I40E_DEV_ID_SFP_X722 0x37D0 From patchwork Wed Sep 16 21:51:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Lane X-Patchwork-Id: 1365736 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BsJZG0M8Cz9sWY; Thu, 17 Sep 2020 11:01:26 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1kIfLJ-0001DO-OC; Wed, 16 Sep 2020 21:51:57 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kIfLJ-0001D1-42 for kernel-team@lists.ubuntu.com; Wed, 16 Sep 2020 21:51:57 +0000 Received: from mail-qk1-f200.google.com ([209.85.222.200]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kIfLI-0003AN-Qx for kernel-team@lists.ubuntu.com; Wed, 16 Sep 2020 21:51:56 +0000 Received: by mail-qk1-f200.google.com with SMTP id j5so7387505qka.7 for ; Wed, 16 Sep 2020 14:51:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Sgb+5nj9f0lKvaYPFOWopSVgfdedomU2mDKnC627ltM=; b=ASDoCxjCTFpSgJtIL6wepPaMIk9YtcItCINumTmWn7k0A4o0QnlGv1Yv2opOoOx4fA MqrjovQBhwnO4V10QSX+pdl06KzVlGxD5xMXPAsKKvEApn+JIEMYJeZFBtmGycT5+/19 9qp79JZ1OfAJ703SaW6u5WCSSDcyjs3q7jnGqFdGwQ9VesckO9IHBACJWXZEQZH5sgV4 0Gd9M4MleXb4JlZv4EbzgrbngIyZBl50YJ9G3yEXfLC/8gRXosQLiRXyDwMlmIDRfYex PzDtZVklxKfAo2SPup3k4czWc7Ht1DUqLYeKBmFEQjj/W+BVcDcMh4Dgio+rWMPV+0QK g3aA== X-Gm-Message-State: AOAM532t1ZKAOSTmv6KTqTcCO/BqprWPP0kvSWFMnS9DzufjRDzxbpbt /81AD4PPy/e/rO1VNVZIGh89Pio8odgwGn1LAIxHcrqzx9xVPgaery/wuqvRho+OZwR1rsl8ype AfNkQ5C6HVV9+iE39pvztdd/8rKHkgIh3KWzYK9+3eQ== X-Received: by 2002:ac8:794c:: with SMTP id r12mr12489179qtt.162.1600293115640; Wed, 16 Sep 2020 14:51:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJySdtTO6hR3K8zNsK5FyacBeZ/hiBR95YPK3wqCjP/pAcqQzXE7KOHgj7En2x5gBDzwT/JDJA== X-Received: by 2002:ac8:794c:: with SMTP id r12mr12489162qtt.162.1600293115270; Wed, 16 Sep 2020 14:51:55 -0700 (PDT) Received: from localhost.localdomain ([174.24.185.252]) by smtp.gmail.com with ESMTPSA id f76sm20208943qke.19.2020.09.16.14.51.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2020 14:51:54 -0700 (PDT) From: Jeff Lane To: kernel-team@lists.ubuntu.com Subject: [PATCH 2/2] i40e: enable X710 support Date: Wed, 16 Sep 2020 17:51:50 -0400 Message-Id: <20200916215150.31363-3-jeffrey.lane@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200916215150.31363-1-jeffrey.lane@canonical.com> References: <20200916215150.31363-1-jeffrey.lane@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Alice Michael BugLink: https://bugs.launchpad.net/bugs/1893956 The I40E_DEV_ID_10G_BASE_T_BC device id was added previously, but was not enabled in all the appropriate places. Adding it to enable it's use. Signed-off-by: Alice Michael Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher (cherry picked from commit 3df5b9a6a9ec3c1e4431bf1db3426b54dc92dd91) Signed-off-by: Jeff Lane --- drivers/net/ethernet/intel/i40e/i40e_common.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c index 425cd4e598e3..b1ce14e79910 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_common.c +++ b/drivers/net/ethernet/intel/i40e/i40e_common.c @@ -29,6 +29,7 @@ i40e_status i40e_set_mac_type(struct i40e_hw *hw) case I40E_DEV_ID_QSFP_C: case I40E_DEV_ID_10G_BASE_T: case I40E_DEV_ID_10G_BASE_T4: + case I40E_DEV_ID_10G_BASE_T_BC: case I40E_DEV_ID_10G_B: case I40E_DEV_ID_10G_SFP: case I40E_DEV_ID_20G_KR2: @@ -4915,6 +4916,7 @@ i40e_status i40e_write_phy_register(struct i40e_hw *hw, break; case I40E_DEV_ID_10G_BASE_T: case I40E_DEV_ID_10G_BASE_T4: + case I40E_DEV_ID_10G_BASE_T_BC: case I40E_DEV_ID_10G_BASE_T_X722: case I40E_DEV_ID_25G_B: case I40E_DEV_ID_25G_SFP28: