From: Larisa Ileana Grigore <larisa.grigore@oss.nxp.com>
To: Frank Li <Frank.li@oss.nxp.com>
Cc: NXP S32 Linux Team <s32@nxp.com>,
Alim Akhtar <alim.akhtar@samsung.com>,
Avri Altman <avri.altman@sandisk.com>,
Bart Van Assche <bvanassche@acm.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Frank Li <Frank.Li@nxp.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
"Martin K . Petersen" <martin.petersen@oracle.com>,
Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>,
Ajay Neeli <ajay.neeli@amd.com>,
Manivannan Sadhasivam <mani@kernel.org>,
Pedro Sousa <pedrom.sousa@synopsys.com>,
clizzi@redhat.com, aruizrui@redhat.com, eballetb@redhat.com,
echanude@redhat.com, linux-scsi@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH 01/10] ufs: unipro: Move Tx/Rx FSM state definitions to unipro.h
Date: Thu, 27 Aug 2026 16:59:35 +0300 [thread overview]
Message-ID: <d52642ef-40b3-4c13-8335-aa6e74739f50@oss.nxp.com> (raw)
In-Reply-To: <ao8AtFsYdr26rHVc@SMW015318>
On 8/26/2026 6:05 PM, Frank Li wrote:
> On Wed, Aug 26, 2026 at 03:40:39PM +0200, Larisa Grigore wrote:
>> [You don't often get email from larisa.grigore@oss.nxp.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>>
>> Move the Tx/Rx FSM state definitions from ufshcd-dwc.h to
>> include/ufs/unipro.h.
>>
>> These state values are UniPro/M-PHY related and are not specific to
>> the DesignWare UFS host controller implementation, so unipro.h is a
>> more appropriate location for sharing them.
>>
>> As part of this move, drop the driver-private TX_FSM_HIBERN8 define in
>> ufs-hisi and ufs-qcom and repoint their Hibern8 checks at the shared
>> TX_STATE_HIBERN8 enum constant. This is a no-op change: TX_FSM_HIBERN8
>> was 0x1 and TX_STATE_HIBERN8 is 1, so the compared values are identical.
>>
>> This also prepares for using these definitions in a subsequent commit.
>>
>> Signed-off-by: Larisa Grigore <larisa.grigore@oss.nxp.com>
>> ---
> ...
>> -enum rx_fsm_state {
>> - RX_STATE_DISABLED = 0,
>> - RX_STATE_HIBERN8 = 1,
>> - RX_STATE_SLEEP = 2,
>> - RX_STATE_STALL = 3,
>> - RX_STATE_LSBURST = 4,
>> - RX_STATE_HSBURST = 5,
>> -};
>> -
>> -enum tx_fsm_state {
>> - TX_STATE_DISABLED = 0,
>> - TX_STATE_HIBERN8 = 1,
>> - TX_STATE_SLEEP = 2,
>> - TX_STATE_STALL = 3,
>> - TX_STATE_LSBURST = 4,
>> - TX_STATE_HSBURST = 5,
>> -};
>> -
>> struct ufshcd_dme_attr_val {
>> u32 attr_sel;
>> u32 mib_val;
>> diff --git a/include/ufs/unipro.h b/include/ufs/unipro.h
>> index 9c168703b104..bf063edc284d 100644
>> --- a/include/ufs/unipro.h
>> +++ b/include/ufs/unipro.h
>> @@ -466,4 +466,23 @@ enum {
>> CPORT_CONNECTED,
>> };
>>
>> +/* Tx/Rx FSM state */
>> +enum ufs_rx_fsm_state {
>> + RX_STATE_DISABLED = 0,
>> + RX_STATE_HIBERN8 = 1,
>> + RX_STATE_SLEEP = 2,
>> + RX_STATE_STALL = 3,
>> + RX_STATE_LSBURST = 4,
>> + RX_STATE_HSBURST = 5,
>> +};
>> +
>> +enum ufs_tx_fsm_state {
>> + TX_STATE_DISABLED = 0,
>> + TX_STATE_HIBERN8 = 1,
>> + TX_STATE_SLEEP = 2,
>> + TX_STATE_STALL = 3,
>> + TX_STATE_LSBURST = 4,
>> + TX_STATE_HSBURST = 5,
>> +};
>
> Suppose ref RX(TX)_FSM_State in mipi m-phy speci v6.0, table 50 M-RX status
> attributes. you add ref to mipi M-phy to let reader know it is really
> defined by spec, not dwc implementation.
>
> Both value are the same, why need define two copy.
>
> Frank
Hi Frank,
Thank you for taking the time to review this patch series and for the
feedback!
The reason the two enums currently look duplicated is that they
represent the encodings of two distinct MIPI M-PHY attributes,
RX_FSM_STATE and TX_FSM_STATE. The specification defines identical state
encodings for both RX and TX FSMs, which is why the values are the same.
My intention was to preserve the original approach and minimize the
scope of the changes in this patch. Since the existing code already
treats the RX and TX FSM states separately, I kept that structure when
moving the definitions to the common header.
I will clarify in the commit message that these encodings come from the
MIPI M-PHY specification and are not DesignWare-specific.
Regarding the separate enums, I can consolidate them into a single FSM
state enum if you think that would be a better representation, given
that the state encodings are identical.
Thanks,
Larisa
>> +
>> #endif /* _UNIPRO_H_ */
>> --
>> 2.43.0
>>
>>
next prev parent reply other threads:[~2026-08-27 13:59 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-26 13:40 [PATCH 00/10] Add S32N79RDB UFS support Larisa Grigore
2026-08-26 13:40 ` [PATCH 01/10] ufs: unipro: Move Tx/Rx FSM state definitions to unipro.h Larisa Grigore
2026-08-26 15:05 ` Frank Li
2026-08-27 13:59 ` Larisa Ileana Grigore [this message]
2026-08-26 13:40 ` [PATCH 02/10] ufs: unipro: Add TX/RX FSM state attributes Larisa Grigore
2026-08-26 15:09 ` Frank Li
2026-08-26 13:40 ` [PATCH 03/10] ufs: host: Add common Hibern8 TX FSM polling helper Larisa Grigore
2026-08-26 15:17 ` Frank Li
2026-08-26 15:33 ` Bart Van Assche
2026-08-27 14:03 ` Larisa Ileana Grigore
2026-08-27 9:14 ` Bough Chen
2026-08-27 14:10 ` Larisa Ileana Grigore
2026-08-27 15:00 ` Stanley Jhu
2026-08-26 13:40 ` [PATCH 04/10] scsi: ufs: Move Versal2 M-PHY CREG access helpers into ufshcd-dwc Larisa Grigore
2026-08-26 15:20 ` Frank Li
2026-08-27 14:11 ` Larisa Ileana Grigore
2026-08-26 15:36 ` Bart Van Assche
2026-08-27 14:13 ` Larisa Ileana Grigore
2026-08-27 10:47 ` Bough Chen
2026-08-26 13:40 ` [PATCH 05/10] scsi: ufs: dwc: Export common clock divider and link status helpers Larisa Grigore
2026-08-26 15:22 ` Frank Li
2026-08-26 13:40 ` [PATCH 06/10] dt-bindings: ufs: Add compatibles for S32N79 Host Controller platform driver Larisa Grigore
2026-08-26 14:35 ` Frank Li
2026-08-26 15:57 ` Conor Dooley
2026-08-27 14:37 ` Larisa Ileana Grigore
2026-08-27 14:36 ` Larisa Ileana Grigore
2026-08-27 14:45 ` Frank Li
2026-08-27 15:09 ` Larisa Ileana Grigore
2026-08-26 13:40 ` [PATCH 07/10] scsi: ufs: Add NXP S32N79 UFS host controller driver Larisa Grigore
2026-08-26 14:01 ` sashiko-bot
2026-08-26 15:49 ` Frank Li
2026-08-27 14:44 ` Larisa Ileana Grigore
2026-08-26 13:40 ` [PATCH 08/10] arm64: dts: freescale: s32n79: Add UFS host controller Larisa Grigore
2026-08-26 13:40 ` [PATCH 09/10] arm64: dts: freescale: s32n79-rdb: Enable UFS Larisa Grigore
2026-08-26 13:40 ` [PATCH 10/10] MAINTAINERS: Add NXP S32N7 UFS host controller entry Larisa Grigore
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=d52642ef-40b3-4c13-8335-aa6e74739f50@oss.nxp.com \
--to=larisa.grigore@oss.nxp.com \
--cc=Frank.Li@nxp.com \
--cc=Frank.li@oss.nxp.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=ajay.neeli@amd.com \
--cc=alim.akhtar@samsung.com \
--cc=aruizrui@redhat.com \
--cc=avri.altman@sandisk.com \
--cc=bvanassche@acm.org \
--cc=clizzi@redhat.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=eballetb@redhat.com \
--cc=echanude@redhat.com \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mani@kernel.org \
--cc=martin.petersen@oracle.com \
--cc=pedrom.sousa@synopsys.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=s32@nxp.com \
--cc=sai.krishna.potthuri@amd.com \
/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