devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Felipe Balbi <balbi@kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>, Ferry Toth <fntoth@gmail.com>
Subject: Re: [PATCH v1 0/3] usb: dwc3: Avoid using reserved EPs
Date: Mon, 20 Jan 2025 17:02:37 +0200	[thread overview]
Message-ID: <Z45lja5InqAXs3CQ@smile.fi.intel.com> (raw)
In-Reply-To: <Z4pdZZhR6m1LB3yk@smile.fi.intel.com>

On Fri, Jan 17, 2025 at 03:38:46PM +0200, Andy Shevchenko wrote:
> On Thu, Jan 16, 2025 at 11:18:45PM +0000, Thinh Nguyen wrote:
> > On Thu, Jan 16, 2025, Andy Shevchenko wrote:
> > > On some platforms (Intel-based and AFAIK ARM-based) the EPs in the gadget
> > > (USB Device Controller mode) may be reserved for some special means, such as
> > > tracing. This series extends DT schema and driver to avoid using those.
> > > Without this the USB gadget mode won't work properly (those devices that
> > > "luckily" allocated the reserved EPs).
> > > 
> > > Ferry already tested the privately sent PoC of this, but I ask him again to
> > > re-test this version which is slightly different.

...

> > I'm not entirely clear on the reason for this change yet.
> > 
> > How would this even work without dwc3 managing these endpoints (all the
> > init/teardown/fifo allocation/start/stop flow).
> 
> You perhaps know much better how it can be done, I have access to a limited
> documentation and in practice if those endpoints are not skipped any gadget
> that allocates them simply won't work, and IIRC the entire USB transfers are
> stuck.
> 
> > Can you provide more info on this hardware?
> 
> I am afraid I can't provide more, sorry. I can look for some specifics,
> but I'm not that guy who know anything about in-SoC tracing.

So, here is what I found:

---8<---

However the endpoints allocated for STM and EXI debug traffic cannot be re-allocated
if being used because the sideband flow control signals are hard wired to certain
endpoints:
• 1 High BW Bulk IN (IN#1) (RTIT)
• 1 1KB BW Bulk IN (IN#8) + 1 1KB BW Bulk OUT (Run Control) (OUT#8)

In device mode, since RTIT (EP#1) and EXI/RunControl (EP#8) uses External Buffer
Control (EBC) mode, these endpoints are to be mapped to EBC mode (to be done by
EXI target driver). Additionally TRB for RTIT and EXI are maintained in STM (System
Trace Module) unit and the EXI target driver will as well configure the TRB location for
EP #1 IN and EP#8 (IN and OUT). Since STM/PTI and EXI hardware blocks manage
these endpoints and interface to OTG3 controller through EBC interface, there is no
need to enable any events (such as XferComplete etc) for these end points.

Does it help you to understand the required quirk better?

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-01-20 15:02 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-16 15:40 [PATCH v1 0/3] usb: dwc3: Avoid using reserved EPs Andy Shevchenko
2025-01-16 15:40 ` [PATCH v1 1/3] dt-bindings: usb: dwc3: Add a property to reserve endpoints Andy Shevchenko
2025-01-23 22:09   ` Rob Herring
2025-01-24 14:55     ` Andy Shevchenko
2025-01-16 15:40 ` [PATCH v1 2/3] usb: dwc3: gadget: Add support for snps,reserved-endpoints property Andy Shevchenko
2025-01-16 23:35   ` Thinh Nguyen
2025-01-17 13:32     ` Andy Shevchenko
2025-01-22  1:44       ` Thinh Nguyen
2025-01-22 17:12         ` Andy Shevchenko
2025-01-28  2:39           ` Thinh Nguyen
2025-01-28 16:55             ` Andy Shevchenko
2025-01-30  1:48               ` Thinh Nguyen
2025-01-16 15:40 ` [PATCH v1 3/3] usb: dwc3: gadget: Skip endpoints ep[18]{in,out} on Intel Merrifield Andy Shevchenko
2025-01-16 23:39   ` Thinh Nguyen
2025-01-17 13:33     ` Andy Shevchenko
2025-01-21 23:46       ` Thinh Nguyen
2025-01-21 23:51         ` Thinh Nguyen
2025-01-22 16:24           ` Andy Shevchenko
2025-01-22 16:23         ` Andy Shevchenko
2025-01-28  2:21           ` Thinh Nguyen
2025-01-28 16:50             ` Andy Shevchenko
2025-01-30  1:44               ` Thinh Nguyen
2025-01-16 23:18 ` [PATCH v1 0/3] usb: dwc3: Avoid using reserved EPs Thinh Nguyen
2025-01-17 13:38   ` Andy Shevchenko
2025-01-20 15:02     ` Andy Shevchenko [this message]
2025-01-21 23:43       ` Thinh Nguyen
2025-01-22 16:27         ` Andy Shevchenko
2025-01-28  2:25           ` Thinh Nguyen
2025-01-28 16:57             ` Andy Shevchenko
2025-01-17 22:00 ` Ferry Toth

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=Z45lja5InqAXs3CQ@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=balbi@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fntoth@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=robh@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;
as well as URLs for NNTP newsgroup(s).