All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC
@ 2014-06-19  6:48 Suman Tripathi
  2014-06-19  6:48 ` Suman Tripathi
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Suman Tripathi @ 2014-06-19  6:48 UTC (permalink / raw)
  To: olof, tj, arnd
  Cc: linux-scsi, linux-ide, devicetree, linux-arm-kernel, ddutile,
	jcm, patches, Suman Tripathi, Loc Ho

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
---
Suman Tripathi (2):
  libahci: Implement the function ahci_restart_engine to restart the
    port dma engine.
  ata: Fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode
    command.

 drivers/ata/ahci.h       |  2 ++
 drivers/ata/ahci_xgene.c | 70 +++++++++++++++++++++++++++++++++++++++---------
 drivers/ata/libahci.c    | 15 ++++++++++-
 3 files changed, 73 insertions(+), 14 deletions(-)

--
1.8.2.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC
  2014-06-19  6:48 [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC Suman Tripathi
@ 2014-06-19  6:48 ` Suman Tripathi
  2014-06-19  6:48 ` [PATCH v3 1/2] libahci: Implement the function ahci_restart_engine to restart the port dma engine Suman Tripathi
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Suman Tripathi @ 2014-06-19  6:48 UTC (permalink / raw)
  To: olof, tj, arnd
  Cc: linux-scsi, linux-ide, devicetree, linux-arm-kernel, ddutile,
	jcm, patches, Suman Tripathi, Loc Ho

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
---
Suman Tripathi (2):
  libahci: Implement the function ahci_restart_engine to restart the
    port dma engine.
  ata: Fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode
    command.

 drivers/ata/ahci.h       |  2 ++
 drivers/ata/ahci_xgene.c | 70 +++++++++++++++++++++++++++++++++++++++---------
 drivers/ata/libahci.c    | 15 ++++++++++-
 3 files changed, 73 insertions(+), 14 deletions(-)

--
1.8.2.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/2] libahci: Implement the function ahci_restart_engine to restart the port dma engine.
  2014-06-19  6:48 [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC Suman Tripathi
  2014-06-19  6:48 ` Suman Tripathi
