* [PATCH 1/3] ahci: st: Provide DT bindings for ST's SATA implementation @ 2014-02-17 12:56 Lee Jones 2014-02-17 12:56 ` [PATCH 2/3] ARM: DT: STi: Add DT node for ST's SATA device Lee Jones 2014-02-17 12:56 ` [PATCH 3/3] ahci: st: Add support for ST's SATA IP Lee Jones 0 siblings, 2 replies; 18+ messages in thread From: Lee Jones @ 2014-02-17 12:56 UTC (permalink / raw) To: linux-arm-kernel Cc: devicetree at vger.kernel.org Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> --- Documentation/devicetree/bindings/ata/ahci-st.txt | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Documentation/devicetree/bindings/ata/ahci-st.txt diff --git a/Documentation/devicetree/bindings/ata/ahci-st.txt b/Documentation/devicetree/bindings/ata/ahci-st.txt new file mode 100644 index 0000000..1b69fa9 --- /dev/null +++ b/Documentation/devicetree/bindings/ata/ahci-st.txt @@ -0,0 +1,31 @@ +STMicroelectronics STi SATA controller + +This binding describes a SATA device. + +Required properties: + - compatible : Must be "st,ahci" + - reg : Physical base addresses and length of register sets + - interrupts : Interrupt associated with the SATA device + - interrupt-names : Associated name must be; "hostc" + - resets : The power-down and soft-reset lines of SATA IP + - reset-names : Associated names must be; "pwr-dwn" and "sw-rst" + - clocks : The phandle for the clock + - clock-names : Associated name must be; "ahci_clk" + - phys : The phandle for the PHY device + - phy-names : Associated name must be; "ahci_phy" + +Example: + + sata0: sata at fe380000 { + compatible = "st,ahci"; + reg = <0xfe380000 0x1000>; + interrupts = <GIC_SPI 157 IRQ_TYPE_NONE>; + interrupt-names = "hostc"; + phys = <&miphy365x_phy MIPHY_PORT_0 MIPHY_TYPE_SATA>; + phy-names = "ahci_phy"; + resets = <&powerdown STIH416_SATA0_POWERDOWN>, + <&softreset STIH416_SATA0_SOFTRESET>; + reset-names = "pwr-dwn", "sw-rst"; + clocks = <&CLK_S_ICN_REG_0>; + clock-names = "ahci_clk"; + }; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/3] ARM: DT: STi: Add DT node for ST's SATA device 2014-02-17 12:56 [PATCH 1/3] ahci: st: Provide DT bindings for ST's SATA implementation Lee Jones @ 2014-02-17 12:56 ` Lee Jones 2014-02-17 12:56 ` [PATCH 3/3] ahci: st: Add support for ST's SATA IP Lee Jones 1 sibling, 0 replies; 18+ messages in thread From: Lee Jones @ 2014-02-17 12:56 UTC (permalink / raw) To: linux-arm-kernel Cc: devicetree at vger.kernel.org Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> --- arch/arm/boot/dts/stih416-b2020-revE.dts | 4 ++++ arch/arm/boot/dts/stih416-b2020.dts | 4 ++++ arch/arm/boot/dts/stih416.dtsi | 16 ++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/arch/arm/boot/dts/stih416-b2020-revE.dts b/arch/arm/boot/dts/stih416-b2020-revE.dts index 693d0ec..7350a86 100644 --- a/arch/arm/boot/dts/stih416-b2020-revE.dts +++ b/arch/arm/boot/dts/stih416-b2020-revE.dts @@ -37,5 +37,9 @@ st,pcie-tx-pol-inv; st,sata-gen = <3>; }; + + sata0: sata at fe380000{ + status = "okay"; + }; }; }; diff --git a/arch/arm/boot/dts/stih416-b2020.dts b/arch/arm/boot/dts/stih416-b2020.dts index fd9cbad..ebd784b 100644 --- a/arch/arm/boot/dts/stih416-b2020.dts +++ b/arch/arm/boot/dts/stih416-b2020.dts @@ -18,5 +18,9 @@ st,pcie_tx_pol_inv = <1>; st,sata_gen = "gen3"; }; + + sata0: sata at fe380000{ + status = "okay"; + }; }; }; diff --git a/arch/arm/boot/dts/stih416.dtsi b/arch/arm/boot/dts/stih416.dtsi index 9fd8efb..d1c874f 100644 --- a/arch/arm/boot/dts/stih416.dtsi +++ b/arch/arm/boot/dts/stih416.dtsi @@ -153,5 +153,21 @@ #phy-cells = <2>; st,syscfg = <&syscfg_rear>; }; + + sata0: sata at fe380000 { + compatible = "st,ahci"; + reg = <0xfe380000 0x1000>; + interrupts = <GIC_SPI 157 IRQ_TYPE_NONE>; + interrupt-names = "hostc"; + phys = <&miphy365x_phy MIPHY_PORT_0 MIPHY_TYPE_SATA>; + phy-names = "ahci_phy"; + resets = <&powerdown STIH416_SATA0_POWERDOWN>, + <&softreset STIH416_SATA0_SOFTRESET>; + reset-names = "pwr-dwn", "sw-rst"; + clock-names = "ahci_clk"; + clocks = <&CLK_S_ICN_REG_0>; + + status = "disabled"; + }; }; }; -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-17 12:56 [PATCH 1/3] ahci: st: Provide DT bindings for ST's SATA implementation Lee Jones 2014-02-17 12:56 ` [PATCH 2/3] ARM: DT: STi: Add DT node for ST's SATA device Lee Jones @ 2014-02-17 12:56 ` Lee Jones 2014-02-18 23:36 ` Tejun Heo 1 sibling, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-02-17 12:56 UTC (permalink / raw) To: linux-arm-kernel Cc: Tejun Heo <tj@kernel.org> Cc: linux-ide at vger.kernel.org Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/ata/Kconfig | 9 ++ drivers/ata/Makefile | 1 + drivers/ata/ahci_st.c | 275 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 285 insertions(+) create mode 100644 drivers/ata/ahci_st.c diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 4e73772..a0798f3 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -97,6 +97,15 @@ config SATA_AHCI_PLATFORM If unsure, say N. +config SATA_AHCI_ST + tristate "ST SATA support" + depends on SATA_AHCI_PLATFORM + select GENERIC_PHY + help + This option enables support for ST SATA controller. + + If unsure, say N. + config AHCI_IMX tristate "Freescale i.MX AHCI SATA support" depends on SATA_AHCI_PLATFORM && MFD_SYSCON diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile index 46518c6..3379a7d 100644 --- a/drivers/ata/Makefile +++ b/drivers/ata/Makefile @@ -5,6 +5,7 @@ obj-$(CONFIG_ATA) += libata.o obj-$(CONFIG_SATA_AHCI) += ahci.o libahci.o obj-$(CONFIG_SATA_ACARD_AHCI) += acard-ahci.o libahci.o obj-$(CONFIG_SATA_AHCI_PLATFORM) += ahci_platform.o libahci.o +obj-$(CONFIG_SATA_AHCI_ST) += ahci_st.o obj-$(CONFIG_SATA_FSL) += sata_fsl.o obj-$(CONFIG_SATA_INIC162X) += sata_inic162x.o obj-$(CONFIG_SATA_SIL24) += sata_sil24.o diff --git a/drivers/ata/ahci_st.c b/drivers/ata/ahci_st.c new file mode 100644 index 0000000..23342bf --- /dev/null +++ b/drivers/ata/ahci_st.c @@ -0,0 +1,275 @@ +/* + * Copyright (C) 2012 STMicroelectronics Limited + * + * Authors: Francesco Virlinzi <francesco.virlinzi@st.com> + * Alexandre Torgue <alexandre.torgue@st.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include <linux/init.h> +#include <linux/module.h> +#include <linux/export.h> +#include <linux/platform_device.h> +#include <linux/clk.h> +#include <linux/of.h> +#include <linux/ahci_platform.h> +#include <linux/phy/phy.h> +#include <linux/reset.h> +#include <linux/io.h> +#include <linux/dma-mapping.h> + +#define AHCI_OOBR 0xbc +#define AHCI_OOBR_WE BIT(31) +#define AHCI_OOBR_CWMIN_SHIFT 24 +#define AHCI_OOBR_CWMAX_SHIFT 16 +#define AHCI_OOBR_CIMIN_SHIFT 8 +#define AHCI_OOBR_CIMAX_SHIFT 0 + +struct ahci_st_drv_data { + struct platform_device *ahci; + struct phy *phy; + struct reset_control *pwr; + struct reset_control *sw_rst; + struct reset_control *pwr_rst; + void __iomem *mmio; + struct clk *clk; +}; + +static void ahci_st_configure_oob(void __iomem *mmio) +{ + unsigned long old_val, new_val; + + new_val = (0x02 << AHCI_OOBR_CWMIN_SHIFT) | + (0x04 << AHCI_OOBR_CWMAX_SHIFT) | + (0x08 << AHCI_OOBR_CIMIN_SHIFT) | + (0x0C << AHCI_OOBR_CIMAX_SHIFT); + + old_val = readl(mmio + AHCI_OOBR); + writel(old_val | AHCI_OOBR_WE, mmio + AHCI_OOBR); + writel(new_val | AHCI_OOBR_WE, mmio + AHCI_OOBR); + writel(new_val, mmio + AHCI_OOBR); +} + +static int ahci_st_probe_resets(struct platform_device *pdev, + struct ahci_st_drv_data *ahci_dev) +{ + int err; + + ahci_dev->pwr = devm_reset_control_get(&pdev->dev, "pwr-dwn"); + if (IS_ERR(ahci_dev->pwr)) { + dev_info(&pdev->dev, "power reset control not defined\n"); + } else { + err = reset_control_deassert(ahci_dev->pwr); + if (err) { + dev_err(&pdev->dev, "unable to bring out of pwrdwn\n"); + return err; + } + } + + ahci_dev->sw_rst = devm_reset_control_get(&pdev->dev, "sw-rst"); + if (IS_ERR(ahci_dev->sw_rst)) { + dev_info(&pdev->dev, "soft reset control not defined\n"); + } else { + err = reset_control_deassert(ahci_dev->sw_rst); + if (err) { + dev_err(&pdev->dev, "unable to bring out of reset\n"); + return err; + } + } + + ahci_dev->pwr_rst = devm_reset_control_get(&pdev->dev, "pwr-rst"); + if (IS_ERR(ahci_dev->pwr_rst)) + dev_dbg(&pdev->dev, "power soft reset control not defined\n"); + else { + err = reset_control_deassert(ahci_dev->pwr_rst); + if (err) { + dev_err(&pdev->dev, "unable to bring out of reset\n"); + return err; + } + } + + return 0; +} + +static int ahci_st_init(struct device *ahci_dev, void __iomem *mmio) +{ + struct platform_device *pdev = to_platform_device(ahci_dev->parent); + struct ahci_st_drv_data *drv_data = platform_get_drvdata(pdev); + int ret; + + ret = clk_prepare_enable(drv_data->clk); + if (ret) + return ret; + + ret = phy_init(drv_data->phy); + if (ret) { + clk_disable_unprepare(drv_data->clk); + return ret; + } + + drv_data->mmio = mmio; + ahci_st_configure_oob(mmio); + + return 0; +} + +static void ahci_st_exit(struct device *ahci_dev) +{ + struct platform_device *pdev = to_platform_device(ahci_dev->parent); + struct ahci_st_drv_data *drv_data = platform_get_drvdata(pdev); + int ret; + + if (drv_data->pwr) { + ret = reset_control_assert(drv_data->pwr); + if (ret) + dev_err(&pdev->dev, "unable to bring out of pwrdwn\n"); + } + + clk_disable_unprepare(drv_data->clk); +} + +#ifdef CONFIG_PM_SLEEP +static int ahci_st_suspend(struct device *ahci_dev) +{ + struct platform_device *pdev = to_platform_device(ahci_dev->parent); + struct ahci_st_drv_data *drv_data = platform_get_drvdata(pdev); + int ret; + + if (drv_data->pwr) { + ret = reset_control_assert(drv_data->pwr); + if (ret) { + dev_err(&pdev->dev, "unable to pwrdwn"); + return ret; + } + } + + clk_disable_unprepare(drv_data->clk); + + return 0; +} + +static int ahci_st_resume(struct device *ahci_dev) +{ + struct platform_device *pdev = to_platform_device(ahci_dev->parent); + struct ahci_st_drv_data *drv_data = platform_get_drvdata(pdev); + int ret; + + clk_prepare_enable(drv_data->clk); + + if (drv_data->pwr) { + ret = reset_control_deassert(drv_data->pwr); + if (ret) { + dev_err(&pdev->dev, "unable to bring out of pwrdwn\n"); + return ret; + } + } + + ahci_st_configure_oob(drv_data->mmio); + + ret = phy_init(drv_data->phy); + if (ret) + return ret; + + if (drv_data->sw_rst) { + ret = reset_control_deassert(drv_data->sw_rst); + if (ret) { + dev_err(&pdev->dev, "unable to bring out of sw-rst\n"); + return ret; + } + } + + if (drv_data->pwr_rst) { + ret = reset_control_deassert(drv_data->pwr_rst); + if (ret) { + dev_err(&pdev->dev, "unable to bring out of pwr-rst\n"); + return ret; + } + } + + return 0; +} +#endif + +static struct ahci_platform_data ahci_st_platform_data = { + .init = ahci_st_init, + .exit = ahci_st_exit, +#ifdef CONFIG_PM_SLEEP + .suspend = ahci_st_suspend, + .resume = ahci_st_resume, +#endif +}; + +static int ahci_st_driver_probe(struct platform_device *pdev) +{ + int err, id; + struct ahci_st_drv_data *drv_data; + struct device *dev = &pdev->dev; + struct device_node *np = dev->of_node; + struct platform_device_info ahci_info = { + .parent = dev, + .name = "ahci", + .id = pdev->id, + .res = pdev->resource, + .num_res = pdev->num_resources, + .data = &ahci_st_platform_data, + .size_data = sizeof(ahci_st_platform_data), + }; + + if (np) { + id = of_alias_get_id(dev->of_node, "sata"); + if (id > 0) + ahci_info.id = id; + + ahci_info.dma_mask = DMA_BIT_MASK(32); + } + + drv_data = devm_kzalloc(dev, sizeof(*drv_data), GFP_KERNEL); + if (!drv_data) + return -ENOMEM; + + err = ahci_st_probe_resets(pdev, drv_data); + if (err) + return err; + + drv_data->clk = devm_clk_get(&pdev->dev, "ahci_clk"); + if (IS_ERR(drv_data->clk)) { + dev_err(&pdev->dev, "ahci_clk clk not found\n"); + return PTR_ERR(drv_data->clk); + } + + drv_data->phy = devm_phy_get(&pdev->dev, "ahci_phy"); + if (IS_ERR(drv_data->phy)) { + dev_err(&pdev->dev, "no PHY configured\n"); + return PTR_ERR(drv_data->phy); + } + + platform_set_drvdata(pdev, drv_data); + + drv_data->ahci = platform_device_register_full(&ahci_info); + + return PTR_ERR_OR_ZERO(drv_data->ahci); +} + +static struct of_device_id st_ahci_match[] = { + { .compatible = "st,ahci", }, + {}, +}; +MODULE_DEVICE_TABLE(of, st_ahci_match); + +static struct platform_driver ahci_st_driver = { + .driver = { + .name = "ahci_st", + .owner = THIS_MODULE, + .of_match_table = of_match_ptr(st_ahci_match), + }, + .probe = ahci_st_driver_probe, +}; +module_platform_driver(ahci_st_driver); + +MODULE_AUTHOR("Alexandre Torgue <alexandre.torgue@st.com>"); +MODULE_AUTHOR("Francesco Virlinzi <francesco.virlinzi@st.com>"); +MODULE_DESCRIPTION("STMicroelectronics Sata Ahci driver"); +MODULE_LICENSE("GPL v2"); -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-17 12:56 ` [PATCH 3/3] ahci: st: Add support for ST's SATA IP Lee Jones @ 2014-02-18 23:36 ` Tejun Heo 2014-02-19 8:30 ` Lee Jones 2014-02-19 11:54 ` Hans de Goede 0 siblings, 2 replies; 18+ messages in thread From: Tejun Heo @ 2014-02-18 23:36 UTC (permalink / raw) To: linux-arm-kernel On Mon, Feb 17, 2014 at 12:56:58PM +0000, Lee Jones wrote: > Cc: Tejun Heo <tj@kernel.org> > Cc: linux-ide at vger.kernel.org > Signed-off-by: Lee Jones <lee.jones@linaro.org> Please consider basing it on top of Hans' refactored ahci_platform. http://www.spinics.net/lists/linux-ide/msg47628.html Thanks. -- tejun ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-18 23:36 ` Tejun Heo @ 2014-02-19 8:30 ` Lee Jones 2014-02-19 14:04 ` Tejun Heo 2014-02-19 11:54 ` Hans de Goede 1 sibling, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-02-19 8:30 UTC (permalink / raw) To: linux-arm-kernel > > Cc: Tejun Heo <tj@kernel.org> > > Cc: linux-ide at vger.kernel.org > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > Please consider basing it on top of Hans' refactored ahci_platform. > > http://www.spinics.net/lists/linux-ide/msg47628.html Okay, looks reasonable. I'm happy to do the extra work. Can I do this as a subsequent patch though? The current patch fits neatly onto our internal stable kernel (currently v3.10). The added work will require back-porting Hans' patch-set, which has not yet reached Mainline. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 8:30 ` Lee Jones @ 2014-02-19 14:04 ` Tejun Heo 2014-02-19 15:01 ` Lee Jones 0 siblings, 1 reply; 18+ messages in thread From: Tejun Heo @ 2014-02-19 14:04 UTC (permalink / raw) To: linux-arm-kernel Hello, Lee. On Wed, Feb 19, 2014 at 08:30:25AM +0000, Lee Jones wrote: > Can I do this as a subsequent patch though? The current patch fits > neatly onto our internal stable kernel (currently v3.10). The added > work will require back-porting Hans' patch-set, which has not yet > reached Mainline. Hmm.... I'll apply Hans' patchset pretty soon and we still have some time in this devel cycle so I'd much prefer applying the final patch. Thanks. -- tejun ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 14:04 ` Tejun Heo @ 2014-02-19 15:01 ` Lee Jones 2014-02-19 15:06 ` Tejun Heo 0 siblings, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-02-19 15:01 UTC (permalink / raw) To: linux-arm-kernel > > Can I do this as a subsequent patch though? The current patch fits > > neatly onto our internal stable kernel (currently v3.10). The added > > work will require back-porting Hans' patch-set, which has not yet > > reached Mainline. > > Hmm.... I'll apply Hans' patchset pretty soon and we still have some > time in this devel cycle so I'd much prefer applying the final patch. I think that's a pretty unfair ask. I could understand if the patch(es) didn't apply, or were hindered by the new API change, but I do not believe that is the case? FWIW, I have tried to apply the patches Hans send me, but they don't seem to apply cleanly. Base is v3.14-rc1: Applying: ahci-platform: Add support for devices with more then 1 clock fatal: sha1 information is lacking or useless (drivers/ata/ahci_platform.c). Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0001 ahci-platform: Add support for devices with more then 1 clock The copy of the patch that failed is found in: .git/rebase-apply/patch When you have resolved this problem, run "git am --resolved". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Any ideas? -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 15:01 ` Lee Jones @ 2014-02-19 15:06 ` Tejun Heo 2014-02-19 15:23 ` Lee Jones 0 siblings, 1 reply; 18+ messages in thread From: Tejun Heo @ 2014-02-19 15:06 UTC (permalink / raw) To: linux-arm-kernel Hello, Lee. On Wed, Feb 19, 2014 at 03:01:21PM +0000, Lee Jones wrote: > I think that's a pretty unfair ask. I could understand if the > patch(es) didn't apply, or were hindered by the new API change, but I > do not believe that is the case? Let me make it very clear to you. If you want your code in, you help maintaining the larger code base. I'm already extremely annoyed about the general behavior of embedded developers where the general attitude seems to be doing whatever to get *my* driver in the tree. So, fuck you a little bit and if you want to make it happen faster, help Hans' patchset mature. Unfair my ass. Thanks. -- tejun ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 15:06 ` Tejun Heo @ 2014-02-19 15:23 ` Lee Jones 2014-02-19 15:36 ` Tejun Heo 0 siblings, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-02-19 15:23 UTC (permalink / raw) To: linux-arm-kernel > > I think that's a pretty unfair ask. I could understand if the > > patch(es) didn't apply, or were hindered by the new API change, but I > > do not believe that is the case? > > Let me make it very clear to you. If you want your code in, you help > maintaining the larger code base. I'm already extremely annoyed about > the general behavior of embedded developers where the general attitude > seems to be doing whatever to get *my* driver in the tree. So, fuck > you a little bit and if you want to make it happen faster, help Hans' > patchset mature. Unfair my ass. Since when has maintaining core code been the responsibility of the leaf driver developers? If you're aware that the core code is sub-standard then it's you who should be fixing it. I think it's great that forward thinking developers like Hans take on challenges to improve subsystems which are lacking in one way or another, but holding back other development while this process is ongoing is fundamentally wrong. Especially in this case where you're still actively reviewing/NACKing the core changes. Changes to APIs should either support backward-capability or change all effected drivers. I haven't been able to apply the patches yet, so I can't tell which one of these holds true, but I believe it's the former. In which case any new driver using the _current_ (not old) API should fold neatly in. I've even offered to convert to the new API once it's Mainlined. How can I say fairer than that? Finally, do try and stay at least a little bit professional on the MLs. That sort of disrespectful, rude behaviour may be how you guys do it at Redhat, but most will think it's nothing more than childish. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 15:23 ` Lee Jones @ 2014-02-19 15:36 ` Tejun Heo 2014-02-19 16:39 ` Lee Jones 0 siblings, 1 reply; 18+ messages in thread From: Tejun Heo @ 2014-02-19 15:36 UTC (permalink / raw) To: linux-arm-kernel On Wed, Feb 19, 2014 at 03:23:36PM +0000, Lee Jones wrote: > Since when has maintaining core code been the responsibility of the > leaf driver developers? If you're aware that the core code is > sub-standard then it's you who should be fixing it. No, there isn't this clear divide between core and the leaf developers. People working on the "core" don't just grow off the ground. You can't just go around piling mess around claiming that it's not your responsbility and then expect someone else to clean up after you. How can that be *possibly* sustainable? > I think it's great that forward thinking developers like Hans take on > challenges to improve subsystems which are lacking in one way or Yeah, which happened only because I pushed back and Hans isn't even paid to do it. Doesn't that say something? Nobody is actually helping Hans' work. Not at all, nada, zilch. Just complain when directed towards it. > another, but holding back other development while this process is > ongoing is fundamentally wrong. Especially in this case where you're > still actively reviewing/NACKing the core changes. > > Changes to APIs should either support backward-capability or change all > effected drivers. I haven't been able to apply the patches yet, so I > can't tell which one of these holds true, but I believe it's the > former. In which case any new driver using the _current_ (not old) > API should fold neatly in. I've even offered to convert to the new API > once it's Mainlined. How can I say fairer than that? > > Finally, do try and stay at least a little bit professional on the > MLs. That sort of disrespectful, rude behaviour may be how you guys do > it at Redhat, but most will think it's nothing more than childish. If you want me to be respectful towards you, don't be a crybaby screaming "it's not fair". It apparently isn't clear to you that you have to chip in for the whole thing to be maintainable in the long term. Unfair... lol, that was a good one, really. -- tejun ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 15:36 ` Tejun Heo @ 2014-02-19 16:39 ` Lee Jones 2014-02-19 17:00 ` Tejun Heo 2014-02-19 17:26 ` Tejun Heo 0 siblings, 2 replies; 18+ messages in thread From: Lee Jones @ 2014-02-19 16:39 UTC (permalink / raw) To: linux-arm-kernel > > Since when has maintaining core code been the responsibility of the > > leaf driver developers? If you're aware that the core code is > > sub-standard then it's you who should be fixing it. > > No, there isn't this clear divide between core and the leaf > developers. People working on the "core" don't just grow off the > ground. You can't just go around piling mess around claiming that > it's not your responsbility and then expect someone else to clean up > after you. How can that be *possibly* sustainable? That's not what I said was it? You're misinterpreting me. I'm more than happy to work on core code and have done in the past. However, if every subsystem maintainer I submit patches to forced me to undertake some API clean-ups/re-write or convert to another future/development API prior to acceptance I wouldn't be able to get any of my own work done. > > I think it's great that forward thinking developers like Hans take on > > challenges to improve subsystems which are lacking in one way or > > Yeah, which happened only because I pushed back and Hans isn't even > paid to do it. Doesn't that say something? It tells me that Hans has more spare time than I do. This work would even be something I'd be interested in helping out with - even in my own time, but the way you speak to people doesn't exactly inspire them to go out of my way to work with you does it? > Nobody is actually helping Hans' work. Not at all, nada, zilch. > Just complain when directed towards it. Again, that's not what I said. It's great that your subsystem is being improved, but insisting that anyone who submits new code to rebase on top of some development patches which only exist in mail form, and refusing to take patches until they do so doesn't seem right to me. > > another, but holding back other development while this process is > > ongoing is fundamentally wrong. Especially in this case where you're > > still actively reviewing/NACKing the core changes. > > > > Changes to APIs should either support backward-capability or change all > > effected drivers. I haven't been able to apply the patches yet, so I > > can't tell which one of these holds true, but I believe it's the > > former. In which case any new driver using the _current_ (not old) > > API should fold neatly in. I've even offered to convert to the new API > > once it's Mainlined. How can I say fairer than that? > > > > Finally, do try and stay at least a little bit professional on the > > MLs. That sort of disrespectful, rude behaviour may be how you guys do > > it at Redhat, but most will think it's nothing more than childish. > > If you want me to be respectful towards you, don't be a crybaby > screaming "it's not fair". It apparently isn't clear to you that you > have to chip in for the whole thing to be maintainable in the long > term. Unfair... lol, that was a good one, really. It appears you've just regressed into childhood again. Let's continue this when you are able to have an adult conversation which other grown-ups. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 16:39 ` Lee Jones @ 2014-02-19 17:00 ` Tejun Heo 2014-02-19 17:24 ` Lee Jones 2014-02-19 17:26 ` Tejun Heo 1 sibling, 1 reply; 18+ messages in thread From: Tejun Heo @ 2014-02-19 17:00 UTC (permalink / raw) To: linux-arm-kernel On Wed, Feb 19, 2014 at 04:39:37PM +0000, Lee Jones wrote: > Again, that's not what I said. It's great that your subsystem is being > improved, but insisting that anyone who submits new code to rebase > on top of some development patches which only exist in mail form, and > refusing to take patches until they do so doesn't seem right to me. No policy is perfect and nothing can be decided solely on single policy. There of course are trade-offs to make depending on the specific circumstances. The problem, here, is that what has been going on is skewed towards one extreme and has potential to develop into a fairly large mess if left uncorrected. The message I've been sending out has been pretty clear. There are multiple people duplicating about the same thing in their drivers. Fortunately, Hans' refactoring is pretty close to completion and should help simplifying most of them. I'm not even asking you to do the bulk of work. Just take a look at it and help / push if you can. It may be unfortunate that the circumstances haven't been completely aligned for your convenience but that's what needs to be done to keep things sustainable. This is a collaborative work and what I asked you isn't some insurmountable amount of extra work. It's just beyond me that your response is "it's not fair". No wonder the whole thing has been drifting towards mess. That's not how this works. Judging from your linaro address, I assume you have been involved with some upstream work, how can this possibly be your response? Such attitude is actively harmful and has no place in upstream development. Again, of course, there can be trade-offs. We sometimes do need to take termporal hits in maintainability for faster hardware enablement or whatnot; however, we can't do that without trust that the people dumping stuff which needs later cleanups would actually help. Unfortnately, I have close to zero trust given the recent developments and your "it's not fair, that's not my responsibility" attitude clearly confirms the conclusion. So, please take long look at how you perceive upstream development. It's a collaborative process. Other people don't owe you by default. -- tejun ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 17:00 ` Tejun Heo @ 2014-02-19 17:24 ` Lee Jones 0 siblings, 0 replies; 18+ messages in thread From: Lee Jones @ 2014-02-19 17:24 UTC (permalink / raw) To: linux-arm-kernel > > Again, that's not what I said. It's great that your subsystem is being > > improved, but insisting that anyone who submits new code to rebase > > on top of some development patches which only exist in mail form, and > > refusing to take patches until they do so doesn't seem right to me. > > No policy is perfect and nothing can be decided solely on single > policy. There of course are trade-offs to make depending on the > specific circumstances. The problem, here, is that what has been > going on is skewed towards one extreme and has potential to develop > into a fairly large mess if left uncorrected. > > The message I've been sending out has been pretty clear. There are > multiple people duplicating about the same thing in their drivers. > Fortunately, Hans' refactoring is pretty close to completion and > should help simplifying most of them. I'm not even asking you to do > the bulk of work. Just take a look at it and help / push if you can. > It may be unfortunate that the circumstances haven't been completely > aligned for your convenience but that's what needs to be done to keep > things sustainable. I understand this. Thanks for taking the time to explain properly. FWIW, I have now managed to rebase the driver on top of Hans' work and I am now in the process of converting it to the new way of working. > This is a collaborative work and what I asked you isn't some > insurmountable amount of extra work. It's just beyond me that your > response is "it's not fair". No wonder the whole thing has been > drifting towards mess. That's not how this works. Judging from your > linaro address, I assume you have been involved with some upstream > work, how can this possibly be your response? Such attitude is > actively harmful and has no place in upstream development. > > Again, of course, there can be trade-offs. We sometimes do need to > take termporal hits in maintainability for faster hardware enablement > or whatnot; however, we can't do that without trust that the people > dumping stuff which needs later cleanups would actually help. > Unfortnately, I have close to zero trust given the recent developments > and your "it's not fair, that's not my responsibility" attitude > clearly confirms the conclusion. > > So, please take long look at how you perceive upstream development. > It's a collaborative process. Other people don't owe you by default. Please refrain from adding quotation marks around things I didn't actually say. I didn't say that this whole process was unfair. I was pertaining to the fact that requesting that a driver is converted to a non-existing API was wrong. As it currently stands the driver uses the correct one. I also said that I'd happily convert it over when the clean-ups are actually applied. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 16:39 ` Lee Jones 2014-02-19 17:00 ` Tejun Heo @ 2014-02-19 17:26 ` Tejun Heo 2014-02-19 17:40 ` Lee Jones 1 sibling, 1 reply; 18+ messages in thread From: Tejun Heo @ 2014-02-19 17:26 UTC (permalink / raw) To: linux-arm-kernel A few more things just in case. On Wed, Feb 19, 2014 at 04:39:37PM +0000, Lee Jones wrote: > It tells me that Hans has more spare time than I do. This is the crux of the problem, isn't it? The party who is creating load should also partake in and invest resource into making the infrastructure for it. What I can't understand is how one can claim "unfairness" at having to contribute to such effort when that is clearly the party which is the primary beneficiary of the added load. If you have *any* mature sense of fairness, not this childish "it's not going my way", the irony should be clear to you. > This work would even be something I'd be interested in helping out > with - even in my own time, but the way you speak to people doesn't > exactly inspire them to go out of my way to work with you does it? Given the circumstances, I don't think depending on good wills of the involved parties is a viable strategy and wanted to make it clear that the responsibility of chipping in for long term maintainability is on everyone who wants to make use of the code base. This is beyond good will. It's the fundamental sharing of responsibility for sustainability. I'd love to have good will but I can't build that on top of a notion as rotten as "it's not fair, it's not my responsibility". > Again, that's not what I said. It's great that your subsystem is being > improved, but insisting that anyone who submits new code to rebase > on top of some development patches which only exist in mail form, and > refusing to take patches until they do so doesn't seem right to me. If I apply your patch now, Hans has one more driver to worry about in doing the work that he himself isn't directly benefiting from but everybody needs. In what world is that fair? So, sorry about going f bomb on you, but you shouldn't be thinking what you're thinking. There's some serious misguidance going on there. -- tejun ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 17:26 ` Tejun Heo @ 2014-02-19 17:40 ` Lee Jones 2014-02-19 18:06 ` Tejun Heo 0 siblings, 1 reply; 18+ messages in thread From: Lee Jones @ 2014-02-19 17:40 UTC (permalink / raw) To: linux-arm-kernel > A few more things just in case. > > On Wed, Feb 19, 2014 at 04:39:37PM +0000, Lee Jones wrote: > > It tells me that Hans has more spare time than I do. > > This is the crux of the problem, isn't it? The party who is creating > load should also partake in and invest resource into making the > infrastructure for it. What I can't understand is how one can claim > "unfairness" at having to contribute to such effort when that is > clearly the party which is the primary beneficiary of the added load. > If you have *any* mature sense of fairness, not this childish "it's > not going my way", the irony should be clear to you. > > > This work would even be something I'd be interested in helping out > > with - even in my own time, but the way you speak to people doesn't > > exactly inspire them to go out of my way to work with you does it? > > Given the circumstances, I don't think depending on good wills of the > involved parties is a viable strategy and wanted to make it clear that > the responsibility of chipping in for long term maintainability is on > everyone who wants to make use of the code base. This is beyond good > will. It's the fundamental sharing of responsibility for > sustainability. I'd love to have good will but I can't build that on > top of a notion as rotten as "it's not fair, it's not my > responsibility". > > > Again, that's not what I said. It's great that your subsystem is being > > improved, but insisting that anyone who submits new code to rebase > > on top of some development patches which only exist in mail form, and > > refusing to take patches until they do so doesn't seem right to me. > > If I apply your patch now, Hans has one more driver to worry about in > doing the work that he himself isn't directly benefiting from but > everybody needs. In what world is that fair? > > So, sorry about going f bomb on you, but you shouldn't be thinking > what you're thinking. There's some serious misguidance going on > there. Have you listened to a word I've said? Or have you managed to get your self all tangled up in what you _assumed_ was meant by the 3 words I mentioned about fairness at the very start of this conversation? Me thinks the latter might be true. Just because I don't contribute to your subsystem, it doesn't mean I don't contribute elsewhere. Here... let me help you down from that big horse! ;) -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 17:40 ` Lee Jones @ 2014-02-19 18:06 ` Tejun Heo 0 siblings, 0 replies; 18+ messages in thread From: Tejun Heo @ 2014-02-19 18:06 UTC (permalink / raw) To: linux-arm-kernel On Wed, Feb 19, 2014 at 05:40:41PM +0000, Lee Jones wrote: > Have you listened to a word I've said? Or have you managed to get your > self all tangled up in what you _assumed_ was meant by the 3 words I > mentioned about fairness at the very start of this conversation? Me > thinks the latter might be true. It wasn't only that. Your mention of API compability later in the thread or the notion of separate core and leaf developers were pretty weird. Things like "I was pertaining to the fact that requesting that a driver is converted to a non-existing API was wrong." just don't make much sense. That is a patchset which is pretty close to completion and I'm asking people to converge on that. That happens regularly during development in the different layers. I think what's fundamentally disturbing is this distinction between what you're doing and what people working on the API are doing. It's not like the roles are bound by contracts and one party owes to the other. It seems that that's what leads you to think that asking your driver updated for a pending patchset is unfair and the rest. > Just because I don't contribute to your subsystem, it doesn't mean I > don't contribute elsewhere. Again, it's not about you being good and generously contributing. It's about sharing of basic responsibility. You say I'm not reading what you're saying but what you're saying hasn't really changed since the first post except for some weaseling. > Here... let me help you down from that big horse! ;) I'm surely doing some of that and thanks for helping me down but I do hope you understand some of the points. -- tejun ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-18 23:36 ` Tejun Heo 2014-02-19 8:30 ` Lee Jones @ 2014-02-19 11:54 ` Hans de Goede 2014-02-19 12:14 ` Lee Jones 1 sibling, 1 reply; 18+ messages in thread From: Hans de Goede @ 2014-02-19 11:54 UTC (permalink / raw) To: linux-arm-kernel Hi, On 02/19/2014 12:36 AM, Tejun Heo wrote: > On Mon, Feb 17, 2014 at 12:56:58PM +0000, Lee Jones wrote: >> Cc: Tejun Heo <tj@kernel.org> >> Cc: linux-ide at vger.kernel.org >> Signed-off-by: Lee Jones <lee.jones@linaro.org> > > Please consider basing it on top of Hans' refactored ahci_platform. > > http://www.spinics.net/lists/linux-ide/msg47628.html Which reminds I must test the version I've rebased on top of 3.14-rc1 and then send a v6 so that this can get merged. Lee, I'll add you to the CC of the v6 I'm about to send. Regards, Hans ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 3/3] ahci: st: Add support for ST's SATA IP 2014-02-19 11:54 ` Hans de Goede @ 2014-02-19 12:14 ` Lee Jones 0 siblings, 0 replies; 18+ messages in thread From: Lee Jones @ 2014-02-19 12:14 UTC (permalink / raw) To: linux-arm-kernel > >> Cc: Tejun Heo <tj@kernel.org> > >> Cc: linux-ide at vger.kernel.org > >> Signed-off-by: Lee Jones <lee.jones@linaro.org> > > > > Please consider basing it on top of Hans' refactored ahci_platform. > > > > http://www.spinics.net/lists/linux-ide/msg47628.html > > Which reminds I must test the version I've rebased on top of 3.14-rc1 > and then send a v6 so that this can get merged. > > Lee, I'll add you to the CC of the v6 I'm about to send. Thanks Hans. Once Tejun has accepted this driver I will go ahead and rebase on top of your work and convert to the new API. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2014-02-19 18:06 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-02-17 12:56 [PATCH 1/3] ahci: st: Provide DT bindings for ST's SATA implementation Lee Jones 2014-02-17 12:56 ` [PATCH 2/3] ARM: DT: STi: Add DT node for ST's SATA device Lee Jones 2014-02-17 12:56 ` [PATCH 3/3] ahci: st: Add support for ST's SATA IP Lee Jones 2014-02-18 23:36 ` Tejun Heo 2014-02-19 8:30 ` Lee Jones 2014-02-19 14:04 ` Tejun Heo 2014-02-19 15:01 ` Lee Jones 2014-02-19 15:06 ` Tejun Heo 2014-02-19 15:23 ` Lee Jones 2014-02-19 15:36 ` Tejun Heo 2014-02-19 16:39 ` Lee Jones 2014-02-19 17:00 ` Tejun Heo 2014-02-19 17:24 ` Lee Jones 2014-02-19 17:26 ` Tejun Heo 2014-02-19 17:40 ` Lee Jones 2014-02-19 18:06 ` Tejun Heo 2014-02-19 11:54 ` Hans de Goede 2014-02-19 12:14 ` Lee Jones
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).