Re: [PATCH v2 1/5] USB: gadget: f_rndis: fix bitrate for SuperSpeed and above

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20-11-27 15:05:55, Greg Kroah-Hartman wrote:
> From: Will McVicker <willmcvicker@xxxxxxxxxx>
> 
> Align the SuperSpeed Plus bitrate for f_rndis to match f_ncm's ncm_bitrate
> defined by commit 1650113888fe ("usb: gadget: f_ncm: add SuperSpeed descriptors
> for CDC NCM").
> 
> Cc: Felipe Balbi <balbi@xxxxxxxxxx>
> Cc: EJ Hsu <ejh@xxxxxxxxxx>
> Cc: Peter Chen <peter.chen@xxxxxxx>
> Cc: stable <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Will McVicker <willmcvicker@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/usb/gadget/function/f_rndis.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/gadget/function/f_rndis.c b/drivers/usb/gadget/function/f_rndis.c
> index 9534c8ab62a8..0739b05a0ef7 100644
> --- a/drivers/usb/gadget/function/f_rndis.c
> +++ b/drivers/usb/gadget/function/f_rndis.c
> @@ -87,8 +87,10 @@ static inline struct f_rndis *func_to_rndis(struct usb_function *f)
>  /* peak (theoretical) bulk transfer rate in bits-per-second */
>  static unsigned int bitrate(struct usb_gadget *g)
>  {
> +	if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER_PLUS)
> +		return 4250000000U;

Is tested value or spec defined value?

>  	if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER)
> -		return 13 * 1024 * 8 * 1000 * 8;
> +		return 3750000000U;

13 * 1024 * 8 * 1000 * 8 = 851,968,000, how 3750000000U is calculated?

>  	else if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH)
>  		return 13 * 512 * 8 * 1000 * 8;
>  	else
> -- 
> 2.29.2
> 

-- 

Thanks,
Peter Chen



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux