diff mbox

[U-Boot,v2] dwc_ahsata: return failure for MX6 if not IMX6Q/IMX6D

Message ID 1399526615-12204-1-git-send-email-tharvey@gateworks.com
State Accepted
Delegated to: Stefano Babic
Headers show

Commit Message

Tim Harvey May 8, 2014, 5:23 a.m. UTC
The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return failure
instead of attempting a memory access that results in a data abort and reset.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
---
v2:
 - remove print as this condition isn't really an error just something not
   possible
---
 drivers/block/dwc_ahsata.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Tim Harvey June 5, 2014, 10:46 a.m. UTC | #1
On Wed, May 7, 2014 at 10:23 PM, Tim Harvey <tharvey@gateworks.com> wrote:
> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return failure
> instead of attempting a memory access that results in a data abort and reset.
>
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
> v2:
>  - remove print as this condition isn't really an error just something not
>    possible
> ---
>  drivers/block/dwc_ahsata.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
> index 3569214..15d65d7 100644
> --- a/drivers/block/dwc_ahsata.c
> +++ b/drivers/block/dwc_ahsata.c
> @@ -17,6 +17,7 @@
>  #include <asm/io.h>
>  #include <linux/bitops.h>
>  #include <asm/arch/clock.h>
> +#include <asm/arch/sys_proto.h>
>  #include "dwc_ahsata.h"
>
>  struct sata_port_regs {
> @@ -558,6 +559,10 @@ int init_sata(int dev)
>         u32 linkmap;
>         struct ahci_probe_ent *probe_ent = NULL;
>
> +#if defined(CONFIG_MX6)
> +       if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
> +               return 1;
> +#endif
>         if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) {
>                 printf("The sata index %d is out of ranges\n\r", dev);
>                 return -1;
> --
> 1.8.3.2
>

Stefano,

Any comments or does anyone else need to review this?

Regards,

Tim
Stefano Babic June 6, 2014, 8:18 a.m. UTC | #2
On 08/05/2014 07:23, Tim Harvey wrote:
> The IMX6QUAD/DUAL have SATA, but the IMX6SOLO/DL do not. Return failure
> instead of attempting a memory access that results in a data abort and reset.
> 
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> ---
> v2:
>  - remove print as this condition isn't really an error just something not
>    possible
> ---


Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/drivers/block/dwc_ahsata.c b/drivers/block/dwc_ahsata.c
index 3569214..15d65d7 100644
--- a/drivers/block/dwc_ahsata.c
+++ b/drivers/block/dwc_ahsata.c
@@ -17,6 +17,7 @@ 
 #include <asm/io.h>
 #include <linux/bitops.h>
 #include <asm/arch/clock.h>
+#include <asm/arch/sys_proto.h>
 #include "dwc_ahsata.h"
 
 struct sata_port_regs {
@@ -558,6 +559,10 @@  int init_sata(int dev)
 	u32 linkmap;
 	struct ahci_probe_ent *probe_ent = NULL;
 
+#if defined(CONFIG_MX6)
+	if (!is_cpu_type(MXC_CPU_MX6Q) && !is_cpu_type(MXC_CPU_MX6D))
+		return 1;
+#endif
 	if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1)) {
 		printf("The sata index %d is out of ranges\n\r", dev);
 		return -1;