All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alan Stern <stern@rowland.harvard.edu>
To: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ikjoon Jang <ikjn@chromium.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Eddie Hung <eddie.hung@mediatek.com>
Subject: Re: [PATCH 16/17] usb: common: add function to get interval expressed in us unit
Date: Fri, 5 Mar 2021 10:33:12 -0500	[thread overview]
Message-ID: <20210305153312.GA38200@rowland.harvard.edu> (raw)
In-Reply-To: <1614934975-15188-16-git-send-email-chunfeng.yun@mediatek.com>

On Fri, Mar 05, 2021 at 05:02:54PM +0800, Chunfeng Yun wrote:
> Add a new function to convert bInterval into the time expressed
> in 1us unit.
> 
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---

> --- a/drivers/usb/common/common.c
> +++ b/drivers/usb/common/common.c
> @@ -165,6 +165,39 @@ enum usb_dr_mode usb_get_dr_mode(struct device *dev)
>  }
>  EXPORT_SYMBOL_GPL(usb_get_dr_mode);
>  
> +unsigned int usb_decode_interval(const struct usb_endpoint_descriptor *epd,
> +				 enum usb_device_speed speed)
> +{
> +	unsigned int interval = 0;
> +
> +	switch (usb_endpoint_type(epd)) {
> +	case USB_ENDPOINT_XFER_CONTROL:
> +		/* uframes per NAK */
> +		if (speed == USB_SPEED_HIGH)
> +			interval = epd->bInterval;
> +		break;
> +	case USB_ENDPOINT_XFER_ISOC:
> +		interval = 1 << (epd->bInterval - 1);
> +		break;
> +	case USB_ENDPOINT_XFER_BULK:
> +		/* uframes per NAK */
> +		if (speed == USB_SPEED_HIGH && usb_endpoint_dir_out(epd))
> +			interval = epd->bInterval;
> +		break;
> +	case USB_ENDPOINT_XFER_INT:
> +		if (speed >= USB_SPEED_HIGH)
> +			interval = 1 << (epd->bInterval - 1);
> +		else
> +			interval = epd->bInterval;
> +		break;
> +	}
> +
> +	interval *= (speed >= USB_SPEED_HIGH) ? 125 : 1000;
> +
> +	return interval;
> +}
> +EXPORT_SYMBOL_GPL(usb_decode_interval);

> --- a/include/linux/usb/ch9.h
> +++ b/include/linux/usb/ch9.h
> @@ -90,6 +90,17 @@ extern enum usb_ssp_rate usb_get_maximum_ssp_rate(struct device *dev);
>   */
>  extern const char *usb_state_string(enum usb_device_state state);
>  
> +/**
> + * usb_decode_interval - Decode bInterval into the time expressed in 1us unit
> + * @epd: The descriptor of the endpoint
> + * @speed: The speed that the endpoint works as
> + *
> + * Function returns the interval expressed in 1us unit for servicing
> + * endpoint for data transfers.
> + */
> +unsigned int usb_decode_interval(const struct usb_endpoint_descriptor *epd,
> +				 enum usb_device_speed speed);

As a general rule, I believe people expect to find the kerneldoc for a 
function next to the function's definition, not next to the declaration 
in a header file.

Alan Stern

WARNING: multiple messages have this Message-ID (diff)
From: Alan Stern <stern@rowland.harvard.edu>
To: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ikjoon Jang <ikjn@chromium.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Eddie Hung <eddie.hung@mediatek.com>
Subject: Re: [PATCH 16/17] usb: common: add function to get interval expressed in us unit
Date: Fri, 5 Mar 2021 10:33:12 -0500	[thread overview]
Message-ID: <20210305153312.GA38200@rowland.harvard.edu> (raw)
In-Reply-To: <1614934975-15188-16-git-send-email-chunfeng.yun@mediatek.com>

On Fri, Mar 05, 2021 at 05:02:54PM +0800, Chunfeng Yun wrote:
> Add a new function to convert bInterval into the time expressed
> in 1us unit.
> 
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---

