From patchwork Tue Dec 7 03:57:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Koba Ko X-Patchwork-Id: 1564472 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=ObhLv6Y3; dkim-atps=neutral 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=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4J7RMy3fpvz9sXS for ; Tue, 7 Dec 2021 14:57:48 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1muRbc-0007Hw-TU; Tue, 07 Dec 2021 03:57:28 +0000 Received: from smtp-relay-internal-1.internal ([10.131.114.114] helo=smtp-relay-internal-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1muRbb-0007Fd-71 for kernel-team@lists.ubuntu.com; Tue, 07 Dec 2021 03:57:27 +0000 Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 13CE93F1AF for ; Tue, 7 Dec 2021 03:57:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1638849447; bh=4Pnkg6WcwUO9EFc3LkdbuQzr5K+TIqug6TLrqrmIbyQ=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=ObhLv6Y32fLEzTnLc49FkDxfmyluPAMudUNfQgTHAy9y7yqqHVfAcvItBiRLyeWEJ ljqiuH6W5rPmH6ZGdV5832GJrBrUOk/o/XuRG8F3M8H2PBUHhHp4tPCuSJDBhJ5HlG sAL5YYQR568bc9I31n8dWYGdhNRcN+/WOARmm2e8sf5NetVXCwEQ4j4a45SH4qi2N5 eJbGsw5MXIWIEHt/0BCS/wPrXzefIcP6W3mpsjpz3AUd+MyMYvIB41TCUFEBgpIGft 7ZIZ9DGK1l2dzgYWC1wXaI0O7oEWiFirAhgaNmbo3MMpGrjL61i0opwCVeJdTbsgLZ 5U/2OO6uOlGbg== Received: by mail-pg1-f197.google.com with SMTP id z8-20020a6553c8000000b00324e0d208d3so8005049pgr.2 for ; Mon, 06 Dec 2021 19:57:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=4Pnkg6WcwUO9EFc3LkdbuQzr5K+TIqug6TLrqrmIbyQ=; b=Ikd5T3iW5IRI9ewHVOeL7AXvJUvaILlhDihCCEG6FDFngoEA1qtsstBaZ7bbuo+CV0 aUhgX+rWOyGHny2q2gbcXH1oUXEc46muRftUDnMbLPrkISNzMI8ee99/N94q7T2QIZPK KdUdxaB3KHE0Tn+FmRAE64RT6d8rmiUw2isVhvuQpHny8rBfytKrCrrjtwQHWg4mWMLb /YYpsxLkI1baF5Ps8MzjEn0RJnuAOUxyG1LpPYEV7JgpKNzuNsWl3wxTUixIY1IxB9C+ FJhcsGbdGvz4EJoYhF9WLJLn0VbAGsPQsAeDQFMDqPFm9RmsytCUVpYViePwZ/rwMBID Qm8Q== X-Gm-Message-State: AOAM531Iy9vpCbuwhONsJWCl6TnYVyasKDcRJTPl/bhxejSSCCf0pV4U E+pKTyK9BWtzQQ7kP6+lmSkDYK4Svyr9HYmeilnDkerZEpZMlvwV/+GjAJ+8VWJTP8S3rKN0+h4 SDWZGIQLxcOd1VCBfFvGyT+fWkTF86jJXWGrDd5A/JQ== X-Received: by 2002:a63:90c1:: with SMTP id a184mr21806325pge.222.1638849445257; Mon, 06 Dec 2021 19:57:25 -0800 (PST) X-Google-Smtp-Source: ABdhPJzhC0RPgASwRSm6+q+8qV7k5gIeRVSynTMROmRVDHgtR2S9q0r1jEJvpin4HZ1LMQy2GOkBbA== X-Received: by 2002:a63:90c1:: with SMTP id a184mr21806305pge.222.1638849444868; Mon, 06 Dec 2021 19:57:24 -0800 (PST) Received: from canonical.com (211-75-139-218.hinet-ip.hinet.net. [211.75.139.218]) by smtp.gmail.com with ESMTPSA id bf13sm831459pjb.47.2021.12.06.19.57.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Dec 2021 19:57:24 -0800 (PST) From: Koba Ko To: kernel-team@lists.ubuntu.com Subject: [PATCH V3][SRU][I] UBUNTU: SAUCE: r8169: Use PHY_POLL when RTL8106E enable ASPM Date: Tue, 7 Dec 2021 11:57:23 +0800 Message-Id: <20211207035723.1197965-1-koba.ko@canonical.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 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: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1930645 For RTL8106E, it's a Fast-ethernet chip. If ASPM is enabled, the link chang interrupt wouldn't be triggered immediately and must wait a very long time to get link change interrupt. Even the link change interrupt isn't triggered, the phy link is already established. Use PHY_POLL to watch the status of phy link when ASPM is enabled on RTL8106E. Signed-off-by: Koba Ko V3: SRU for Impish --- drivers/net/ethernet/realtek/r8169_main.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index c3775901a798..206e21f8033c 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -2246,6 +2246,19 @@ static int rtl_set_mac_address(struct net_device *dev, void *p) return 0; } +static int rtl_phy_poll_quirk(struct rtl8169_private *tp) +{ + struct pci_dev *pdev = tp->pci_dev; + + if (!pcie_aspm_enabled(pdev)) + return 0; + + if (tp->mac_version == RTL_GIGA_MAC_VER_39) + return 1; + + return 0; +} + static void rtl_wol_enable_rx(struct rtl8169_private *tp) { if (tp->mac_version >= RTL_GIGA_MAC_VER_25) @@ -5088,7 +5101,8 @@ static int r8169_mdio_register(struct rtl8169_private *tp) new_bus->name = "r8169"; new_bus->priv = tp; new_bus->parent = &pdev->dev; - new_bus->irq[0] = PHY_MAC_INTERRUPT; + new_bus->irq[0] = + (rtl_phy_poll_quirk(tp) ? PHY_POLL : PHY_MAC_INTERRUPT); snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x-%x", pci_domain_nr(pdev->bus), pci_dev_id(pdev));