Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp537457ybi; Fri, 7 Jun 2019 12:14:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqy0/yF2FMzxWSCoJtCAbrpk7NqdbUIFqjpZyr7JqpqRf1UI8ObcjKFVctgg7b4XULnVzjoc X-Received: by 2002:a17:90a:2ec2:: with SMTP id h2mr7553045pjs.119.1559934856108; Fri, 07 Jun 2019 12:14:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559934856; cv=none; d=google.com; s=arc-20160816; b=BgwU/unmfCJCLd6Gy01uAO8/Ww+teu6XTnzrPuhikrfa2mFiVUy3HAzVdzuDx+J333 NrCT1CHI23pbMDlOFGvPQ7iwmy3MD03jljnZnhaCSLlfQMlcBd10SXUR2Z9Cd//PWEhj 9VtDSb2MqkbWAuZlM5lKC5huzG6ws6+UqkwPtk+pzLuFZJS6SbCFzm9FTo+SEXr2bSja XAAcCupiPexKlIE+MvdboyiAexcDD+blx9Lfj6OTpNVu3DmJK1mBkqva5MpOBJ/m4k14 uxjJdwA65Sx/wwaujNxmKLSsgOU+W2NcmuBpjFhTicDxzvowe/eW0/BvjAg8CO+9P5X3 lCPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=WZogV4z1VKhvVyu263Gr44kLEkR8ux8bE8UPj6YwK9Q=; b=OYTjzPI+AUdOHipUdmp1dxVtazOYzjAD+A1xuOpVVr3xIXOvZ46el/uD1/tVzjkwmq X6AvEA2rFm2EK9jYqhDeQ47m410PMOZ0u8+DWT2tD0GmXTROJ9G31P6i01uP3uCpuTN8 9EyBi+ZfGKsEBrD75KWQ+gLs3d2RxSaI+AKjDhIfMMjvuAoINBbrZ+4ICo7gGFsociNC +7p2Igt2IAh2vk9zcP/FWwn3H6jYGIkk0bTbpUW5fW6aF6Ga3P0zllPrGqe7O4LZ7Itm GcxVMQCZMARO+2eby3FPxkP94d6Fm5qwXjrL+owa3lac4VfcwNjGhQIznsYgqzT+gqkO RO+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=n1GjCgY+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id cj14si3045028plb.141.2019.06.07.12.13.59; Fri, 07 Jun 2019 12:14:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=n1GjCgY+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730851AbfFGQAK (ORCPT + 99 others); Fri, 7 Jun 2019 12:00:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:50080 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730062AbfFGPkm (ORCPT ); Fri, 7 Jun 2019 11:40:42 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C769A214D8; Fri, 7 Jun 2019 15:40:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559922042; bh=gKNAFyK22tYRKB11/vHXTkanklIh/BMUv2eXKW5ZH8k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n1GjCgY+MAJQUEUNsrBDNxPXn4I+3FhoKksahGjpKa2Ua4AIMbJQuXTapf/gzMxom IyEjysBhI7jriehWdznOvonsVy5SEM1BxvyCB8K+64S3WJehWcIQgL3OKjLAy8S5Ca lItpATvDz5IfKMdIN8Y2C7Qd37dv5usPIx1CbHec= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Russell King , Maxime Chevallier , Andrew Lunn , "David S. Miller" Subject: [PATCH 4.14 16/69] net: phy: marvell10g: report if the PHY fails to boot firmware Date: Fri, 7 Jun 2019 17:38:57 +0200 Message-Id: <20190607153850.300582175@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190607153848.271562617@linuxfoundation.org> References: <20190607153848.271562617@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Russell King [ Upstream commit 3d3ced2ec5d71b99d72ae6910fbdf890bc2eccf0 ] Some boards do not have the PHY firmware programmed in the 3310's flash, which leads to the PHY not working as expected. Warn the user when the PHY fails to boot the firmware and refuse to initialise. Fixes: 20b2af32ff3f ("net: phy: add Marvell Alaska X 88X3310 10Gigabit PHY support") Signed-off-by: Russell King Tested-by: Maxime Chevallier Reviewed-by: Andrew Lunn Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/phy/marvell10g.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) --- a/drivers/net/phy/marvell10g.c +++ b/drivers/net/phy/marvell10g.c @@ -19,6 +19,9 @@ #include enum { + MV_PMA_BOOT = 0xc050, + MV_PMA_BOOT_FATAL = BIT(0), + MV_PCS_BASE_T = 0x0000, MV_PCS_BASE_R = 0x1000, MV_PCS_1000BASEX = 0x2000, @@ -59,11 +62,22 @@ static int mv3310_modify(struct phy_devi static int mv3310_probe(struct phy_device *phydev) { u32 mmd_mask = MDIO_DEVS_PMAPMD | MDIO_DEVS_AN; + int ret; if (!phydev->is_c45 || (phydev->c45_ids.devices_in_package & mmd_mask) != mmd_mask) return -ENODEV; + ret = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MV_PMA_BOOT); + if (ret < 0) + return ret; + + if (ret & MV_PMA_BOOT_FATAL) { + dev_warn(&phydev->mdio.dev, + "PHY failed to boot firmware, status=%04x\n", ret); + return -ENODEV; + } + return 0; }