From: Damien Le Moal <dlemoal@kernel.org>
To: Richard Zhu <hongxing.zhu@nxp.com>,
tj@kernel.org, cassel@kernel.org, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org,
s.hauer@pengutronix.de, festevam@gmail.com
Cc: linux-ide@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 v1 3/4] ata: ahci_imx: Enlarge RX water mark for i.MX8QM SATA
Date: Thu, 11 Jul 2024 19:08:08 +0900 [thread overview]
Message-ID: <52cefeb5-49c4-4446-813f-df9c1b99ca55@kernel.org> (raw)
In-Reply-To: <1720685518-20190-4-git-send-email-hongxing.zhu@nxp.com>
On 7/11/24 17:11, Richard Zhu wrote:
> The RXWM(RxWaterMark) sets the minimum number of free location within
> the RX FIFO before the watermark is exceeded which in turn will cause
> the Transport Layer to instruct the Link Layer to transmit HOLDS to
> the transmitting end.
>
> Based on the default RXWM vaulue 0x20, RX FIFO overflow might be
> observed on i.MX8QM MEK board, when some Gen3 SATA disks are used.
>
> The FIFO overflow will result in CRC error, internal error and protocol
> error, then the SATA link is not stable anymore.
>
> To fix this issue, enlarge RX water mark setting from 0x20 to 0x29.
2 remarks:
1) this seems to be a bug/problem fix, so this likely needs a backport to stable
(Cc: stable tag) and a Fixes tag.
2) What are these magic values 0x20 and 0x29 ? Where are they defined (SoC
specs) ? Can you define the new value using a macro with a self-descriptive name ?
>
> Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
> ---
> drivers/ata/ahci_imx.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/ata/ahci_imx.c b/drivers/ata/ahci_imx.c
> index 0e9fddd02ee5f..9147cd14f587e 100644
> --- a/drivers/ata/ahci_imx.c
> +++ b/drivers/ata/ahci_imx.c
> @@ -45,6 +45,10 @@ enum {
> /* Clock Reset Register */
> IMX_CLOCK_RESET = 0x7f3f,
> IMX_CLOCK_RESET_RESET = 1 << 0,
> + /* IMX8QM SATA specific control registers */
> + IMX8QM_SATA_AHCI_VEND_PTC = 0xc8,
> + IMX8QM_SATA_AHCI_VEND_PTC_RXWM_MASK = 0x7f,
> + IMX8QM_SATA_AHCI_VEND_PTC_RXWM = 0x29,
> };
>
> enum ahci_imx_type {
> @@ -466,6 +470,12 @@ static int imx8_sata_enable(struct ahci_host_priv *hpriv)
> phy_power_off(imxpriv->cali_phy0);
> phy_exit(imxpriv->cali_phy0);
>
> + /* RxWaterMark setting */
> + val = readl(hpriv->mmio + IMX8QM_SATA_AHCI_VEND_PTC);
> + val &= ~IMX8QM_SATA_AHCI_VEND_PTC_RXWM_MASK;
> + val |= IMX8QM_SATA_AHCI_VEND_PTC_RXWM;
> + writel(val, hpriv->mmio + IMX8QM_SATA_AHCI_VEND_PTC);
> +
> return 0;
>
> err_sata_phy_power_on:
--
Damien Le Moal
Western Digital Research
next prev parent reply other threads:[~2024-07-11 10:08 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-11 8:11 [PATCH v1 0/4] Refine i.MX8QM SATA based on generic PHY callbacks Richard Zhu
2024-07-11 8:11 ` [PATCH v1 1/4] dt-bindings: ata: Add i.MX8QM AHCI compatible string Richard Zhu
2024-07-11 22:26 ` Rob Herring (Arm)
2024-07-11 8:11 ` [PATCH v1 2/4] ata: ahci_imx: Clean up code by using i.MX8Q HSIO PHY driver Richard Zhu
2024-07-11 10:22 ` Damien Le Moal
2024-07-11 10:24 ` Damien Le Moal
2024-07-11 8:11 ` [PATCH v1 3/4] ata: ahci_imx: Enlarge RX water mark for i.MX8QM SATA Richard Zhu
2024-07-11 10:08 ` Damien Le Moal [this message]
2024-07-12 3:22 ` Hongxing Zhu
2024-07-11 8:11 ` [PATCH v1 4/4] ata: ahci_imx: Correct the email address Richard Zhu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52cefeb5-49c4-4446-813f-df9c1b99ca55@kernel.org \
--to=dlemoal@kernel.org \
--cc=cassel@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=hongxing.zhu@nxp.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox