From: sshtylyov@mvista.com (Sergei Shtylyov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 9/9] usb: chipidea: udc: configure iso endpoints
Date: Wed, 14 Nov 2012 21:04:29 +0300 [thread overview]
Message-ID: <50A3DD2D.7050500@mvista.com> (raw)
In-Reply-To: <1352909950-32555-10-git-send-email-m.grzeschik@pengutronix.de>
Hello.
On 11/14/2012 07:19 PM, Michael Grzeschik wrote:
> The implementation is derived from the fsl_udc_core code in
> fsl_ep_enable and makes basic iso handling possible.
> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> ---
> drivers/usb/chipidea/udc.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
> diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
> index 2999b0d..0bc4308 100644
> --- a/drivers/usb/chipidea/udc.c
> +++ b/drivers/usb/chipidea/udc.c
> @@ -1058,6 +1058,9 @@ static int ep_enable(struct usb_ep *ep,
> int retval = 0;
> unsigned long flags;
>
> + unsigned short max = 0;
It doesn't look like this initialization is necessary.
> + unsigned char mult = 0;
> +
> if (ep == NULL || desc == NULL)
> return -EINVAL;
>
> @@ -1075,6 +1078,7 @@ static int ep_enable(struct usb_ep *ep,
> mEp->type = usb_endpoint_type(desc);
>
> mEp->ep.maxpacket = usb_endpoint_maxp(desc);
> + max = usb_endpoint_maxp(desc);
>
> dbg_event(_usb_addr(mEp), "ENABLE", 0);
>
> @@ -1082,8 +1086,12 @@ static int ep_enable(struct usb_ep *ep,
>
> if (mEp->type == USB_ENDPOINT_XFER_CONTROL)
> mEp->qh.ptr->cap |= QH_IOS;
> - else if (mEp->type == USB_ENDPOINT_XFER_ISOC)
> - mEp->qh.ptr->cap &= ~QH_MULT;
> + else if (mEp->type == USB_ENDPOINT_XFER_ISOC) {
> + /* Calculate transactions needed for high bandwidth iso */
> + mult = (unsigned char)(1 + ((max >> 11) & 0x03));
> + max = max & 0x7ff; /* bit 0~10 */
max &= 0x7ff;
> + mEp->qh.ptr->cap |= (mult << 30);
Parens not needed.
> + }
> else
> mEp->qh.ptr->cap &= ~QH_ZLT;
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Sergei Shtylyov <sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
To: Michael Grzeschik <m.grzeschik-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
alexander.shishkin-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
mkl-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
fabio.estevam-KZfg59tc24xl57MIdRCFDg@public.gmane.org,
kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: Re: [PATCH 9/9] usb: chipidea: udc: configure iso endpoints
Date: Wed, 14 Nov 2012 21:04:29 +0300 [thread overview]
Message-ID: <50A3DD2D.7050500@mvista.com> (raw)
In-Reply-To: <1352909950-32555-10-git-send-email-m.grzeschik-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Hello.
On 11/14/2012 07:19 PM, Michael Grzeschik wrote:
> The implementation is derived from the fsl_udc_core code in
> fsl_ep_enable and makes basic iso handling possible.
> Signed-off-by: Michael Grzeschik <m.grzeschik-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> Signed-off-by: Marc Kleine-Budde <mkl-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> ---
> drivers/usb/chipidea/udc.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
> diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
> index 2999b0d..0bc4308 100644
> --- a/drivers/usb/chipidea/udc.c
> +++ b/drivers/usb/chipidea/udc.c
> @@ -1058,6 +1058,9 @@ static int ep_enable(struct usb_ep *ep,
> int retval = 0;
> unsigned long flags;
>
> + unsigned short max = 0;
It doesn't look like this initialization is necessary.
> + unsigned char mult = 0;
> +
> if (ep == NULL || desc == NULL)
> return -EINVAL;
>
> @@ -1075,6 +1078,7 @@ static int ep_enable(struct usb_ep *ep,
> mEp->type = usb_endpoint_type(desc);
>
> mEp->ep.maxpacket = usb_endpoint_maxp(desc);
> + max = usb_endpoint_maxp(desc);
>
> dbg_event(_usb_addr(mEp), "ENABLE", 0);
>
> @@ -1082,8 +1086,12 @@ static int ep_enable(struct usb_ep *ep,
>
> if (mEp->type == USB_ENDPOINT_XFER_CONTROL)
> mEp->qh.ptr->cap |= QH_IOS;
> - else if (mEp->type == USB_ENDPOINT_XFER_ISOC)
> - mEp->qh.ptr->cap &= ~QH_MULT;
> + else if (mEp->type == USB_ENDPOINT_XFER_ISOC) {
> + /* Calculate transactions needed for high bandwidth iso */
> + mult = (unsigned char)(1 + ((max >> 11) & 0x03));
> + max = max & 0x7ff; /* bit 0~10 */
max &= 0x7ff;
> + mEp->qh.ptr->cap |= (mult << 30);
Parens not needed.
> + }
> else
> mEp->qh.ptr->cap &= ~QH_ZLT;
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-11-14 18:04 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-14 16:19 [PATCH 0/9] chipidea fixes and features Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-14 16:19 ` [PATCH 1/9] usb: chipidea: pci: mark platformdata as static and __devinitdata Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-16 10:06 ` Alexander Shishkin
2012-11-16 10:06 ` Alexander Shishkin
2012-11-16 10:17 ` Marc Kleine-Budde
2012-11-16 10:17 ` Marc Kleine-Budde
2012-11-16 11:41 ` Alexander Shishkin
2012-11-16 11:41 ` Alexander Shishkin
2012-11-16 12:02 ` Greg KH
2012-11-16 12:02 ` Greg KH
2012-11-14 16:19 ` [PATCH 2/9] usb: chipidea: ci13xxx_imx: add 2nd and 3rd clock to support imx5x and newer Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-26 9:29 ` Peter Chen
2012-11-26 9:29 ` Peter Chen
2012-11-26 10:22 ` Sascha Hauer
2012-11-26 10:22 ` Sascha Hauer
2012-11-27 6:50 ` Peter Chen
2012-11-27 6:50 ` Peter Chen
2012-11-27 7:34 ` Sascha Hauer
2012-11-27 7:34 ` Sascha Hauer
2012-11-14 16:19 ` [PATCH 3/9] usb: chipidea: ci13xxx-imx: create dynamic platformdata Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-16 10:14 ` Alexander Shishkin
2012-11-16 10:14 ` Alexander Shishkin
2012-11-16 10:19 ` Marc Kleine-Budde
2012-11-16 10:19 ` Marc Kleine-Budde
2012-11-16 12:06 ` Alexander Shishkin
2012-11-16 12:06 ` Alexander Shishkin
2012-11-14 16:19 ` [PATCH 4/9] usb: chipidea: ci13xxx-imx: add "dr_mode" property to device tree bindings Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-16 11:53 ` Alexander Shishkin
2012-11-16 11:53 ` Alexander Shishkin
2012-11-16 11:55 ` Marc Kleine-Budde
2012-11-16 11:55 ` Marc Kleine-Budde
2012-11-26 9:46 ` Peter Chen
2012-11-26 9:46 ` Peter Chen
2012-11-29 12:54 ` Alexander Shishkin
2012-11-29 12:54 ` Alexander Shishkin
2012-11-14 16:19 ` [PATCH 5/9] usb: add phy connection by phy-mode Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-16 9:25 ` Alexander Shishkin
2012-11-16 9:25 ` Alexander Shishkin
2012-11-16 11:28 ` Felipe Balbi
2012-11-16 11:28 ` Felipe Balbi
2012-11-16 11:31 ` Felipe Balbi
2012-11-16 11:31 ` Felipe Balbi
2012-11-16 11:44 ` Marc Kleine-Budde
2012-11-16 11:44 ` Marc Kleine-Budde
2012-11-16 13:41 ` Felipe Balbi
2012-11-16 13:41 ` Felipe Balbi
2012-11-16 14:32 ` Marc Kleine-Budde
2012-11-16 14:32 ` Marc Kleine-Budde
2012-11-26 9:56 ` Peter Chen
2012-11-26 9:56 ` Peter Chen
2012-11-14 16:19 ` [PATCH 6/9] usb: chipidea: add PTW and PTS handling Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-16 12:18 ` Alexander Shishkin
2012-11-16 12:18 ` Alexander Shishkin
2012-11-16 12:45 ` Alexander Shishkin
2012-11-16 12:45 ` Alexander Shishkin
2012-11-16 13:16 ` Michael Grzeschik
2012-11-16 13:16 ` Michael Grzeschik
2012-11-16 13:34 ` Alexander Shishkin
2012-11-16 13:34 ` Alexander Shishkin
2012-11-16 13:57 ` Michael Grzeschik
2012-11-16 13:57 ` Michael Grzeschik
2012-11-16 14:06 ` Alexander Shishkin
2012-11-16 14:06 ` Alexander Shishkin
2012-11-16 14:46 ` Matthieu CASTET
2012-11-16 14:46 ` Matthieu CASTET
2012-11-16 15:39 ` Alexander Shishkin
2012-11-16 15:39 ` Alexander Shishkin
2012-11-21 15:57 ` Michael Grzeschik
2012-11-21 15:57 ` Michael Grzeschik
2012-11-21 16:06 ` Matthieu CASTET
2012-11-21 16:06 ` Matthieu CASTET
2012-11-27 1:12 ` Peter Chen
2012-11-27 1:12 ` Peter Chen
2012-11-27 9:54 ` Michael Grzeschik
2012-11-27 9:54 ` Michael Grzeschik
2012-11-28 1:26 ` Peter Chen
2012-11-28 1:26 ` Peter Chen
2012-11-14 16:19 ` [PATCH 7/9] usb: chipidea: udc: add force-full-speed option Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-16 12:51 ` Alexander Shishkin
2012-11-16 12:51 ` Alexander Shishkin
2012-11-16 14:53 ` Matthieu CASTET
2012-11-16 14:53 ` Matthieu CASTET
2012-11-14 16:19 ` [PATCH 8/9] usb: chipidea: udc: remove unlocked ep_queue which can lead to an race Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-16 12:55 ` Alexander Shishkin
2012-11-16 12:55 ` Alexander Shishkin
2012-11-14 16:19 ` [PATCH 9/9] usb: chipidea: udc: configure iso endpoints Michael Grzeschik
2012-11-14 16:19 ` Michael Grzeschik
2012-11-14 18:04 ` Sergei Shtylyov [this message]
2012-11-14 18:04 ` Sergei Shtylyov
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=50A3DD2D.7050500@mvista.com \
--to=sshtylyov@mvista.com \
--cc=linux-arm-kernel@lists.infradead.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.