@ 2014-06-19  6:48 ` Suman Tripathi
  2014-06-19  6:48 ` Suman Tripathi
  2014-06-20  3:59   ` Ming Lei
  3 siblings, 0 replies; 6+ messages in thread
From: Suman Tripathi @ 2014-06-19  6:48 UTC (permalink / raw)
  To: olof, tj, arnd
  Cc: linux-scsi, linux-ide, devicetree, linux-arm-kernel, ddutile,
	jcm, patches, Suman Tripathi, Loc Ho

This patch adds an function to restart the port dma engine.

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
---
 drivers/ata/ahci.h    |  1 +
 drivers/ata/libahci.c | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index af63c75..3c1760e 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -372,6 +372,7 @@ int ahci_do_softreset(struct ata_link *link, unsigned int *class,

 int ahci_stop_engine(struct ata_port *ap);
 void ahci_start_engine(struct ata_port *ap);
+int ahci_restart_engine(struct ata_port *ap);
 int ahci_check_ready(struct ata_link *link);
 int ahci_kick_engine(struct ata_port *ap);
 int ahci_port_resume(struct ata_port *ap);
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index b986145..d1c9122 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -742,6 +742,18 @@ static int ahci_set_lpm(struct ata_link *link, enum ata_lpm_policy policy,
 	return 0;
 }

+int ahci_restart_engine(struct ata_port *ap)
+{
+	struct ahci_host_priv *hpriv = ap->host->private_data;
+
+	ahci_stop_engine(ap);
+	ahci_start_fis_rx(ap);
+	hpriv->start_engine(ap);
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(ahci_restart_engine);
+
 #ifdef CONFIG_PM
 static void ahci_power_down(struct ata_port *ap)
 {
--
1.8.2.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 1/2] libahci: Implement the function ahci_restart_engine to restart the port dma engine.
  2014-06-19  6:48 [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC Suman Tripathi
  2014-06-19  6:48 ` Suman Tripathi
  2014-06-19  6:48 ` [PATCH v3 1/2] libahci: Implement the function ahci_restart_engine to restart the port dma engine Suman Tripathi
@ 2014-06-19  6:48 ` Suman Tripathi
  2014-06-20  3:59   ` Ming Lei
  3 siblings, 0 replies; 6+ messages in thread
From: Suman Tripathi @ 2014-06-19  6:48 UTC (permalink / raw)
  To: olof, tj, arnd
  Cc: linux-scsi, linux-ide, devicetree, linux-arm-kernel, ddutile,
	jcm, patches, Suman Tripathi, Loc Ho

This patch adds an function to restart the port dma engine.

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
---
 drivers/ata/ahci.h    |  1 +
 drivers/ata/libahci.c | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index af63c75..3c1760e 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -372,6 +372,7 @@ int ahci_do_softreset(struct ata_link *link, unsigned int *class,

 int ahci_stop_engine(struct ata_port *ap);
 void ahci_start_engine(struct ata_port *ap);
+int ahci_restart_engine(struct ata_port *ap);
 int ahci_check_ready(struct ata_link *link);
 int ahci_kick_engine(struct ata_port *ap);
 int ahci_port_resume(struct ata_port *ap);
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index b986145..d1c9122 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -742,6 +742,18 @@ static int ahci_set_lpm(struct ata_link *link, enum ata_lpm_policy policy,
 	return 0;
 }

+int ahci_restart_engine(struct ata_port *ap)
+{
+	struct ahci_host_priv *hpriv = ap->host->private_data;
+
+	ahci_stop_engine(ap);
+	ahci_start_fis_rx(ap);
+	hpriv->start_engine(ap);
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(ahci_restart_engine);
+
 #ifdef CONFIG_PM
 static void ahci_power_down(struct ata_port *ap)
 {
--
1.8.2.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC
  2014-06-19  6:48 [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC Suman Tripathi
@ 2014-06-20  3:59   ` Ming Lei
  2014-06-19  6:48 ` [PATCH v3 1/2] libahci: Implement the function ahci_restart_engine to restart the port dma engine Suman Tripathi
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Ming Lei @ 2014-06-20  3:59 UTC (permalink / raw)
  To: Suman Tripathi
  Cc: Olof Johansson, Tejun Heo, Arnd Bergmann, Linux SCSI List,
	linux-ide, devicetree, linux-arm-kernel, Don Dutile, Jon Masters,
	patches, Loc Ho

Hi Suman,

On Thu, Jun 19, 2014 at 2:48 PM, Suman Tripathi <stripathi@apm.com> wrote:
> Signed-off-by: Loc Ho <lho@apm.com>
> Signed-off-by: Suman Tripathi <stripathi@apm.com>
> ---
> Suman Tripathi (2):
>   libahci: Implement the function ahci_restart_engine to restart the
>     port dma engine.
>   ata: Fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode
>     command.
>
>  drivers/ata/ahci.h       |  2 ++
>  drivers/ata/ahci_xgene.c | 70 +++++++++++++++++++++++++++++++++++++++---------
>  drivers/ata/libahci.c    | 15 ++++++++++-
>  3 files changed, 73 insertions(+), 14 deletions(-)

These two patches does fix boot failure on our mustang board, thanks
Suman!

Reported-and-Tested-by: Ming Lei <ming.lei@canonical.com>

Thanks,
-- 
Ming Lei

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC
@ 2014-06-20  3:59   ` Ming Lei
  0 siblings, 0 replies; 6+ messages in thread
From: Ming Lei @ 2014-06-20  3:59 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Suman,

On Thu, Jun 19, 2014 at 2:48 PM, Suman Tripathi <stripathi@apm.com> wrote:
> Signed-off-by: Loc Ho <lho@apm.com>
> Signed-off-by: Suman Tripathi <stripathi@apm.com>
> ---
> Suman Tripathi (2):
>   libahci: Implement the function ahci_restart_engine to restart the
>     port dma engine.
>   ata: Fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode
>     command.
>
>  drivers/ata/ahci.h       |  2 ++
>  drivers/ata/ahci_xgene.c | 70 +++++++++++++++++++++++++++++++++++++++---------
>  drivers/ata/libahci.c    | 15 ++++++++++-
>  3 files changed, 73 insertions(+), 14 deletions(-)

These two patches does fix boot failure on our mustang board, thanks
Suman!

Reported-and-Tested-by: Ming Lei <ming.lei@canonical.com>

Thanks,
-- 
Ming Lei

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-20  3:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-19  6:48 [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC Suman Tripathi
2014-06-19  6:48 ` Suman Tripathi
2014-06-19  6:48 ` [PATCH v3 1/2] libahci: Implement the function ahci_restart_engine to restart the port dma engine Suman Tripathi
2014-06-19  6:48 ` Suman Tripathi
2014-06-20  3:59 ` [PATCH v3 0/2]]ata: Fix the dma state machine lockup for APM X-Gene SoC Ming Lei
2014-06-20  3:59   ` Ming Lei

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.