From: Greg Kroah-Hartman Date: Tue, 7 Jan 2020 19:31:40 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.14.163~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09dbb986f7a8d3cb4ee711ba01021a774c118a2a;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: ata-ahci_brcm-allow-optional-reset-controller-to-be-used.patch --- diff --git a/queue-4.19/ata-ahci_brcm-add-missing-clock-management-during-recovery.patch b/queue-4.19/ata-ahci_brcm-add-missing-clock-management-during-recovery.patch index 2df561f0b1e..b129ddc7190 100644 --- a/queue-4.19/ata-ahci_brcm-add-missing-clock-management-during-recovery.patch +++ b/queue-4.19/ata-ahci_brcm-add-missing-clock-management-during-recovery.patch @@ -29,7 +29,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/ata/ahci_brcm.c +++ b/drivers/ata/ahci_brcm.c -@@ -282,6 +282,13 @@ static unsigned int brcm_ahci_read_id(st +@@ -284,6 +284,13 @@ static unsigned int brcm_ahci_read_id(st /* Perform the SATA PHY reset sequence */ brcm_sata_phy_disable(priv, ap->port_no); diff --git a/queue-4.19/ata-ahci_brcm-allow-optional-reset-controller-to-be-used.patch b/queue-4.19/ata-ahci_brcm-allow-optional-reset-controller-to-be-used.patch new file mode 100644 index 00000000000..ddf0b90e4f6 --- /dev/null +++ b/queue-4.19/ata-ahci_brcm-allow-optional-reset-controller-to-be-used.patch @@ -0,0 +1,50 @@ +From 2b2c47d9e1fe90311b725125d6252a859ee87a79 Mon Sep 17 00:00:00 2001 +From: Florian Fainelli +Date: Mon, 1 Oct 2018 10:33:00 -0700 +Subject: ata: ahci_brcm: Allow optional reset controller to be used + +From: Florian Fainelli + +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 +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman + +--- + 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 + #include + #include ++#include + #include + + #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; diff --git a/queue-4.19/ata-ahci_brcm-bcm7425-ahci-requires-ahci_hflag_delay_engine.patch b/queue-4.19/ata-ahci_brcm-bcm7425-ahci-requires-ahci_hflag_delay_engine.patch index b14d9582773..bc7b34d2832 100644 --- a/queue-4.19/ata-ahci_brcm-bcm7425-ahci-requires-ahci_hflag_delay_engine.patch +++ b/queue-4.19/ata-ahci_brcm-bcm7425-ahci-requires-ahci_hflag_delay_engine.patch @@ -33,7 +33,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/ata/ahci_brcm.c +++ b/drivers/ata/ahci_brcm.c -@@ -84,8 +84,7 @@ enum brcm_ahci_version { +@@ -85,8 +85,7 @@ enum brcm_ahci_version { }; enum brcm_ahci_quirks { @@ -43,9 +43,9 @@ Signed-off-by: Greg Kroah-Hartman }; struct brcm_ahci_priv { -@@ -440,18 +439,27 @@ static int brcm_ahci_probe(struct platfo - if (IS_ERR(priv->top_ctrl)) - return PTR_ERR(priv->top_ctrl); +@@ -447,18 +446,27 @@ static int brcm_ahci_probe(struct platfo + if (!IS_ERR_OR_NULL(priv->rcdev)) + reset_control_deassert(priv->rcdev); - if ((priv->version == BRCM_SATA_BCM7425) || - (priv->version == BRCM_SATA_NSP)) { @@ -77,7 +77,7 @@ Signed-off-by: Greg Kroah-Hartman ret = ahci_platform_enable_clks(hpriv); if (ret) goto out_reset; -@@ -471,15 +479,8 @@ static int brcm_ahci_probe(struct platfo +@@ -478,15 +486,8 @@ static int brcm_ahci_probe(struct platfo /* Must be done before ahci_platform_enable_phys() */ brcm_sata_phys_enable(priv); diff --git a/queue-4.19/series b/queue-4.19/series index 716a8180357..ced22a6d75f 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -59,6 +59,7 @@ compat_ioctl-block-handle-persistent-reservations.patch compat_ioctl-block-handle-blkreportzone-blkresetzone.patch ata-libahci_platform-export-again-ahci_platform_-en-dis-able_phys.patch ata-ahci_brcm-fix-ahci-resources-management.patch +ata-ahci_brcm-allow-optional-reset-controller-to-be-used.patch ata-ahci_brcm-add-missing-clock-management-during-recovery.patch ata-ahci_brcm-bcm7425-ahci-requires-ahci_hflag_delay_engine.patch libata-fix-retrieving-of-active-qcs.patch