RE: [PATCH 1/2] ahci: qoriq: add lx2160 platforms support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jens,

	I send the sata patchs to the upstream patchwork with ./scripts/get_maintainer.pl, but I find my patch on http://patchwork.ozlabs.org/project/linux-ide/list/ , I saw the MAINTAINERS, the driver/ata/* should be on https://patchwork.kernel.org/project/linux-block/list/ . could you please help me what the patchwork is right.
	Thanks a lot.

Best Regards,
Peng

>-----Original Message-----
>From: Peng Ma <peng.ma@xxxxxxx>
>Sent: 2019年1月10日 18:06
>To: shawnguo@xxxxxxxxxx; axboe@xxxxxxxxx
>Cc: Leo Li <leoyang.li@xxxxxxx>; robh+dt@xxxxxxxxxx;
>mark.rutland@xxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
>devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
>linux-ide@xxxxxxxxxxxxxxx; Peng Ma <peng.ma@xxxxxxx>
>Subject: [PATCH 1/2] ahci: qoriq: add lx2160 platforms support
>
>Lx2160a is a new introduced soc which supports ATA3.0 and Clean up some
>code
>
>Signed-off-by: Peng Ma <peng.ma@xxxxxxx>
>---
> drivers/ata/ahci_qoriq.c |   44 ++++++++++++--------------------------------
> 1 files changed, 12 insertions(+), 32 deletions(-)
>
>diff --git a/drivers/ata/ahci_qoriq.c b/drivers/ata/ahci_qoriq.c index
>ce59253..1994bf2 100644
>--- a/drivers/ata/ahci_qoriq.c
>+++ b/drivers/ata/ahci_qoriq.c
>@@ -57,7 +57,7 @@ enum ahci_qoriq_type {
> 	AHCI_LS2080A,
> 	AHCI_LS1046A,
> 	AHCI_LS1088A,
>-	AHCI_LS2088A,
>+	AHCI_LX2160A,
> };
>
> struct ahci_qoriq_priv {
>@@ -73,7 +73,7 @@ struct ahci_qoriq_priv {
> 	{ .compatible = "fsl,ls2080a-ahci", .data = (void *)AHCI_LS2080A},
> 	{ .compatible = "fsl,ls1046a-ahci", .data = (void *)AHCI_LS1046A},
> 	{ .compatible = "fsl,ls1088a-ahci", .data = (void *)AHCI_LS1088A},
>-	{ .compatible = "fsl,ls2088a-ahci", .data = (void *)AHCI_LS2088A},
>+	{ .compatible = "fsl,lx2160a-ahci", .data = (void *)AHCI_LX2160A},
> 	{},
> };
> MODULE_DEVICE_TABLE(of, ahci_qoriq_of_match); @@ -174,12 +174,10
>@@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv)
> 		writel(LS1021A_PORT_PHY4, reg_base + PORT_PHY4);
> 		writel(LS1021A_PORT_PHY5, reg_base + PORT_PHY5);
> 		writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS);
>-		if (qpriv->is_dmacoherent)
>-			writel(AHCI_PORT_AXICC_CFG,
>-					reg_base + LS1021A_AXICC_ADDR);
> 		break;
>
> 	case AHCI_LS1043A:
>+	case AHCI_LS1046A:
> 		if (!qpriv->ecc_addr)
> 			return -EINVAL;
> 		writel(readl(qpriv->ecc_addr) | ECC_DIS_ARMV8_CH2, @@ -188,8
>+186,6 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv)
> 		writel(AHCI_PORT_PHY2_CFG, reg_base + PORT_PHY2);
> 		writel(AHCI_PORT_PHY3_CFG, reg_base + PORT_PHY3);
> 		writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS);
>-		if (qpriv->is_dmacoherent)
>-			writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC);
> 		break;
>
> 	case AHCI_LS2080A:
>@@ -197,24 +193,10 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv
>*hpriv)
> 		writel(AHCI_PORT_PHY2_CFG, reg_base + PORT_PHY2);
> 		writel(AHCI_PORT_PHY3_CFG, reg_base + PORT_PHY3);
> 		writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS);
>-		if (qpriv->is_dmacoherent)
>-			writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC);
>-		break;
>-
>-	case AHCI_LS1046A:
>-		if (!qpriv->ecc_addr)
>-			return -EINVAL;
>-		writel(readl(qpriv->ecc_addr) | ECC_DIS_ARMV8_CH2,
>-				qpriv->ecc_addr);
>-		writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1);
>-		writel(AHCI_PORT_PHY2_CFG, reg_base + PORT_PHY2);
>-		writel(AHCI_PORT_PHY3_CFG, reg_base + PORT_PHY3);
>-		writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS);
>-		if (qpriv->is_dmacoherent)
>-			writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC);
> 		break;
>
> 	case AHCI_LS1088A:
>+	case AHCI_LX2160A:
> 		if (!qpriv->ecc_addr)
> 			return -EINVAL;
> 		writel(readl(qpriv->ecc_addr) | ECC_DIS_LS1088A, @@ -223,18
>+205,16 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv)
> 		writel(AHCI_PORT_PHY2_CFG, reg_base + PORT_PHY2);
> 		writel(AHCI_PORT_PHY3_CFG, reg_base + PORT_PHY3);
> 		writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS);
>-		if (qpriv->is_dmacoherent)
>-			writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC);
> 		break;
>+	}
>
>-	case AHCI_LS2088A:
>-		writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1);
>-		writel(AHCI_PORT_PHY2_CFG, reg_base + PORT_PHY2);
>-		writel(AHCI_PORT_PHY3_CFG, reg_base + PORT_PHY3);
>-		writel(AHCI_PORT_TRANS_CFG, reg_base + PORT_TRANS);
>-		if (qpriv->is_dmacoherent)
>-			writel(AHCI_PORT_AXICC_CFG, reg_base + PORT_AXICC);
>-		break;
>+	if (qpriv->is_dmacoherent) {
>+		if (qpriv->type == AHCI_LS1021A)
>+			writel(AHCI_PORT_AXICC_CFG,
>+			       reg_base + LS1021A_AXICC_ADDR);
>+		else
>+			writel(AHCI_PORT_AXICC_CFG,
>+			       reg_base + PORT_AXICC);
> 	}
>
> 	return 0;
>--
>1.7.1





[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux