public inbox for linux-usb@vger.kernel.org
 help / color / mirror / Atom feed
From: Selvarasu Ganesan <selvarasu.g@samsung.com>
To: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"paulz@synopsys.com" <paulz@synopsys.com>,
	"balbi@ti.com" <balbi@ti.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jh0801.jung@samsung.com" <jh0801.jung@samsung.com>,
	"akash.m5@samsung.com" <akash.m5@samsung.com>,
	"h10.kim@samsung.com" <h10.kim@samsung.com>,
	"alim.akhtar@samsung.com" <alim.akhtar@samsung.com>,
	"thiagu.r@samsung.com" <thiagu.r@samsung.com>,
	"muhammed.ali@samsung.com" <muhammed.ali@samsung.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>,
	Pritam Manohar Sutar <pritam.sutar@samsung.com>
Subject: Re: [PATCH] usb: dwc3: Fix GUID register programming order
Date: Tue, 14 Apr 2026 17:35:16 +0530	[thread overview]
Message-ID: <d2be3f54-5375-4f1b-ab4b-e2ff81c43630@samsung.com> (raw)
In-Reply-To: <20260414010532.sxciijnzak3ldw35@synopsys.com>


On 4/14/2026 6:35 AM, Thinh Nguyen wrote:
> On Fri, Apr 10, 2026, Selvarasu Ganesan wrote:
>> The Linux Version Code is currently written to the GUID register before
>> dwc3_core_soft_reset() is executed. Since the core soft reset clears the
>> GUID register back to its default value, the version information is
>> subsequently lost.
> This is not right. Soft reset should not clear the GUID register.
> Something else must have cleared it. Did you assert Vcc reset (hard
> reset) during phy reset/initialization?
>
> BR,
> Thinh

Hi Thinh,

Thank you for the clarification. Yes, you are correct, this issue is not 
related to a dwc3 core soft reset. Instead, the GUID value reverts to 
its default state when the PHY link_sw_reset completes during PHY init 
sequence.

We are using the Synopsys eUSB PHY, this reset is triggered from our 
downstream driver during the PHY init sequence (invoked through 
|dwc3_core_init|).

Could you please suggest the best way to retrieve the correct linux 
version information from the GUID?
Additionally, would it be feasible to update the GUID register after the 
PHY init sequence (triggered by |dwc3_core_init|) completes?

Thanks, Selva

>
>> Move the GUID register programming to occur after the core soft reset
>> has completed to ensure the value persists.
>>
>> Fixes: fa0ea13e9f1c ("usb: dwc3: core: write LINUX_VERSION_CODE to our GUID register")
>> Cc: stable@vger.kernel.org
>> Reported-by: Pritam Manohar Sutar <pritam.sutar@samsung.com>
>> Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
>> ---
>>   drivers/usb/dwc3/core.c | 12 ++++++------
>>   1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>> index 161a4d58b2cec..0d3c7e7b2262f 100644
>> --- a/drivers/usb/dwc3/core.c
>> +++ b/drivers/usb/dwc3/core.c
>> @@ -1341,12 +1341,6 @@ int dwc3_core_init(struct dwc3 *dwc)
>>   
>>   	hw_mode = DWC3_GHWPARAMS0_MODE(dwc->hwparams.hwparams0);
>>   
>> -	/*
>> -	 * Write Linux Version Code to our GUID register so it's easy to figure
>> -	 * out which kernel version a bug was found.
>> -	 */
>> -	dwc3_writel(dwc, DWC3_GUID, LINUX_VERSION_CODE);
>> -
>>   	ret = dwc3_phy_setup(dwc);
>>   	if (ret)
>>   		return ret;
>> @@ -1378,6 +1372,12 @@ int dwc3_core_init(struct dwc3 *dwc)
>>   	if (ret)
>>   		goto err_exit_phy;
>>   
>> +	/*
>> +	 * Write Linux Version Code to our GUID register so it's easy to figure
>> +	 * out which kernel version a bug was found.
>> +	 */
>> +	dwc3_writel(dwc, DWC3_GUID, LINUX_VERSION_CODE);
>> +
>>   	dwc3_core_setup_global_control(dwc);
>>   	dwc3_core_num_eps(dwc);
>>   
>> -- 
>> 2.34.1

  reply	other threads:[~2026-04-14 12:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20260410070245epcas5p49355581dcb9f629641c9914ce4ce80ec@epcas5p4.samsung.com>
2026-04-10  6:47 ` [PATCH] usb: dwc3: Fix GUID register programming order Selvarasu Ganesan
2026-04-14  1:05   ` Thinh Nguyen
2026-04-14 12:05     ` Selvarasu Ganesan [this message]
2026-04-15  1:46       ` Thinh Nguyen
2026-04-15  6:53         ` Selvarasu Ganesan
2026-04-16 22:24           ` Thinh Nguyen
2026-04-17  6:39             ` Selvarasu Ganesan

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=d2be3f54-5375-4f1b-ab4b-e2ff81c43630@samsung.com \
    --to=selvarasu.g@samsung.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=akash.m5@samsung.com \
    --cc=alim.akhtar@samsung.com \
    --cc=balbi@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=h10.kim@samsung.com \
    --cc=jh0801.jung@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=muhammed.ali@samsung.com \
    --cc=paulz@synopsys.com \
    --cc=pritam.sutar@samsung.com \
    --cc=stable@vger.kernel.org \
    --cc=thiagu.r@samsung.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