> --- a/drivers/usb/common/common.c
> +++ b/drivers/usb/common/common.c
> @@ -165,6 +165,39 @@ enum usb_dr_mode usb_get_dr_mode(struct device *dev)
>  }
>  EXPORT_SYMBOL_GPL(usb_get_dr_mode);
>  
> +unsigned int usb_decode_interval(const struct usb_endpoint_descriptor *epd,
> +				 enum usb_device_speed speed)
> +{
> +	unsigned int interval = 0;
> +
> +	switch (usb_endpoint_type(epd)) {
> +	case USB_ENDPOINT_XFER_CONTROL:
> +		/* uframes per NAK */
> +		if (speed == USB_SPEED_HIGH)
> +			interval = epd->bInterval;
> +		break;
> +	case USB_ENDPOINT_XFER_ISOC:
> +		interval = 1 << (epd->bInterval - 1);
> +		break;
> +	case USB_ENDPOINT_XFER_BULK:
> +		/* uframes per NAK */
> +		if (speed == USB_SPEED_HIGH && usb_endpoint_dir_out(epd))
> +			interval = epd->bInterval;
> +		break;
> +	case USB_ENDPOINT_XFER_INT:
> +		if (speed >= USB_SPEED_HIGH)
> +			interval = 1 << (epd->bInterval - 1);
> +		else
> +			interval = epd->bInterval;
> +		break;
> +	}
> +
> +	interval *= (speed >= USB_SPEED_HIGH) ? 125 : 1000;
> +
> +	return interval;
> +}
> +EXPORT_SYMBOL_GPL(usb_decode_interval);

> --- a/include/linux/usb/ch9.h
> +++ b/include/linux/usb/ch9.h
> @@ -90,6 +90,17 @@ extern enum usb_ssp_rate usb_get_maximum_ssp_rate(struct device *dev);
>   */
>  extern const char *usb_state_string(enum usb_device_state state);
>  
> +/**
> + * usb_decode_interval - Decode bInterval into the time expressed in 1us unit
> + * @epd: The descriptor of the endpoint
> + * @speed: The speed that the endpoint works as
> + *
> + * Function returns the interval expressed in 1us unit for servicing
> + * endpoint for data transfers.
> + */
> +unsigned int usb_decode_interval(const struct usb_endpoint_descriptor *epd,
> +				 enum usb_device_speed speed);

As a general rule, I believe people expect to find the kerneldoc for a 
function next to the function's definition, not next to the declaration 
in a header file.

Alan Stern

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Alan Stern <stern@rowland.harvard.edu>
To: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ikjoon Jang <ikjn@chromium.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	Eddie Hung <eddie.hung@mediatek.com>
Subject: Re: [PATCH 16/17] usb: common: add function to get interval expressed in us unit
Date: Fri, 5 Mar 2021 10:33:12 -0500	[thread overview]
Message-ID: <20210305153312.GA38200@rowland.harvard.edu> (raw)
In-Reply-To: <1614934975-15188-16-git-send-email-chunfeng.yun@mediatek.com>

On Fri, Mar 05, 2021 at 05:02:54PM +0800, Chunfeng Yun wrote:
> Add a new function to convert bInterval into the time expressed
> in 1us unit.
> 
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---

> --- a/drivers/usb/common/common.c
> +++ b/drivers/usb/common/common.c
> @@ -165,6 +165,39 @@ enum usb_dr_mode usb_get_dr_mode(struct device *dev)
>  }
>  EXPORT_SYMBOL_GPL(usb_get_dr_mode);
>  
> +unsigned int usb_decode_interval(const struct usb_endpoint_descriptor *epd,
> +				 enum usb_device_speed speed)
> +{
> +	unsigned int interval = 0;
> +
> +	switch (usb_endpoint_type(epd)) {
> +	case USB_ENDPOINT_XFER_CONTROL:
> +		/* uframes per NAK */
> +		if (speed == USB_SPEED_HIGH)
> +			interval = epd->bInterval;
> +		break;
> +	case USB_ENDPOINT_XFER_ISOC:
> +		interval = 1 << (epd->bInterval - 1);
> +		break;
> +	case USB_ENDPOINT_XFER_BULK:
> +		/* uframes per NAK */
> +		if (speed == USB_SPEED_HIGH && usb_endpoint_dir_out(epd))
> +			interval = epd->bInterval;
> +		break;
> +	case USB_ENDPOINT_XFER_INT:
> +		if (speed >= USB_SPEED_HIGH)
> +			interval = 1 << (epd->bInterval - 1);
> +		else
> +			interval = epd->bInterval;
> +		break;
> +	}
> +
> +	interval *= (speed >= USB_SPEED_HIGH) ? 125 : 1000;
> +
> +	return interval;
> +}
> +EXPORT_SYMBOL_GPL(usb_decode_interval);

