Skip to contentSkip to conversation

Fix SATA disk hotplug for Armada 370/XP SoCs

PATCH Superseded Simon Guinot 8 participants 20 messages Jan 14, 2014 – Jan 31, 2014

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

Hello,

This patch series fixes a SATA disk hotplug issue for the Armada 370/XP
SoCs: once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver.

This should be applied to the -stable kernels 3.10 and onwards.

Changes since v1:
- Introduces a new compatible string for the SATA IP found in Armada 370/XP SoCs.
- Only fix the LP_PHY_CTL register (0x58) if the compatible string "marvell,armada-370-xp-sata" is found in the SATA DT node.
- Update compatible string in DT SATA node for Armada 370/XP SoCs.

Thanks,

Simon

Lior Amsalem (1):
ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs

Simon Guinot (2):
ata: sata_mv: introduce compatible string "marvell,armada-370-xp-sata"
ARM: mvebu: update the SATA compatible string for Armada 370/XP

 Documentation/devicetree/bindings/ata/marvell.txt |  2 +-
 arch/arm/boot/dts/armada-370-xp.dtsi              |  2 +-
 drivers/ata/sata_mv.c                             | 25 +++++++++++++++++++++++
 3 files changed, 27 insertions(+), 2 deletions(-)
Signature · 9 lines
Cc: Thomas Petazzoni <[email protected]>
Cc: Jason Cooper <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Gregory Clement <[email protected]>
Cc: Sebastian Hesselbarth <[email protected]>
Cc: Lior Amsalem <[email protected]>
Cc: stable at vger.kernel.org
-- 
1.8.5.2
#1 lore raw

PATCH v2 1/3 ata: sata_mv: introduce compatible string "marvell, armada-370-xp-sata"

The sata_mv driver supports the SATA IP found in several Marvell SoCs. As some new SATA registers have been introduced with the Armada 370/XP SoCs, a way to identify them is needed.

This patch introduces a new compatible string for the SATA IP found in Armada 370/XP SoCs.

Cc Thomas Petazzoni <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Sebastian Hesselbarth <[email protected]>
Cc Lior Amsalem <[email protected]>
Cc stable at vger.kernel.org
---
 Documentation/devicetree/bindings/ata/marvell.txt | 2 +-
 drivers/ata/sata_mv.c                             | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/ata/marvell.txt +1 -1
index b5cdd20cde9c..a52a5d018042 100644
@@ -1,7 +1,7 @@
 * Marvell Orion SATA
 
 Required Properties:
-- compatibility : "marvell,orion-sata"
+- compatibility : "marvell,orion-sata" or "marvell,armada-370-xp-sata"
 - reg           : Address range of controller
 - interrupts    : Interrupt controller is using
 - nr-ports      : Number of SATA ports in use.
drivers/ata/sata_mv.c +1 -0
index 56be31819897..df35c521a141 100644
@@ -4209,6 +4209,7 @@ static int mv_platform_resume(struct platform_device *pdev)
 
 #ifdef CONFIG_OF
 static struct of_device_id mv_sata_dt_ids[] = {
+	{ .compatible = "marvell,armada-370-xp-sata", },
 	{ .compatible = "marvell,orion-sata", },
 	{},
 };
Signature · 1 line
1.8.5.2
#2 lore raw

PATCH v2 1/3 ata: sata_mv: introduce compatible string "marvell, armada-370-xp-sata"

Hi Simon, Jeff, Tejun,

Quoted 25 lines · Simon Guinot

The sata_mv driver supports the SATA IP found in several Marvell SoCs. As some new SATA registers have been introduced with the Armada 370/XP SoCs, a way to identify them is needed.

This patch introduces a new compatible string for the SATA IP found in Armada 370/XP SoCs.

Cc Thomas Petazzoni <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Sebastian Hesselbarth <[email protected]>
Cc Lior Amsalem <[email protected]>
Cc stable at vger.kernel.org
---
 Documentation/devicetree/bindings/ata/marvell.txt | 2 +-
 drivers/ata/sata_mv.c                             | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/ata/marvell.txt +0 -0
