From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 887D4C3DA60 for ; Wed, 17 Jul 2024 18:25:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+AeI0v5mybT820LRMcdTsJDlvh99CBIp015zZao5Tm4=; b=maYQ5AkdrGkyswCchaYibzRSjK PWxFOckWGDNBU70qEB5f5R1S3fwppdd2CncE5M8mVhxDaxA5Hk7WE3OmPhOPgXXExaeHzRGoPlvdH Hex8Rna8y6gKMv7y/iyeVBR0HaIdNraUBs0L/812b72YVpezYeJmMPMOvMNybMfOswWImv1HsQ5ZJ KMc1iKhnsU6iLcJ3kn8ZLldvZdFSCpRmgNqf7mtvnWbjAAPYJ3bwkY/dQeXkjeKiI2lWm4/7pDmKK 4vo/9x2BnedEjkMo+n+u/pFsSXYJ24mMrZYsTtYdi+FD+Ol9ypOsCZD/G7N1U7UkcXlROULyR0Dn4 HlEn0iLA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sU9LB-0000000EcFa-0Hjb; Wed, 17 Jul 2024 18:25:25 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sU9Ki-0000000Ec5B-2VXo for linux-arm-kernel@lists.infradead.org; Wed, 17 Jul 2024 18:24:58 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id F12C1CE1771; Wed, 17 Jul 2024 18:24:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6429EC4AF0B; Wed, 17 Jul 2024 18:24:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1721240692; bh=C++kSOLhIP5PSq6tF2bjAs5Xhpug33YPSaVFZ8do+YU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hIqOSzqmR44B1nzxPCPJH2o6GTxE2nt2Hhe9ArYOEprmgc8xLjQAmduIF9Bs6Vdew EUnltYNEoe7YcYxEGpDsK8jwk6A9LBGIp69e3oGFwox9uG8tS7BX2tOhpc2oK/qRU1 aGIJaQG5x1UA3E3heOVTQ7diXTF5eS4mVIXluetMD8a34yUe6t6BN+AbptVTBUKBq2 zkdEZmSiYnUDy4vBmofSpsz9l1vuYAptvR7N1jLZ4rZGKpGPFj1ReJOo3LnT2FigrR Mlz4in3o8Lv6qZyXaOc/Fmg4PCWgRwIk7zo4UNx/xwZVoiHTN/V6K1Qkjt9y/OtrWP VAL7rD1O6AC4Q== Date: Wed, 17 Jul 2024 20:24:46 +0200 From: Niklas Cassel To: Richard Zhu Cc: tj@kernel.org, dlemoal@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, linux-ide@vger.kernel.org, stable@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, kernel@pengutronix.de Subject: Re: [PATCH v3 2/4] ata: ahci_imx: Clean up code by using i.MX8Q HSIO PHY driver Message-ID: References: <1721099895-26098-1-git-send-email-hongxing.zhu@nxp.com> <1721099895-26098-3-git-send-email-hongxing.zhu@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1721099895-26098-3-git-send-email-hongxing.zhu@nxp.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240717_112457_111657_0F5A0371 X-CRM114-Status: GOOD ( 17.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Jul 16, 2024 at 11:18:13AM +0800, Richard Zhu wrote: > Clean up code by using PHY interface. > > Signed-off-by: Richard Zhu > --- > drivers/ata/ahci_imx.c | 396 ++++++++++------------------------------- > 1 file changed, 98 insertions(+), 298 deletions(-) > > diff --git a/drivers/ata/ahci_imx.c b/drivers/ata/ahci_imx.c > index cb768f66f0a70..e94c0fdea2260 100644 > --- a/drivers/ata/ahci_imx.c > +++ b/drivers/ata/ahci_imx.c > @@ -986,65 +827,22 @@ static const struct scsi_host_template ahci_platform_sht = { > > static int imx8_sata_probe(struct device *dev, struct imx_ahci_priv *imxpriv) > { > - struct resource *phy_res; > - struct platform_device *pdev = imxpriv->ahci_pdev; > - struct device_node *np = dev->of_node; > - > - if (of_property_read_u32(np, "fsl,phy-imp", &imxpriv->imped_ratio)) > - imxpriv->imped_ratio = IMX8QM_SATA_PHY_IMPED_RATIO_85OHM; > - phy_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy"); > - if (phy_res) { > - imxpriv->phy_base = devm_ioremap(dev, phy_res->start, > - resource_size(phy_res)); > - if (!imxpriv->phy_base) { > - dev_err(dev, "error with ioremap\n"); > - return -ENOMEM; > - } > - } else { > - dev_err(dev, "missing *phy* reg region.\n"); > - return -ENOMEM; > - } > - imxpriv->gpr = > - syscon_regmap_lookup_by_phandle(np, "hsio"); > - if (IS_ERR(imxpriv->gpr)) { > - dev_err(dev, "unable to find gpr registers\n"); > - return PTR_ERR(imxpriv->gpr); > - } > - > - imxpriv->epcs_tx_clk = devm_clk_get(dev, "epcs_tx"); > - if (IS_ERR(imxpriv->epcs_tx_clk)) { > - dev_err(dev, "can't get epcs_tx_clk clock.\n"); > - return PTR_ERR(imxpriv->epcs_tx_clk); > - } > - imxpriv->epcs_rx_clk = devm_clk_get(dev, "epcs_rx"); > - if (IS_ERR(imxpriv->epcs_rx_clk)) { > - dev_err(dev, "can't get epcs_rx_clk clock.\n"); > - return PTR_ERR(imxpriv->epcs_rx_clk); > - } > - imxpriv->phy_pclk0 = devm_clk_get(dev, "phy_pclk0"); > - if (IS_ERR(imxpriv->phy_pclk0)) { > - dev_err(dev, "can't get phy_pclk0 clock.\n"); > - return PTR_ERR(imxpriv->phy_pclk0); > - } > - imxpriv->phy_pclk1 = devm_clk_get(dev, "phy_pclk1"); > - if (IS_ERR(imxpriv->phy_pclk1)) { > - dev_err(dev, "can't get phy_pclk1 clock.\n"); > - return PTR_ERR(imxpriv->phy_pclk1); > - } > - imxpriv->phy_apbclk = devm_clk_get(dev, "phy_apbclk"); > - if (IS_ERR(imxpriv->phy_apbclk)) { > - dev_err(dev, "can't get phy_apbclk clock.\n"); > - return PTR_ERR(imxpriv->phy_apbclk); > - } > - > - /* Fetch GPIO, then enable the external OSC */ > - imxpriv->clkreq_gpiod = devm_gpiod_get_optional(dev, "clkreq", > - GPIOD_OUT_LOW | GPIOD_FLAGS_BIT_NONEXCLUSIVE); > - if (IS_ERR(imxpriv->clkreq_gpiod)) > - return PTR_ERR(imxpriv->clkreq_gpiod); > - if (imxpriv->clkreq_gpiod) > - gpiod_set_consumer_name(imxpriv->clkreq_gpiod, "SATA CLKREQ"); > - > + if (!(dev->bus_dma_limit)) > + dev->bus_dma_limit = DMA_BIT_MASK(32); These two lines look like a unrelated change, should be in a separate commit with a proper commit message. Kind regards, Niklas