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 2/3] usb: dwc3: gadget: Add support for snps,reserved-endpoints property
Date: Wed, 22 Jan 2025 19:12:05 +0200	[thread overview]
Message-ID: <Z5Em5bvAwu8QgRo8@smile.fi.intel.com> (raw)
In-Reply-To: <20250122014347.fc3ntfkl7cismjxd@synopsys.com>

On Wed, Jan 22, 2025 at 01:44:02AM +0000, Thinh Nguyen wrote:
> On Fri, Jan 17, 2025, Andy Shevchenko wrote:
> > On Thu, Jan 16, 2025 at 11:35:19PM +0000, Thinh Nguyen wrote:
> > > On Thu, Jan 16, 2025, Andy Shevchenko wrote:

...

> > > >  	for (epnum = 0; epnum < total; epnum++) {
> > > > -		int			ret;
> > > > +		for (num = 0; num < count; num++) {
> > > > +			if (epnum == eps[num])
> > > > +				break;
> > > > +		}
> > > > +		if (num < count)
> > > > +			continue;
> > > 
> > > You can probably rewrite this logic better.
> > 
> > Any suggestions?
> > 
> > Thanks for the review!
> 
> From the first look, is the list sorted? If so, you don't need another
> for-loop.

Even if it's sorted it's not 1:1 mapped by indices. I do not understand how we
can avoid the second loop. The only possibility is indeed to sort the list and
sparse it in accordance to the endpoint numbers, but if we are going this way,
it's much easier to switch to bitmap and the respective bitops.

> Also, we loop over the number of endpoints throughout the driver, but
> you only skip it here during init. Please double check for invalid
> accessing of endpoints in other places.
> 
> Perhaps set the dwc->eps[reserved_ep] to ERR_PTR(-EINVAL) or something
> when you parse the reserved endpoints so you can skip them in your loop.

Note, this is only for UDC, in USB host these are okay to be used.
Does your suggestion imply that?

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-01-22 17:12 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 [this message]
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
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=Z5Em5bvAwu8QgRo8@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).