>-----Original Message----- >From: Leo Li >Sent: 2019年1月11日 4:30 >To: Peng Ma <peng.ma@xxxxxxx>; shawnguo@xxxxxxxxxx; axboe@xxxxxxxxx >Cc: robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx; >linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; >linux-kernel@xxxxxxxxxxxxxxx; linux-ide@xxxxxxxxxxxxxxx; Andy Tang ><andy.tang@xxxxxxx> >Subject: RE: [PATCH 1/2] ahci: qoriq: add lx2160 platforms support > > > >> -----Original Message----- >> From: Peng Ma >> Sent: Thursday, January 10, 2019 4:32 AM >> To: Peng Ma <peng.ma@xxxxxxx>; 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; Andy Tang <andy.tang@xxxxxxx> >> Subject: RE: [PATCH 1/2] ahci: qoriq: add lx2160 platforms support >> >> 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. > >Peng, > >The patchwork used is related to the mailing list which you send the patch to >not the maintainer's git tree used. Since the MAINTAINERS file says >drivers/ata should use linux-ide mailing list, patches will appear in linux-ide >patchwork. > >Regards, >Leo > [Peng Ma] got it, thanks. Best Regards, Peng >> 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