This is a note to let you know that I've just added the patch titled ata: ahci_brcm: Allow optional reset controller to be used to the 4.19-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: ata-ahci_brcm-allow-optional-reset-controller-to-be-used.patch and it can be found in the queue-4.19 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 2b2c47d9e1fe90311b725125d6252a859ee87a79 Mon Sep 17 00:00:00 2001 From: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon, 1 Oct 2018 10:33:00 -0700 Subject: ata: ahci_brcm: Allow optional reset controller to be used From: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 2b2c47d9e1fe90311b725125d6252a859ee87a79 upstream. On BCM63138, we need to reset the AHCI core prior to start utilizing it, grab the reset controller device cookie and do that. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/ata/ahci_brcm.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/ata/ahci_brcm.c +++ b/drivers/ata/ahci_brcm.c @@ -25,6 +25,7 @@ #include <linux/module.h> #include <linux/of.h> #include <linux/platform_device.h> +#include <linux/reset.h> #include <linux/string.h> #include "ahci.h" @@ -94,6 +95,7 @@ struct brcm_ahci_priv { u32 port_mask; u32 quirks; enum brcm_ahci_version version; + struct reset_control *rcdev; }; static inline u32 brcm_sata_readreg(void __iomem *addr) @@ -433,6 +435,11 @@ static int brcm_ahci_probe(struct platfo if (IS_ERR(priv->top_ctrl)) return PTR_ERR(priv->top_ctrl); + /* Reset is optional depending on platform */ + priv->rcdev = devm_reset_control_get(&pdev->dev, "ahci"); + if (!IS_ERR_OR_NULL(priv->rcdev)) + reset_control_deassert(priv->rcdev); + if ((priv->version == BRCM_SATA_BCM7425) || (priv->version == BRCM_SATA_NSP)) { priv->quirks |= BRCM_AHCI_QUIRK_NO_NCQ; Patches currently in stable-queue which might be from f.fainelli@xxxxxxxxx are queue-4.19/ata-libahci_platform-export-again-ahci_platform_-en-dis-able_phys.patch queue-4.19/ata-ahci_brcm-add-missing-clock-management-during-recovery.patch queue-4.19/ata-ahci_brcm-fix-ahci-resources-management.patch queue-4.19/ata-ahci_brcm-allow-optional-reset-controller-to-be-used.patch queue-4.19/ata-ahci_brcm-bcm7425-ahci-requires-ahci_hflag_delay_engine.patch