Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1714574 > unrolled thread
| Started by | Vijay Viswanath <vviswana@codeaurora.org> |
|---|---|
| First post | 2017-08-18 07:30 +0200 |
| Last post | 2017-08-22 11:50 +0200 |
| Articles | 8 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 0/5] mmc: sdhci-msm: Corrections to implementation of power irq Vijay Viswanath <vviswana@codeaurora.org> - 2017-08-18 07:30 +0200
[PATCH 1/5] mmc: sdhci-msm: fix issue with power irq Vijay Viswanath <vviswana@codeaurora.org> - 2017-08-18 07:30 +0200
Re: [PATCH 1/5] mmc: sdhci-msm: fix issue with power irq Adrian Hunter <adrian.hunter@intel.com> - 2017-08-24 09:50 +0200
[PATCH 4/5] mmc: sdhci-msm: Add ops to do sdhc register write Vijay Viswanath <vviswana@codeaurora.org> - 2017-08-18 07:30 +0200
Re: [PATCH 4/5] mmc: sdhci-msm: Add ops to do sdhc register write Adrian Hunter <adrian.hunter@intel.com> - 2017-08-24 12:20 +0200
[PATCH 5/5] defconfig: msm: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS Vijay Viswanath <vviswana@codeaurora.org> - 2017-08-18 07:30 +0200
Re: [PATCH 5/5] defconfig: msm: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS Ulf Hansson <ulf.hansson@linaro.org> - 2017-08-22 11:40 +0200
Re: [PATCH 0/5] mmc: sdhci-msm: Corrections to implementation of power irq Ulf Hansson <ulf.hansson@linaro.org> - 2017-08-22 11:50 +0200
| From | Vijay Viswanath <vviswana@codeaurora.org> |
|---|---|
| Date | 2017-08-18 07:30 +0200 |
| Subject | [PATCH 0/5] mmc: sdhci-msm: Corrections to implementation of power irq |
| Message-ID | <ufI13-7kE-7@gated-at.bofh.it> |
Register writes which change voltage of IO lines or turn the IO bus on/off require sdhc controller to be ready before progressing further. Once a register write which affects IO lines is done, the driver should wait for power irq from controller. Once the irq comes, the driver should acknowledge the irq by writing to power control register. If the acknowledgement is not given to controller, the controller may not complete the corresponding register write action and this can mess up the controller if drivers proceeds without power irq completing. Sahitya Tummala (2): mmc: sdhci-msm: Fix HW issue with power IRQ handling during reset mmc: sdhci-msm: Add support to wait for power irq Subhash Jadavani (1): mmc: sdhci-msm: fix issue with power irq Vijay Viswanath (2): mmc: sdhci-msm: Add ops to do sdhc register write defconfig: msm: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS arch/arm64/configs/defconfig | 1 + drivers/mmc/host/sdhci-msm.c | 233 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 229 insertions(+), 5 deletions(-) -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
[toc] | [next] | [standalone]
| From | Vijay Viswanath <vviswana@codeaurora.org> |
|---|---|
| Date | 2017-08-18 07:30 +0200 |
| Subject | [PATCH 1/5] mmc: sdhci-msm: fix issue with power irq |
| Message-ID | <ufI14-7kE-19@gated-at.bofh.it> |
| In reply to | #1714574 |
From: Subhash Jadavani <subhashj@codeaurora.org>
SDCC controller reset (SW_RST) during probe may trigger power irq if
previous status of PWRCTL was either BUS_ON or IO_HIGH_V. So before we
enable the power irq interrupt in GIC (by registering the interrupt
handler), we need to ensure that any pending power irq interrupt status
is acknowledged otherwise power irq interrupt handler would be fired
prematurely.
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
---
drivers/mmc/host/sdhci-msm.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 9d601dc..0957199 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -1128,6 +1128,7 @@ static int sdhci_msm_probe(struct platform_device *pdev)
u16 host_version, core_minor;
u32 core_version, config;
u8 core_major;
+ u32 irq_status, irq_ctl;
host = sdhci_pltfm_init(pdev, &sdhci_msm_pdata, sizeof(*msm_host));
if (IS_ERR(host))
@@ -1250,6 +1251,28 @@ static int sdhci_msm_probe(struct platform_device *pdev)
CORE_VENDOR_SPEC_CAPABILITIES0);
}
+ /*
+ * Power on reset state may trigger power irq if previous status of
+ * PWRCTL was either BUS_ON or IO_HIGH_V. So before enabling pwr irq
+ * interrupt in GIC, any pending power irq interrupt should be
+ * acknowledged. Otherwise power irq interrupt handler would be
+ * fired prematurely.
+ */
+
+ irq_status = readl_relaxed(msm_host->core_mem + CORE_PWRCTL_STATUS);
+ writel_relaxed(irq_status, msm_host->core_mem + CORE_PWRCTL_CLEAR);
+ irq_ctl = readl_relaxed(msm_host->core_mem + CORE_PWRCTL_CTL);
+ if (irq_status & (CORE_PWRCTL_BUS_ON | CORE_PWRCTL_BUS_OFF))
+ irq_ctl |= CORE_PWRCTL_BUS_SUCCESS;
+ if (irq_status & (CORE_PWRCTL_IO_HIGH | CORE_PWRCTL_IO_LOW))
+ irq_ctl |= CORE_PWRCTL_IO_SUCCESS;
+ writel_relaxed(irq_ctl, msm_host->core_mem + CORE_PWRCTL_CTL);
+ /*
+ * Ensure that above writes are propogated before interrupt enablement
+ * in GIC.
+ */
+ mb();
+
/* Setup IRQ for handling power/voltage tasks with PMIC */
msm_host->pwr_irq = platform_get_irq_byname(pdev, "pwr_irq");
if (msm_host->pwr_irq < 0) {
@@ -1259,6 +1282,9 @@ static int sdhci_msm_probe(struct platform_device *pdev)
goto clk_disable;
}
+ /* Enable pwr irq interrupts */
+ writel_relaxed(INT_MASK, msm_host->core_mem + CORE_PWRCTL_MASK);
+
ret = devm_request_threaded_irq(&pdev->dev, msm_host->pwr_irq, NULL,
sdhci_msm_pwr_irq, IRQF_ONESHOT,
dev_name(&pdev->dev), host);
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
[toc] | [prev] | [next] | [standalone]
| From | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| Date | 2017-08-24 09:50 +0200 |
| Subject | Re: [PATCH 1/5] mmc: sdhci-msm: fix issue with power irq |
| Message-ID | <uhV3P-3x1-7@gated-at.bofh.it> |
| In reply to | #1714577 |
On 18/08/17 08:19, Vijay Viswanath wrote:
> From: Subhash Jadavani <subhashj@codeaurora.org>
>
> SDCC controller reset (SW_RST) during probe may trigger power irq if
> previous status of PWRCTL was either BUS_ON or IO_HIGH_V. So before we
> enable the power irq interrupt in GIC (by registering the interrupt
> handler), we need to ensure that any pending power irq interrupt status
> is acknowledged otherwise power irq interrupt handler would be fired
> prematurely.
>
> Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
> Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
> ---
> drivers/mmc/host/sdhci-msm.c | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> index 9d601dc..0957199 100644
> --- a/drivers/mmc/host/sdhci-msm.c
> +++ b/drivers/mmc/host/sdhci-msm.c
> @@ -1128,6 +1128,7 @@ static int sdhci_msm_probe(struct platform_device *pdev)
> u16 host_version, core_minor;
> u32 core_version, config;
> u8 core_major;
> + u32 irq_status, irq_ctl;
>
> host = sdhci_pltfm_init(pdev, &sdhci_msm_pdata, sizeof(*msm_host));
> if (IS_ERR(host))
> @@ -1250,6 +1251,28 @@ static int sdhci_msm_probe(struct platform_device *pdev)
> CORE_VENDOR_SPEC_CAPABILITIES0);
> }
>
> + /*
> + * Power on reset state may trigger power irq if previous status of
> + * PWRCTL was either BUS_ON or IO_HIGH_V. So before enabling pwr irq
> + * interrupt in GIC, any pending power irq interrupt should be
> + * acknowledged. Otherwise power irq interrupt handler would be
> + * fired prematurely.
> + */
> +
> + irq_status = readl_relaxed(msm_host->core_mem + CORE_PWRCTL_STATUS);
> + writel_relaxed(irq_status, msm_host->core_mem + CORE_PWRCTL_CLEAR);
> + irq_ctl = readl_relaxed(msm_host->core_mem + CORE_PWRCTL_CTL);
> + if (irq_status & (CORE_PWRCTL_BUS_ON | CORE_PWRCTL_BUS_OFF))
> + irq_ctl |= CORE_PWRCTL_BUS_SUCCESS;
> + if (irq_status & (CORE_PWRCTL_IO_HIGH | CORE_PWRCTL_IO_LOW))
> + irq_ctl |= CORE_PWRCTL_IO_SUCCESS;
> + writel_relaxed(irq_ctl, msm_host->core_mem + CORE_PWRCTL_CTL);
This looks a lot like sdhci_msm_voltage_switch(). Can clearing the
interrupt be a common function?
> + /*
> + * Ensure that above writes are propogated before interrupt enablement
> + * in GIC.
> + */
> + mb();
> +
> /* Setup IRQ for handling power/voltage tasks with PMIC */
> msm_host->pwr_irq = platform_get_irq_byname(pdev, "pwr_irq");
> if (msm_host->pwr_irq < 0) {
> @@ -1259,6 +1282,9 @@ static int sdhci_msm_probe(struct platform_device *pdev)
> goto clk_disable;
> }
>
> + /* Enable pwr irq interrupts */
> + writel_relaxed(INT_MASK, msm_host->core_mem + CORE_PWRCTL_MASK);
> +
> ret = devm_request_threaded_irq(&pdev->dev, msm_host->pwr_irq, NULL,
> sdhci_msm_pwr_irq, IRQF_ONESHOT,
> dev_name(&pdev->dev), host);
>
[toc] | [prev] | [next] | [standalone]
| From | Vijay Viswanath <vviswana@codeaurora.org> |
|---|---|
| Date | 2017-08-18 07:30 +0200 |
| Subject | [PATCH 4/5] mmc: sdhci-msm: Add ops to do sdhc register write |
| Message-ID | <ufI14-7kE-21@gated-at.bofh.it> |
| In reply to | #1714574 |
Register writes which change voltage of IO lines or turn the IO bus
on/off require controller to be ready before progressing further. When
the controller is ready, it will generate a power irq which needs to be
handled. The thread which initiated the register write should wait for
power irq to complete. This will be done through the new sdhc msm write
APIs which will check whether the particular write can trigger a power
irq and wait for it with a timeout if it is expected.
The SDHC core power control IRQ gets triggered when -
* There is a state change in power control bit (bit 0)
of SDHCI_POWER_CONTROL register.
* There is a state change in 1.8V enable bit (bit 3) of
SDHCI_HOST_CONTROL2 register.
* Bit 1 of SDHCI_SOFTWARE_RESET is set.
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
---
drivers/mmc/host/sdhci-msm.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 6d3b1fd..6571880 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -1250,6 +1250,41 @@ static void sdhci_msm_set_clock(struct sdhci_host *host, unsigned int clock)
__sdhci_msm_set_clock(host, clock);
}
+#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
+static void __sdhci_msm_check_write(struct sdhci_host *host, u16 val, int reg)
+{
+ u32 req_type = 0;
+
+ switch (reg) {
+ case SDHCI_HOST_CONTROL2:
+ req_type = (val & SDHCI_CTRL_VDD_180) ? REQ_IO_LOW :
+ REQ_IO_HIGH;
+ break;
+ case SDHCI_SOFTWARE_RESET:
+ if (host->pwr && (val & SDHCI_RESET_ALL))
+ req_type = REQ_BUS_OFF;
+ break;
+ case SDHCI_POWER_CONTROL:
+ req_type = !val ? REQ_BUS_OFF : REQ_BUS_ON;
+ break;
+ }
+
+ if (req_type)
+ sdhci_msm_check_power_status(host, req_type);
+}
+
+static void sdhci_msm_writew(struct sdhci_host *host, u16 val, int reg)
+{
+ writew_relaxed(val, host->ioaddr + reg);
+ __sdhci_msm_check_write(host, val, reg);
+}
+
+static void sdhci_msm_writeb(struct sdhci_host *host, u8 val, int reg)
+{
+ writeb_relaxed(val, host->ioaddr + reg);
+ __sdhci_msm_check_write(host, val, reg);
+}
+#endif
static const struct of_device_id sdhci_msm_dt_match[] = {
{ .compatible = "qcom,sdhci-msm-v4" },
{},
@@ -1264,6 +1299,10 @@ static void sdhci_msm_set_clock(struct sdhci_host *host, unsigned int clock)
.get_max_clock = sdhci_msm_get_max_clock,
.set_bus_width = sdhci_set_bus_width,
.set_uhs_signaling = sdhci_msm_set_uhs_signaling,
+#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
+ .write_w = sdhci_msm_writew,
+ .write_b = sdhci_msm_writeb,
+#endif
};
static const struct sdhci_pltfm_data sdhci_msm_pdata = {
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
[toc] | [prev] | [next] | [standalone]
| From | Adrian Hunter <adrian.hunter@intel.com> |
|---|---|
| Date | 2017-08-24 12:20 +0200 |
| Subject | Re: [PATCH 4/5] mmc: sdhci-msm: Add ops to do sdhc register write |
| Message-ID | <uhXp1-563-33@gated-at.bofh.it> |
| In reply to | #1714579 |
On 18/08/17 08:19, Vijay Viswanath wrote:
> Register writes which change voltage of IO lines or turn the IO bus
> on/off require controller to be ready before progressing further. When
> the controller is ready, it will generate a power irq which needs to be
> handled. The thread which initiated the register write should wait for
> power irq to complete. This will be done through the new sdhc msm write
> APIs which will check whether the particular write can trigger a power
> irq and wait for it with a timeout if it is expected.
> The SDHC core power control IRQ gets triggered when -
> * There is a state change in power control bit (bit 0)
> of SDHCI_POWER_CONTROL register.
> * There is a state change in 1.8V enable bit (bit 3) of
> SDHCI_HOST_CONTROL2 register.
> * Bit 1 of SDHCI_SOFTWARE_RESET is set.
>
> Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
> ---
> drivers/mmc/host/sdhci-msm.c | 39 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> index 6d3b1fd..6571880 100644
> --- a/drivers/mmc/host/sdhci-msm.c
> +++ b/drivers/mmc/host/sdhci-msm.c
> @@ -1250,6 +1250,41 @@ static void sdhci_msm_set_clock(struct sdhci_host *host, unsigned int clock)
> __sdhci_msm_set_clock(host, clock);
> }
>
> +#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
> +static void __sdhci_msm_check_write(struct sdhci_host *host, u16 val, int reg)
> +{
> + u32 req_type = 0;
> +
> + switch (reg) {
> + case SDHCI_HOST_CONTROL2:
> + req_type = (val & SDHCI_CTRL_VDD_180) ? REQ_IO_LOW :
> + REQ_IO_HIGH;
> + break;
> + case SDHCI_SOFTWARE_RESET:
> + if (host->pwr && (val & SDHCI_RESET_ALL))
> + req_type = REQ_BUS_OFF;
> + break;
> + case SDHCI_POWER_CONTROL:
> + req_type = !val ? REQ_BUS_OFF : REQ_BUS_ON;
> + break;
> + }
> +
> + if (req_type)
So you are really relying on these register writes not being done in an
atomic context. Since the spin lock was removed from sdhci_set_ios() that
seems to be true, but it would be good to add a comment here acknowledging
that you are depending on that.
> + sdhci_msm_check_power_status(host, req_type);
> +}
> +
> +static void sdhci_msm_writew(struct sdhci_host *host, u16 val, int reg)
> +{
> + writew_relaxed(val, host->ioaddr + reg);
> + __sdhci_msm_check_write(host, val, reg);
> +}
> +
> +static void sdhci_msm_writeb(struct sdhci_host *host, u8 val, int reg)
> +{
> + writeb_relaxed(val, host->ioaddr + reg);
> + __sdhci_msm_check_write(host, val, reg);
> +}
> +#endif
> static const struct of_device_id sdhci_msm_dt_match[] = {
> { .compatible = "qcom,sdhci-msm-v4" },
> {},
> @@ -1264,6 +1299,10 @@ static void sdhci_msm_set_clock(struct sdhci_host *host, unsigned int clock)
> .get_max_clock = sdhci_msm_get_max_clock,
> .set_bus_width = sdhci_set_bus_width,
> .set_uhs_signaling = sdhci_msm_set_uhs_signaling,
> +#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
> + .write_w = sdhci_msm_writew,
> + .write_b = sdhci_msm_writeb,
> +#endif
> };
>
> static const struct sdhci_pltfm_data sdhci_msm_pdata = {
>
[toc] | [prev] | [next] | [standalone]
| From | Vijay Viswanath <vviswana@codeaurora.org> |
|---|---|
| Date | 2017-08-18 07:30 +0200 |
| Subject | [PATCH 5/5] defconfig: msm: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS |
| Message-ID | <ufI15-7kE-23@gated-at.bofh.it> |
| In reply to | #1714574 |
Enable CONFIG_MMC_SDHCI_IO_ACCESSORS so that SDHC controller specific register read and write APIs, if registered, can be used. Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org> --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 65cdd87..a3c93ed 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -398,6 +398,7 @@ CONFIG_MMC_SDHCI_CADENCE=y CONFIG_MMC_SDHCI_TEGRA=y CONFIG_MMC_MESON_GX=y CONFIG_MMC_SDHCI_MSM=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y CONFIG_MMC_SPI=y CONFIG_MMC_SDHI=y CONFIG_MMC_DW=y -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
[toc] | [prev] | [next] | [standalone]
| From | Ulf Hansson <ulf.hansson@linaro.org> |
|---|---|
| Date | 2017-08-22 11:40 +0200 |
| Subject | Re: [PATCH 5/5] defconfig: msm: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS |
| Message-ID | <uhdPb-qO-17@gated-at.bofh.it> |
| In reply to | #1714580 |
On 18 August 2017 at 07:19, Vijay Viswanath <vviswana@codeaurora.org> wrote: > Enable CONFIG_MMC_SDHCI_IO_ACCESSORS so that SDHC controller specific > register read and write APIs, if registered, can be used. > > Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org> > --- > arch/arm64/configs/defconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > index 65cdd87..a3c93ed 100644 > --- a/arch/arm64/configs/defconfig > +++ b/arch/arm64/configs/defconfig > @@ -398,6 +398,7 @@ CONFIG_MMC_SDHCI_CADENCE=y > CONFIG_MMC_SDHCI_TEGRA=y > CONFIG_MMC_MESON_GX=y > CONFIG_MMC_SDHCI_MSM=y > +CONFIG_MMC_SDHCI_IO_ACCESSORS=y > CONFIG_MMC_SPI=y > CONFIG_MMC_SDHI=y > CONFIG_MMC_DW=y CONFIG_MMC_SDHCI_IO_ACCESSORS is intended to be selected by those SDHCI variants that needs it. May therefore suggest you add a "select line" for MMC_SDHCI_MSM in drivers/mmc/host/Kconfig: select CONFIG_MMC_SDHCI_IO_ACCESSORS if ARM64 Kind regards Uffe
[toc] | [prev] | [next] | [standalone]
| From | Ulf Hansson <ulf.hansson@linaro.org> |
|---|---|
| Date | 2017-08-22 11:50 +0200 |
| Subject | Re: [PATCH 0/5] mmc: sdhci-msm: Corrections to implementation of power irq |
| Message-ID | <uhdYT-uT-31@gated-at.bofh.it> |
| In reply to | #1714574 |
On 18 August 2017 at 07:19, Vijay Viswanath <vviswana@codeaurora.org> wrote: > Register writes which change voltage of IO lines or turn the IO bus on/off > require sdhc controller to be ready before progressing further. Once a > register write which affects IO lines is done, the driver should wait for > power irq from controller. Once the irq comes, the driver should acknowledge > the irq by writing to power control register. If the acknowledgement is not > given to controller, the controller may not complete the corresponding > register write action and this can mess up the controller if drivers proceeds > without power irq completing. > > Sahitya Tummala (2): > mmc: sdhci-msm: Fix HW issue with power IRQ handling during reset > mmc: sdhci-msm: Add support to wait for power irq > > Subhash Jadavani (1): > mmc: sdhci-msm: fix issue with power irq > > Vijay Viswanath (2): > mmc: sdhci-msm: Add ops to do sdhc register write > defconfig: msm: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS > > arch/arm64/configs/defconfig | 1 + > drivers/mmc/host/sdhci-msm.c | 233 ++++++++++++++++++++++++++++++++++++++++++- > 2 files changed, 229 insertions(+), 5 deletions(-) > > -- > Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project. > Looks good to me, besides patch 5 which I provided comments for. Unless Adrian objects, I intend to queue this within the next couple of days. Kind regards Uffe
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web