linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michal Nazarewicz <mina86@mina86.com>
To: Baolin Wang <baolin.wang@linaro.org>, balbi@kernel.org
Cc: gregkh@linuxfoundation.org, eu@felipetonello.com,
	r.baldyga@samsung.com, dan.carpenter@oracle.com,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	broonie@kernel.org, baolin.wang@linaro.org
Subject: Re: [PATCH v2] usb: gadget: f_midi: Add checking if it need align buffer's size to an ep's maxpacketsize
Date: Mon, 11 Jul 2016 13:38:40 +0200	[thread overview]
Message-ID: <xa1t7fcswgjj.fsf@mina86.com> (raw)
In-Reply-To: <2615165a391e3a7c2a75b094c39331bbce5ce850.1468205347.git.baolin.wang@linaro.org>

On Mon, Jul 11 2016, Baolin Wang wrote:
> Some gadget device (such as dwc3 gadget) requires quirk_ep_out_aligned_size
> attribute, which means it need to align the request buffer's size to an ep's
> maxpacketsize.
>
> Thus we add usb_ep_align_maybe() function to check if it is need to align
> the request buffer's size to an ep's maxpacketsize.
>
> Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
> Acked-by: Michal Nazarewicz <mina86@mina86.com>
> ---
> Changelog since v1:
>  - Remove the in_ep modification.
>  - Remove max_t() function.
>
>  drivers/usb/gadget/function/f_midi.c |   12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
> index 58fc199..59f6278 100644
> --- a/drivers/usb/gadget/function/f_midi.c
> +++ b/drivers/usb/gadget/function/f_midi.c
> @@ -359,10 +359,14 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>  
>  	/* allocate a bunch of read buffers and queue them all at once. */
>  	for (i = 0; i < midi->qlen && err == 0; i++) {
> -		struct usb_request *req =
> -			midi_alloc_ep_req(midi->out_ep,
> -				max_t(unsigned, midi->buflen,
> -					bulk_out_desc.wMaxPacketSize));
> +		struct usb_request *req;
> +		unsigned length;
> +
> +		length = midi->buflen < bulk_out_desc.wMaxPacketSize
> +			? bulk_out_desc.wMaxPacketSize
> +			: usb_ep_align_maybe(midi->gadget, midi->out_ep,
> +					     midi->buflen);

As pointed out by Felipe, the packet does not need to be wMaxPacketSize
so this can simply be:

> +		length = usb_ep_align_maybe(midi->gadget, midi->out_ep,
> +					    midi->buflen);

> +		req = midi_alloc_ep_req(midi->out_ep, length);
>  		if (req == NULL)
>  			return -ENOMEM;
>  
> -- 
> 1.7.9.5
>

-- 
Best regards
ミハウ “𝓶𝓲𝓷𝓪86” ナザレヴイツ
«If at first you don’t succeed, give up skydiving»

  reply	other threads:[~2016-07-11 11:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-11  2:54 [PATCH v2] usb: gadget: f_midi: Add checking if it need align buffer's size to an ep's maxpacketsize Baolin Wang
2016-07-11 11:38 ` Michal Nazarewicz [this message]
2016-07-12  5:14   ` Baolin Wang

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=xa1t7fcswgjj.fsf@mina86.com \
    --to=mina86@mina86.com \
    --cc=balbi@kernel.org \
    --cc=baolin.wang@linaro.org \
    --cc=broonie@kernel.org \
    --cc=dan.carpenter@oracle.com \
    --cc=eu@felipetonello.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=r.baldyga@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;
as well as URLs for NNTP newsgroup(s).