All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Chen <peter.chen@kernel.org>
To: Michael Grzeschik <m.grzeschik@pengutronix.de>
Cc: linux-usb@vger.kernel.org, gregkh@linuxfoundation.org,
	kernel@pengutronix.de
Subject: Re: [PATCH] usb: chipidea: udc: implement get_frame
Date: Mon, 20 Jun 2022 21:51:36 +0800	[thread overview]
Message-ID: <20220620135136.GA1227419@Peter> (raw)
In-Reply-To: <20220616194459.2981519-1-m.grzeschik@pengutronix.de>

On 22-06-16 21:44:59, Michael Grzeschik wrote:
> The chipidea udc core is capable of reading the current frame index from
> hardware. This patch adds the get_frame callback to the driver.
> 
> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>

Acked-by: Peter Chen <peter.chen@kernel.org>

Peter
> ---
>  drivers/usb/chipidea/ci.h   |  1 +
>  drivers/usb/chipidea/core.c |  2 ++
>  drivers/usb/chipidea/udc.c  | 14 ++++++++++++++
>  3 files changed, 17 insertions(+)
> 
> diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h
> index 99440baa6458ab..a4a3be04991099 100644
> --- a/drivers/usb/chipidea/ci.h
> +++ b/drivers/usb/chipidea/ci.h
> @@ -49,6 +49,7 @@ enum ci_hw_regs {
>  	OP_USBCMD,
>  	OP_USBSTS,
>  	OP_USBINTR,
> +	OP_FRINDEX,
>  	OP_DEVICEADDR,
>  	OP_ENDPTLISTADDR,
>  	OP_TTCTRL,
> diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
> index 5359b2a2e4d243..6330fa9117926a 100644
> --- a/drivers/usb/chipidea/core.c
> +++ b/drivers/usb/chipidea/core.c
> @@ -53,6 +53,7 @@ static const u8 ci_regs_nolpm[] = {
>  	[OP_USBCMD]		= 0x00U,
>  	[OP_USBSTS]		= 0x04U,
>  	[OP_USBINTR]		= 0x08U,
> +	[OP_FRINDEX]		= 0x0CU,
>  	[OP_DEVICEADDR]		= 0x14U,
>  	[OP_ENDPTLISTADDR]	= 0x18U,
>  	[OP_TTCTRL]		= 0x1CU,
> @@ -78,6 +79,7 @@ static const u8 ci_regs_lpm[] = {
>  	[OP_USBCMD]		= 0x00U,
>  	[OP_USBSTS]		= 0x04U,
>  	[OP_USBINTR]		= 0x08U,
> +	[OP_FRINDEX]		= 0x0CU,
>  	[OP_DEVICEADDR]		= 0x14U,
>  	[OP_ENDPTLISTADDR]	= 0x18U,
>  	[OP_TTCTRL]		= 0x1CU,
> diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
> index 15d211a8b3ac54..054e5077b39834 100644
> --- a/drivers/usb/chipidea/udc.c
> +++ b/drivers/usb/chipidea/udc.c
> @@ -1651,6 +1651,19 @@ static const struct usb_ep_ops usb_ep_ops = {
>  /******************************************************************************
>   * GADGET block
>   *****************************************************************************/
> +
> +static int ci_udc_get_frame(struct usb_gadget *_gadget)
> +{
> +	struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
> +	unsigned long flags;
> +	int ret;
> +
> +	spin_lock_irqsave(&ci->lock, flags);
> +	ret = hw_read(ci, OP_FRINDEX, 0x3fff);
> +	spin_unlock_irqrestore(&ci->lock, flags);
> +	return ret >> 3;
> +}
> +
>  /*
>   * ci_hdrc_gadget_connect: caller makes sure gadget driver is binded
>   */
> @@ -1807,6 +1820,7 @@ static struct usb_ep *ci_udc_match_ep(struct usb_gadget *gadget,
>   * Check  "usb_gadget.h" for details
>   */
>  static const struct usb_gadget_ops usb_gadget_ops = {
> +	.get_frame	= ci_udc_get_frame,
>  	.vbus_session	= ci_udc_vbus_session,
>  	.wakeup		= ci_udc_wakeup,
>  	.set_selfpowered	= ci_udc_selfpowered,
> -- 
> 2.30.2
> 

-- 

Thanks,
Peter Chen


      reply	other threads:[~2022-06-20 14:37 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-16 19:44 [PATCH] usb: chipidea: udc: implement get_frame Michael Grzeschik
2022-06-20 13:51 ` Peter Chen [this message]

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=20220620135136.GA1227419@Peter \
    --to=peter.chen@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel@pengutronix.de \
    --cc=linux-usb@vger.kernel.org \
    --cc=m.grzeschik@pengutronix.de \
    /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.