index b5cdd20cde9c..a52a5d018042 100644

Documentation/devicetree/bindings/ata/marvell.txt line 4

Quoted 5 lines
Documentation/devicetree/bindings/ata/marvell.txt +1 -1
@@ -1,7 +1,7 @@
 * Marvell Orion SATA
 
 Required Properties:
-- compatibility : "marvell,orion-sata"
+- compatibility : "marvell,orion-sata" or "marvell,armada-370-xp-sata"

Usually we try to use the name of the first SoC instead of a family name. So here it should be "marvell,armada-370-sata"

Thanks,

Gregory

Quoted 16 lines
Documentation/devicetree/bindings/ata/marvell.txt +0 -0
 - reg           : Address range of controller
 - interrupts    : Interrupt controller is using
 - nr-ports      : Number of SATA ports in use.
drivers/ata/sata_mv.c +1 -0
index 56be31819897..df35c521a141 100644
@@ -4209,6 +4209,7 @@ static int mv_platform_resume(struct platform_device *pdev)
 
 #ifdef CONFIG_OF
 static struct of_device_id mv_sata_dt_ids[] = {
+	{ .compatible = "marvell,armada-370-xp-sata", },
 	{ .compatible = "marvell,orion-sata", },
 	{},
 };
Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#3 lore raw

PATCH v2 2/3 ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs

In reply to Simon Guinot

From: Lior Amsalem <[email protected]>

On Armada 370/XP SoCs, once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver. This patch fixes the issue by updating the PHY speed in the LP_PHY_CTL register (0x58) according to the SControl speed.

Note that this fix is only applied if the compatible string "marvell,armada-370-xp-sata" is found in the SATA DT node.

Cc Thomas Petazzoni <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Sebastian Hesselbarth <[email protected]>
Cc stable at vger.kernel.org

---
Changes since v1:
- Only fix the LP_PHY_CTL register (0x58) if the compatible string "marvell,armada-370-xp-sata" is found in the SATA DT node.
- Update the commit message.

 drivers/ata/sata_mv.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
