Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3538376pxb; Mon, 1 Mar 2021 12:42:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJyGw55D23lWzhxu7IC8TbsrYFCr0+JjH0W4tugaN7hSXaBfYY+d4DfRQSw/65OQ1e1xjf9j X-Received: by 2002:a05:6402:1383:: with SMTP id b3mr17591184edv.131.1614631331472; Mon, 01 Mar 2021 12:42:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614631331; cv=none; d=google.com; s=arc-20160816; b=XpU7sjlVOgNg4M5mfs1XMp4iZf/QPWkASrgJGlKxaqwamr7Ql9GJa1v32MQVOm2CjG wX1puK3Ekyf3b5cVOfNlPf6K4Wbko/9ZNkMrNJ/Y9F0BzfgAAvZxplF6L5UeQMKiRgRK JBpNz+qBBcNST4yh1RqWtdH7XziJXFMjOV7tr+KY0N4J3uJy3T0t1Q8oU+oxGh3Bv+a3 oJkLwAx7f9Zm1pbWnqXpitbR8Z95XNdhLBmxRvjZV1IX+QZaKXeA15CQMfxy5eWHEuKq jRMe79bUHhPEPcdSq43FjTckhFxOwp/WccDj7F0i+lTx55fGNS8BNVP6jx39lZTA3MmI OhuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gY3ueGB0SZZILIk+ITB1qW1Q8j1WNY3J5gfKCvqBa3M=; b=VqF0hIGLoRC0jH5NtvH0DRF+TM0Ol5dG0L6IzIKy/gMsNEP80oDiNnGb3GsbXoSQs1 5/ogbmYbu7j0/GEJ/1ehIOzDg37V8ztnvrZttZMvtOLog46FvFt/v1nBqgTKvjvwFjHw hU1ySVg6kFxJcz9AUaDXmj/SWAUy7Kgm5Md4NOMXuYJ/+pjGC0i0vPJG9YQ2/RdsWhsa azhn3hXjgB3hUsiSOZBBbjD6qtA5RFiwEpnmcApr0lNQQy3WW11IZLwjtgcHXXPLogUF BP1csKDtjoMFVV25d1T5PzTdRd/7LDYplVskML2CgKF1PquB57Mti0vUIRiaea48pSz2 T4Zw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="X5NxH60/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o13si9259274edi.135.2021.03.01.12.41.48; Mon, 01 Mar 2021 12:42:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="X5NxH60/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243666AbhCAUix (ORCPT + 99 others); Mon, 1 Mar 2021 15:38:53 -0500 Received: from mail.kernel.org ([198.145.29.99]:35320 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237515AbhCARIV (ORCPT ); Mon, 1 Mar 2021 12:08:21 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8C34D64F88; Mon, 1 Mar 2021 16:41:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614616875; bh=3+UHu/QGGBHSUaSkHqcqoPOZb/F9xu2nDsdySNGweDM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=X5NxH60/YQPMjDdIgkDFFqgiTpDrNbVE0+l9FFoP6xAZrofKH/6mJhXEpfUPDORAw ogg3e6zguRNgTNzqkv33RlqIqYdrieYdltZSCK5B0Pw0mz6msirFe5goFOmaTagTYP ys3WtRoEuhBaY7cRdg4sMCk9TGI4EYvjno0D4b+M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Florian Fainelli , Jens Axboe , Sasha Levin Subject: [PATCH 4.19 095/247] ata: ahci_brcm: Add back regulators management Date: Mon, 1 Mar 2021 17:11:55 +0100 Message-Id: <20210301161036.325937997@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161031.684018251@linuxfoundation.org> References: <20210301161031.684018251@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Florian Fainelli [ Upstream commit 10340f8d7b6dd54e616339c8ccb2f397133ebea0 ] While reworking the resources management and departing from using ahci_platform_enable_resources() which did not allow a proper step separation like we need, we unfortunately lost the ability to control AHCI regulators. This broke some Broadcom STB systems that do expect regulators to be turned on to link up with attached hard drives. Fixes: c0cdf2ac4b5b ("ata: ahci_brcm: Fix AHCI resources management") Signed-off-by: Florian Fainelli Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin --- drivers/ata/ahci_brcm.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/ata/ahci_brcm.c b/drivers/ata/ahci_brcm.c index 0192cab1b862f..e58b336d1324c 100644 --- a/drivers/ata/ahci_brcm.c +++ b/drivers/ata/ahci_brcm.c @@ -370,6 +370,10 @@ static int brcm_ahci_resume(struct device *dev) if (ret) return ret; + ret = ahci_platform_enable_regulators(hpriv); + if (ret) + goto out_disable_clks; + brcm_sata_init(priv); brcm_sata_phys_enable(priv); brcm_sata_alpm_init(hpriv); @@ -399,6 +403,8 @@ out_disable_platform_phys: ahci_platform_disable_phys(hpriv); out_disable_phys: brcm_sata_phys_disable(priv); + ahci_platform_disable_regulators(hpriv); +out_disable_clks: ahci_platform_disable_clks(hpriv); return ret; } @@ -471,6 +477,10 @@ static int brcm_ahci_probe(struct platform_device *pdev) if (ret) goto out_reset; + ret = ahci_platform_enable_regulators(hpriv); + if (ret) + goto out_disable_clks; + /* Must be first so as to configure endianness including that * of the standard AHCI register space. */ @@ -480,7 +490,7 @@ static int brcm_ahci_probe(struct platform_device *pdev) priv->port_mask = brcm_ahci_get_portmask(hpriv, priv); if (!priv->port_mask) { ret = -ENODEV; - goto out_disable_clks; + goto out_disable_regulators; } /* Must be done before ahci_platform_enable_phys() */ @@ -505,6 +515,8 @@ out_disable_platform_phys: ahci_platform_disable_phys(hpriv); out_disable_phys: brcm_sata_phys_disable(priv); +out_disable_regulators: + ahci_platform_disable_regulators(hpriv); out_disable_clks: ahci_platform_disable_clks(hpriv); out_reset: -- 2.27.0