From: Chris Ruehl <chris.ruehl@gtsys.com.hk>
To: Peter Chen <Peter.Chen@freescale.com>
Cc: "alexander.shishkin@linux.intel.com"
<alexander.shishkin@linux.intel.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/3 v3] usb: chipidea: Fix Internal error: : 808 [#1] ARM related to STS flag
Date: Mon, 02 Dec 2013 13:17:47 +0800 [thread overview]
Message-ID: <529C17FB.3040500@gtsys.com.hk> (raw)
In-Reply-To: <F281D0F91ED19E4D8E63A7504E8A64980413D5A8@039-SN2MPN1-021.039d.mgd.msft.net>
On Monday, December 02, 2013 01:10 PM, Peter Chen wrote:
>
>>
>> If you have a look into the function hw_write() you will see that there
>> is no
>> effect if hw_write(...,sts) is called with sts=0/1, because the mask will
>> cut
>> off all bits beside BIT(29).
>
> Yes, it is my careless. I thought sts is PORTCS_STS.
>
>> I used BIT(29) rather then PORTCS_STS to make it more clear what going on.
>
> It is not a good coding style, you do need use MACRO to instead of raw number directly.
>
>> A write to PORTCS will always be "0" for the STS Register no matter if
>> sts is 1
>> or 0 within Patch v2. Patch v3 will take care of the registers bit
>> position and
>> set 1 or 0 to PORTCS_STS.
>>
>
> My suggestion like below:
>
> if (ci->hw_bank.lpm) {
> hw_write(ci, OP_DEVLC, DEVLC_PTS(7) | DEVLC_PTW, lpm);
> - hw_write(ci, OP_DEVLC, DEVLC_STS, sts);
> + if (sts)
> + hw_write(ci, OP_DEVLC, DEVLC_STS, DEVLC_STS);
> } else {
> hw_write(ci, OP_PORTSC, PORTSC_PTS(7) | PORTSC_PTW, portsc);
> - hw_write(ci, OP_PORTSC, PORTSC_STS, sts);
> + if (sts)
> + hw_write(ci, OP_PORTSC, PORTSC_STS, PORTSC_STS);
> }
>
>
> I think we just need to fix the original bug, and do not add any new fixes
> since we don't know which one is correct for every platform. My proposal is
> just set PORTSC_STS (DEVLC_STS is lpm) if it is serial PHY. For any other PHYS, just keep
> the reset value.
>
> Peter
>
>> I used the imx27 reference manual Capital 30.8.1.5.12 PORTSCx.
>>
I can follow your arguments, ACK.
I prepare a patch set with this solution if not other people have better
ideas.
Chris
next prev parent reply other threads:[~2013-12-02 5:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-30 3:51 [PATCH 2/3 v3] usb: chipidea: Fix Internal error: : 808 [#1] ARM related to STS flag Chris Ruehl
2013-11-30 10:20 ` Peter Chen
2013-12-02 1:49 ` Chris Ruehl
2013-12-02 5:10 ` Peter Chen
2013-12-02 5:17 ` Chris Ruehl [this message]
2013-11-30 17:28 ` Sergei Shtylyov
2013-12-02 1:57 ` Chris Ruehl
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=529C17FB.3040500@gtsys.com.hk \
--to=chris.ruehl@gtsys.com.hk \
--cc=Peter.Chen@freescale.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.