drivers/ata/sata_mv.c +24 -0
index df35c521a141..780bcc808b51 100644
@@ -304,6 +304,7 @@ enum {
 	MV5_LTMODE		= 0x30,
 	MV5_PHY_CTL		= 0x0C,
 	SATA_IFCFG		= 0x050,
+	LP_PHY_CTL		= 0x058,
 
 	MV_M2_PREAMP_MASK	= 0x7e0,
 
@@ -431,6 +432,7 @@ enum {
 	MV_HP_CUT_THROUGH	= (1 << 10),	/* can use EDMA cut-through */
 	MV_HP_FLAG_SOC		= (1 << 11),	/* SystemOnChip, no PCI */
 	MV_HP_QUIRK_LED_BLINK_EN = (1 << 12),	/* is led blinking enabled? */
+	MV_HP_FIX_LP_PHY_CTL	= (1 << 13),	/* fix speed in LP_PHY_CTL ? */
 
 	/* Port private flags (pp_flags) */
 	MV_PP_FLAG_EDMA_EN	= (1 << 0),	/* is EDMA engine enabled? */
@@ -1358,6 +1360,7 @@ static int mv_scr_write(struct ata_link *link, unsigned int sc_reg_in, u32 val)
 
 	if (ofs != 0xffffffffU) {
 		void __iomem *addr = mv_ap_base(link->ap) + ofs;
+		struct mv_host_priv *hpriv = link->ap->host->private_data;
 		if (sc_reg_in == SCR_CONTROL) {
 			/*
 			 * Workaround for 88SX60x1 FEr SATA#26:
@@ -1374,6 +1377,18 @@ static int mv_scr_write(struct ata_link *link, unsigned int sc_reg_in, u32 val)
 			 */
 			if ((val & 0xf) == 1 || (readl(addr) & 0xf) == 1)
 				val |= 0xf000;
+
+			if (hpriv->hp_flags & MV_HP_FIX_LP_PHY_CTL) {
+				void __iomem *lp_phy_addr =
+					mv_ap_base(link->ap) + LP_PHY_CTL;
+				/*
+				 * Set PHY speed according to SControl speed.
+				 */
+				if ((val & 0xf0) == 0x10)
+					writelfl(0x7, lp_phy_addr);
+				else
+					writelfl(0x227, lp_phy_addr);
+			}
 		}
 		writelfl(val, addr);
 		return 0;
@@ -4110,6 +4125,15 @@ static int mv_platform_probe(struct platform_device *pdev)
 	if (rc)
 		goto err;
 
+	/*
+	 * To allow disk hotplug on Armada 370/XP SoCs, the PHY speed must be
+	 * updated in the LP_PHY_CTL register.
+	 */
+	if (pdev->dev.of_node &&
+		of_device_is_compatible(pdev->dev.of_node,
+					"marvell,armada-370-xp-sata"))
+		hpriv->hp_flags |= MV_HP_FIX_LP_PHY_CTL;
+
 	/* initialize adapter */
 	rc = mv_init_host(host);
 	if (rc)
Signature · 1 line
1.8.5.2
#4 lore raw

PATCH v2 2/3 ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs

Dear Simon Guinot,

drivers/ata/sata_mv.c static int mv_scr_write(struct ata_link *link, unsigned int sc_reg_in, u32 val) · line 1391

Quoted 11 lines · Simon Guinot
drivers/ata/sata_mv.c +11 -0
+			if (hpriv->hp_flags & MV_HP_FIX_LP_PHY_CTL) {
+				void __iomem *lp_phy_addr =
+					mv_ap_base(link->ap) + LP_PHY_CTL;
+				/*
+				 * Set PHY speed according to SControl speed.
+				 */
+				if ((val & 0xf0) == 0x10)
+					writelfl(0x7, lp_phy_addr);
+				else
+					writelfl(0x227, lp_phy_addr);
+			}

I think we could do a little bit better than these magical values.

The datasheet says:

* bits 12:9, PIN_PHY_GEN_RX. Value 0x0 => 1.5 Gbps, value 0x1 => 3 Gbps
* bits 8:5, PIN_PHY_GEN_TX. Value 0x0 => 1.5 Gbps, value 0x1 => 3 Gbps
* bit 2, PIN_PU_TX. Value 0x0 => Power down, value 0x1 => Power up.
* bit 1, PIN_PU_RX. Value 0x0 => Power down, value 0x1 => Power up.
* bit 0, PIN_PU_PLL. Value 0x0 => Power down, value 0x1 => Power up.

So maybe something like:

#define PIN_PHY_GEN_1_5 0
#define PIN_PHY_GEN_3 1

#define PIN_PHY_GEN_RX(gen) ((gen) << 9)
#define PIN_PHY_GEN_TX(gen) ((gen) << 5)
#define PIN_PU_TX BIT(2)
#define PIN_PU_RX BIT(1)
#define PIN_PU_PLL BIT(0)

		u32 sata_gen;

		if ((val & 0xf0) == 0x10)
			sata_gen = PIN_PHY_GEN_1_5;
		else
			sata_gen = PIN_PHY_GEN_3;

		writelfl(PIN_PHY_GEN_RX(sata_gen) |
			 PIN_PHY_GEN_TX(sata_gen) |
			 PIN_PU_TX | PIN_PU_RX | PIN_PU_PLL,
			 lp_phy_addr);

drivers/ata/sata_mv.c static int mv_platform_probe(struct platform_device *pdev) · line 4134

Quoted 7 lines
drivers/ata/sata_mv.c +7 -0
+	/*
+	 * To allow disk hotplug on Armada 370/XP SoCs, the PHY speed must be
+	 * updated in the LP_PHY_CTL register.
+	 */
+	if (pdev->dev.of_node &&
+		of_device_is_compatible(pdev->dev.of_node,
+					"marvell,armada-370-xp-sata"))

Testing whether pdev->dev.of_node is not NULL does not seems to be useful. A quick read of of_device_is_compatible() and the function it's calling seem to indicate that of_device_is_compatible will return false if the passed struct device_node * is NULL.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v2 2/3 ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs

Quoted 1 line · Thomas Petazzoni

Dear Simon Guinot,

Hi Thomas,

Quoted 17 lines · Simon Guinot

drivers/ata/sata_mv.c static int mv_scr_write(struct ata_link *link, unsigned int sc_reg_in, u32 val) · line 1391

Quoted 12 lines
drivers/ata/sata_mv.c +11 -0
+			if (hpriv->hp_flags & MV_HP_FIX_LP_PHY_CTL) {
+				void __iomem *lp_phy_addr =
+					mv_ap_base(link->ap) + LP_PHY_CTL;
+				/*
+				 * Set PHY speed according to SControl speed.
+				 */
+				if ((val & 0xf0) == 0x10)
+					writelfl(0x7, lp_phy_addr);
+				else
+					writelfl(0x227, lp_phy_addr);
+			}

I think we could do a little bit better than these magical values.

Quoted 7 lines

The datasheet says:

* bits 12:9, PIN_PHY_GEN_RX. Value 0x0 => 1.5 Gbps, value 0x1 => 3 Gbps
* bits 8:5, PIN_PHY_GEN_TX. Value 0x0 => 1.5 Gbps, value 0x1 => 3 Gbps
* bit 2, PIN_PU_TX. Value 0x0 => Power down, value 0x1 => Power up.
* bit 1, PIN_PU_RX. Value 0x0 => Power down, value 0x1 => Power up.
* bit 0, PIN_PU_PLL. Value 0x0 => Power down, value 0x1 => Power up.

I missed this section in the datasheet...

Quoted 13 lines

So maybe something like:

#define PIN_PHY_GEN_1_5 0
#define PIN_PHY_GEN_3 1

#define PIN_PHY_GEN_RX(gen) ((gen) << 9)
#define PIN_PHY_GEN_TX(gen) ((gen) << 5)
#define PIN_PU_TX BIT(2)
#define PIN_PU_RX BIT(1)
#define PIN_PU_PLL BIT(0)

Quoted 11 lines
		u32 sata_gen;

		if ((val & 0xf0) == 0x10)
			sata_gen = PIN_PHY_GEN_1_5;
		else
			sata_gen = PIN_PHY_GEN_3;

		writelfl(PIN_PHY_GEN_RX(sata_gen) |
			 PIN_PHY_GEN_TX(sata_gen) |
			 PIN_PU_TX | PIN_PU_RX | PIN_PU_PLL,
			 lp_phy_addr);

Yes, it is much more understandable.

Quoted 14 lines

drivers/ata/sata_mv.c static int mv_platform_probe(struct platform_device *pdev) · line 4134

Quoted 9 lines
drivers/ata/sata_mv.c +7 -0
+	/*
+	 * To allow disk hotplug on Armada 370/XP SoCs, the PHY speed must be
+	 * updated in the LP_PHY_CTL register.
+	 */
+	if (pdev->dev.of_node &&
+		of_device_is_compatible(pdev->dev.of_node,
+					"marvell,armada-370-xp-sata"))

Testing whether pdev->dev.of_node is not NULL does not seems to be useful. A quick read of of_device_is_compatible() and the function it's calling seem to indicate that of_device_is_compatible will return false if the passed struct device_node * is NULL.

I see.

It seems to me, you already have a patch ready to send. Isn't it ? Or do you want me to do the update ?

Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140131/1e4dc2f0/attachment.sig>

#6 lore raw

PATCH v2 2/3 ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs

Dear Simon Guinot,

Quoted 13 lines · Simon Guinot
Quoted 4 lines
Quoted 4 lines
drivers/ata/sata_mv.c +4 -0
+	/*
+	 * To allow disk hotplug on Armada 370/XP SoCs, the PHY speed must be
+	 * updated in the LP_PHY_CTL register.
+	 */
Quoted 8 lines

drivers/ata/sata_mv.c static int mv_platform_probe(struct platform_device *pdev) · line 4134

Quoted 3 lines
drivers/ata/sata_mv.c +3 -0
+	if (pdev->dev.of_node &&
+		of_device_is_compatible(pdev->dev.of_node,
+					"marvell,armada-370-xp-sata"))

Testing whether pdev->dev.of_node is not NULL does not seems to be useful. A quick read of of_device_is_compatible() and the function it's calling seem to indicate that of_device_is_compatible will return false if the passed struct device_node * is NULL.

Quoted 4 lines

I see.

It seems to me, you already have a patch ready to send. Isn't it ? Or do you want me to do the update ?

I see that your patches have been merged, so I will send followup fixes.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#7 lore raw

PATCH v2 3/3 ARM: mvebu: update the SATA compatible string for Armada 370/XP

In reply to Simon Guinot

This patch updates the Armada 370/XP SATA node with the new compatible string "marvell,armada-370-xp-sata".

Cc Thomas Petazzoni <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Sebastian Hesselbarth <[email protected]>
Cc Lior Amsalem <[email protected]>
Cc stable at vger.kernel.org
---
 arch/arm/boot/dts/armada-370-xp.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/armada-370-xp.dtsi +1 -1
index 7f10f627ae5b..b5def2416800 100644
@@ -152,7 +152,7 @@
 			};
 
 			sata at a0000 {
-				compatible = "marvell,orion-sata";
+				compatible = "marvell,armada-370-xp-sata";
 				reg = <0xa0000 0x5000>;
 				interrupts = <55>;
 				clocks = <&gateclk 15>, <&gateclk 30>;
Signature · 1 line
1.8.5.2
#8 lore raw

PATCH v2 3/3 ARM: mvebu: update the SATA compatible string for Armada 370/XP

Hi Simon,

Quoted 2 lines · Simon Guinot

This patch updates the Armada 370/XP SATA node with the new compatible string "marvell,armada-370-xp-sata".

Usually we try to use the name of the first SoC instead of a family name. So here it should be "marvell,armada-370-sata"

Thanks,

Gregory

Quoted 27 lines
Cc Thomas Petazzoni <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Andrew Lunn <[email protected]>
Cc Gregory Clement <[email protected]>
Cc Sebastian Hesselbarth <[email protected]>
Cc Lior Amsalem <[email protected]>
Cc stable at vger.kernel.org
---
 arch/arm/boot/dts/armada-370-xp.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/armada-370-xp.dtsi +1 -1
index 7f10f627ae5b..b5def2416800 100644
@@ -152,7 +152,7 @@
 			};
 
 			sata at a0000 {
-				compatible = "marvell,orion-sata";
+				compatible = "marvell,armada-370-xp-sata";
 				reg = <0xa0000 0x5000>;
 				interrupts = <55>;
 				clocks = <&gateclk 15>, <&gateclk 30>;
Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#9 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

In reply to Simon Guinot

Simon,

Quoted 7 lines · Simon Guinot

Hello,

This patch series fixes a SATA disk hotplug issue for the Armada 370/XP
SoCs: once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver.

This should be applied to the -stable kernels 3.10 and onwards.

Please add a 'Fixes: <commit-hash> (oneline)' tag below the Cc: stable tags. It looks like the sata_mv binding and the Armada 370 DT booting were both introduced in v3.6, so I would probably use:

Fixes 9ae6f740b49f (arm: mach-mvebu: add support for Armada 370 and Armada XP with DT)

Is there a specific reason you say v3.10?

Once you've incorporated Gregory's comments,

Quoted 11 lines

Lior Amsalem (1):
ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs

Simon Guinot (2):
ata: sata_mv: introduce compatible string "marvell,armada-370-xp-sata"
ARM: mvebu: update the SATA compatible string for Armada 370/XP

 Documentation/devicetree/bindings/ata/marvell.txt |  2 +-
 arch/arm/boot/dts/armada-370-xp.dtsi              |  2 +-
 drivers/ata/sata_mv.c                             | 25 +++++++++++++++++++++++
 3 files changed, 27 insertions(+), 2 deletions(-)

Tejun,

I see no point to breaking up this series only to have both pieces end up in stable. Are you ok with taking the whole thing?

thx,

Jason.

#10 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

Hey, Jason.

Quoted 2 lines · Jason Cooper

I see no point to breaking up this series only to have both pieces end up in stable. Are you ok with taking the whole thing?

Yeah, sure. Gregory thought the device id could be better. Is that not the case?

Thanks.

Signature · 1 line
tejun
#11 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

Quoted 8 lines · Tejun Heo

Hey, Jason.

Quoted 2 lines · Jason Cooper

I see no point to breaking up this series only to have both pieces end up in stable. Are you ok with taking the whole thing?

Yeah, sure. Gregory thought the device id could be better. Is that not the case?

Gees, please disregard. You explicitly commmented about Gregory's point. I'll apply the patches once Simon posts the updated version.

Thanks.

Signature · 1 line
tejun
#12 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

In reply to Jason Cooper
Quoted 9 lines · Jason Cooper

Simon,

Quoted 6 lines · Simon Guinot

Hello,

This patch series fixes a SATA disk hotplug issue for the Armada 370/XP
SoCs: once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver.

Quoted 7 lines
Quoted 1 line

This should be applied to the -stable kernels 3.10 and onwards.

Please add a 'Fixes: <commit-hash> (oneline)' tag below the Cc: stable tags. It looks like the sata_mv binding and the Armada 370 DT booting were both introduced in v3.6, so I would probably use:

Fixes 9ae6f740b49f (arm: mach-mvebu: add support for Armada 370 and Armada XP with DT)

Correction - it's format is:

Fixes <commit-hash> ("oneline")

Double-quotes inside the parens. (Don't ask me why, that's just how it was decided.)

Signature · 3 lines
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".
#13 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

In reply to Jason Cooper
Quoted 9 lines · Jason Cooper

Simon,

Quoted 6 lines · Simon Guinot

Hello,

This patch series fixes a SATA disk hotplug issue for the Armada 370/XP
SoCs: once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver.

Quoted 7 lines
Quoted 1 line

This should be applied to the -stable kernels 3.10 and onwards.

Please add a 'Fixes: <commit-hash> (oneline)' tag below the Cc: stable tags. It looks like the sata_mv binding and the Armada 370 DT booting were both introduced in v3.6, so I would probably use:

Fixes 9ae6f740b49f (arm: mach-mvebu: add support for Armada 370 and Armada XP with DT)

Hi Jason,

I am not comfortable with this "Fixes: commit_id" notation. It states that the patch fixes a regression introduced by a given commit. This hardly makes sense to me because obviously the hotplug issue has not been introduced by:

"arm: mach-mvebu: add support for Armada 370 and Armada XP with DT".

I know that the purpose is purely administrative, but it is kind of weird...

Quoted 2 lines

Is there a specific reason you say v3.10?

I could have said nothing as well.

As stable kernel older than 3.10 are no longer maintained, I think we don't need to point out a specific commit as a -stable target. Simply Cc'ing -stable without any extra informations should be good enough.

Quoted 4 lines

Once you've incorporated Gregory's comments,

OK.

Thanks,

Simon

Quoted 13 lines
Quoted 4 lines

Lior Amsalem (1):
ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs

Quoted 8 lines

Simon Guinot (2):
ata: sata_mv: introduce compatible string "marvell,armada-370-xp-sata"
ARM: mvebu: update the SATA compatible string for Armada 370/XP

 Documentation/devicetree/bindings/ata/marvell.txt |  2 +-
 arch/arm/boot/dts/armada-370-xp.dtsi              |  2 +-
 drivers/ata/sata_mv.c                             | 25 +++++++++++++++++++++++
 3 files changed, 27 insertions(+), 2 deletions(-)
Quoted 8 lines

Tejun,

I see no point to breaking up this series only to have both pieces end up in stable. Are you ok with taking the whole thing?

thx,

Jason.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140114/e6b03fc5/attachment.sig>

#14 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

Quoted 1 line

As stable kernel older than 3.10 are no longer maintained

Please take a look at www.kernel.org

Both 3.4 and 3.2 have had stable updated this year.

Andrew

#15 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

In reply to Simon Guinot
Quoted 4 lines · Simon Guinot

As stable kernel older than 3.10 are no longer maintained, I think we don't need to point out a specific commit as a -stable target. Simply Cc'ing -stable without any extra informations should be good enough.

Well, somebody eventually has to figure it out. If you know it's applicable to 3.6+ just do

Cc stable at vger.kernel.org # v3.6+

Thanks.

Signature · 1 line
tejun
#16 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

In reply to Simon Guinot

Simon,

Quoted 25 lines · Simon Guinot
Quoted 9 lines · Jason Cooper

Simon,

Quoted 6 lines · Simon Guinot

Hello,

This patch series fixes a SATA disk hotplug issue for the Armada 370/XP
SoCs: once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver.

Quoted 7 lines
Quoted 1 line

This should be applied to the -stable kernels 3.10 and onwards.

Please add a 'Fixes: <commit-hash> (oneline)' tag below the Cc: stable tags. It looks like the sata_mv binding and the Armada 370 DT booting were both introduced in v3.6, so I would probably use:

Fixes 9ae6f740b49f (arm: mach-mvebu: add support for Armada 370 and Armada XP with DT)

Hi Jason,

I am not comfortable with this "Fixes: commit_id" notation. It states that the patch fixes a regression introduced by a given commit. This hardly makes sense to me because obviously the hotplug issue has not been introduced by:

Quoted 4 lines

"arm: mach-mvebu: add support for Armada 370 and Armada XP with DT".

I know that the purpose is purely administrative, but it is kind of weird...

True, the wording may not be the best, but the goal is to make it easier to do a 'tag --contains' search. We could call it

Repair-Something-Broken-Since-Introduced-by:

in this case ;-)

Quoted 8 lines
Quoted 1 line

Is there a specific reason you say v3.10?

I could have said nothing as well.

As stable kernel older than 3.10 are no longer maintained, I think we don't need to point out a specific commit as a -stable target. Simply Cc'ing -stable without any extra informations should be good enough.

The reason I ask is that I'd like to know if, in debugging this issue, you discovered that the fix was not needed before v3.10 (hypothetically, say because sata hotplug was added in v3.10).

The linux-stable team isn't the only people who find this information useful. Distros maintaining older kernels would find it very helpful when going through -stable patches to know easily if a patch should be backported further, say to v3.8.

thx,

Jason.

#17 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

On Tue, Jan 14, 2014 at 10:59:45AM -0500, Jason Cooper wrote:
...

Quoted 4 lines

The linux-stable team isn't the only people who find this information useful. Distros maintaining older kernels would find it very helpful when going through -stable patches to know easily if a patch should be backported further, say to v3.8.

And yes, I'm aware that -stable is actively supporting farther back than what we are discussing here. I was refuting the specific argument as opposed to correcting wrong assumptions.

In general, it's better to be accurate regarding 'Fixes:' commits than assuming no one cares about anything older than the oldest -stable kernel.

thx,

Jason.

#18 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

In reply to Jason Cooper
Quoted 49 lines · Jason Cooper

Simon,

Quoted 25 lines · Simon Guinot
Quoted 9 lines · Jason Cooper

Simon,

Quoted 6 lines · Simon Guinot

Hello,

This patch series fixes a SATA disk hotplug issue for the Armada 370/XP
SoCs: once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver.

Quoted 7 lines
Quoted 1 line

This should be applied to the -stable kernels 3.10 and onwards.

Please add a 'Fixes: <commit-hash> (oneline)' tag below the Cc: stable tags. It looks like the sata_mv binding and the Armada 370 DT booting were both introduced in v3.6, so I would probably use:

Fixes 9ae6f740b49f (arm: mach-mvebu: add support for Armada 370 and Armada XP with DT)

Hi Jason,

I am not comfortable with this "Fixes: commit_id" notation. It states that the patch fixes a regression introduced by a given commit. This hardly makes sense to me because obviously the hotplug issue has not been introduced by:

Quoted 4 lines

"arm: mach-mvebu: add support for Armada 370 and Armada XP with DT".

I know that the purpose is purely administrative, but it is kind of weird...

True, the wording may not be the best, but the goal is to make it easier to do a 'tag --contains' search. We could call it

Repair-Something-Broken-Since-Introduced-by:

in this case ;-)

Quoted 8 lines
Quoted 1 line

Is there a specific reason you say v3.10?

I could have said nothing as well.

As stable kernel older than 3.10 are no longer maintained, I think we don't need to point out a specific commit as a -stable target. Simply Cc'ing -stable without any extra informations should be good enough.

Quoted 8 lines

The reason I ask is that I'd like to know if, in debugging this issue, you discovered that the fix was not needed before v3.10 (hypothetically, say because sata hotplug was added in v3.10).

The linux-stable team isn't the only people who find this information useful. Distros maintaining older kernels would find it very helpful when going through -stable patches to know easily if a patch should be backported further, say to v3.8.

Obviously, I really appreciate when people add this sort of information into a commit. This additional information is quite useful for me as a maintainer of extended (aka 'non-official') stable kernels.

Cheers,
--
Luis

Quoted 7 lines

thx,

Jason.
--
To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

#19 lore raw

v2 cover Fix SATA disk hotplug for Armada 370/XP SoCs

In reply to Jason Cooper
Quoted 49 lines · Jason Cooper

Simon,

Quoted 25 lines · Simon Guinot
Quoted 9 lines · Jason Cooper

Simon,

Quoted 6 lines · Simon Guinot

Hello,

This patch series fixes a SATA disk hotplug issue for the Armada 370/XP
SoCs: once a disk is removed from a SATA port, then the re-plug events are not detected by the sata_mv driver.

Quoted 7 lines
Quoted 1 line

This should be applied to the -stable kernels 3.10 and onwards.

Please add a 'Fixes: <commit-hash> (oneline)' tag below the Cc: stable tags. It looks like the sata_mv binding and the Armada 370 DT booting were both introduced in v3.6, so I would probably use:

Fixes 9ae6f740b49f (arm: mach-mvebu: add support for Armada 370 and Armada XP with DT)

Hi Jason,

I am not comfortable with this "Fixes: commit_id" notation. It states that the patch fixes a regression introduced by a given commit. This hardly makes sense to me because obviously the hotplug issue has not been introduced by:

Quoted 4 lines

"arm: mach-mvebu: add support for Armada 370 and Armada XP with DT".

I know that the purpose is purely administrative, but it is kind of weird...

True, the wording may not be the best, but the goal is to make it easier to do a 'tag --contains' search. We could call it

Repair-Something-Broken-Since-Introduced-by:

in this case ;-)

Quoted 8 lines
Quoted 1 line

Is there a specific reason you say v3.10?

I could have said nothing as well.

As stable kernel older than 3.10 are no longer maintained, I think we don't need to point out a specific commit as a -stable target. Simply Cc'ing -stable without any extra informations should be good enough.

Quoted 8 lines

The reason I ask is that I'd like to know if, in debugging this issue, you discovered that the fix was not needed before v3.10 (hypothetically, say because sata hotplug was added in v3.10).

The linux-stable team isn't the only people who find this information useful. Distros maintaining older kernels would find it very helpful when going through -stable patches to know easily if a patch should be backported further, say to v3.8.

The patches may effectively apply against a 3.6 kernel but who is going to embed a such kernel on an Armada-based board ?

IMO, stabilize the Armada support for kernels older than 3.10 is a waste of time, for you, for the -stable maintainers and for me. Some important features (for Armada SoCs) are missing on this kernels. Then I don't think that someone is going to use a kernel older than 3.10 with an Armada-based board.

But anyway, it is not up to me and I have hopefully added all the needed -stable informations to the v3 patch series.

Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140115/12e03481/attachment-0001.sig>