> --- a/include/linux/usb/ch9.h
> +++ b/include/linux/usb/ch9.h
> @@ -90,6 +90,17 @@ extern enum usb_ssp_rate usb_get_maximum_ssp_rate(struct device *dev);
>   */
>  extern const char *usb_state_string(enum usb_device_state state);
>  
> +/**
> + * usb_decode_interval - Decode bInterval into the time expressed in 1us unit
> + * @epd: The descriptor of the endpoint
> + * @speed: The speed that the endpoint works as
> + *
> + * Function returns the interval expressed in 1us unit for servicing
> + * endpoint for data transfers.
> + */
> +unsigned int usb_decode_interval(const struct usb_endpoint_descriptor *epd,
> +				 enum usb_device_speed speed);

As a general rule, I believe people expect to find the kerneldoc for a 
function next to the function's definition, not next to the declaration 
in a header file.

Alan Stern

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-03-05 15:34 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-05  9:02 [PATCH 01/17] usb: xhci-mtk: remove or operator for setting schedule parameters Chunfeng Yun
2021-03-05  9:02 ` Chunfeng Yun
2021-03-05  9:02 ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 02/17] usb: xhci-mtk: improve bandwidth scheduling with TT Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 03/17] usb: xhci-mtk: get the microframe boundary for ESIT Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:13   ` Sergei Shtylyov
2021-03-05  9:13     ` Sergei Shtylyov
2021-03-05  9:13     ` Sergei Shtylyov
2021-03-05  9:16     ` Greg Kroah-Hartman
2021-03-05  9:16       ` Greg Kroah-Hartman
2021-03-05  9:16       ` Greg Kroah-Hartman
2021-03-08  1:57     ` Chunfeng Yun
2021-03-08  1:57       ` Chunfeng Yun
2021-03-08  1:57       ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 04/17] usb: xhci-mtk: add only one extra CS for FS/LS INTR Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 05/17] usb: xhci-mtk: use @sch_tt to check whether need do TT schedule Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 06/17] usb: xhci-mtk: add a function to (un)load bandwidth info Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 07/17] usb: xhci-mtk: add a function to get bandwidth boundary Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 08/17] usb: xhci-mtk: remove unnecessary members of mu3h_sch_tt struct Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 09/17] usb: xhci-mtk: use clear type instead of void Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 10/17] usb: xhci-mtk: add a member @speed in mu3h_sch_ep_info struct Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 11/17] usb: xhci-mtk: use @tt_info to check the FS/LS device is under a HS hub Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 12/17] usb: xhci-mtk: rebuild the way to get bandwidth domain Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 13/17] usb: xhci-mtk: add some schedule error number Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 14/17] usb: xhci-mtk: remove declaration of xhci_mtk_setup() Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 15/17] usb: xhci-mtk: support to build xhci-mtk-hcd.ko Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-07 16:00   ` Greg Kroah-Hartman
2021-03-07 16:00     ` Greg Kroah-Hartman
2021-03-07 16:00     ` Greg Kroah-Hartman
2021-03-08 11:13     ` Mathias Nyman
2021-03-08 11:13       ` Mathias Nyman
2021-03-08 11:13       ` Mathias Nyman
2021-03-05  9:02 ` [PATCH 16/17] usb: common: add function to get interval expressed in us unit Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05 15:33   ` Alan Stern [this message]
2021-03-05 15:33     ` Alan Stern
2021-03-05 15:33     ` Alan Stern
2021-03-05 15:47     ` Greg Kroah-Hartman
2021-03-05 15:47       ` Greg Kroah-Hartman
2021-03-05 15:47       ` Greg Kroah-Hartman
2021-03-08  2:02       ` Chunfeng Yun
2021-03-08  2:02         ` Chunfeng Yun
2021-03-08  2:02         ` Chunfeng Yun
2021-03-08  1:58     ` Chunfeng Yun
2021-03-08  1:58       ` Chunfeng Yun
2021-03-08  1:58       ` Chunfeng Yun
2021-03-05  9:02 ` [PATCH 17/17] usb: xhci-mtk: print debug info of endpoint interval Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun
2021-03-05  9:02   ` Chunfeng Yun

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=20210305153312.GA38200@rowland.harvard.edu \
    --to=stern@rowland.harvard.edu \
    --cc=chunfeng.yun@mediatek.com \
    --cc=drinkcat@chromium.org \
    --cc=eddie.hung@mediatek.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ikjn@chromium.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=matthias.bgg@gmail.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 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.