All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment()
@ 2017-02-15  8:12 Ivan Safonov
  2017-03-24 18:27 ` Bin Liu
  0 siblings, 1 reply; 4+ messages in thread
From: Ivan Safonov @ 2017-02-15  8:12 UTC (permalink / raw)
  To: Bin Liu; +Cc: Greg Kroah-Hartman, linux-usb, linux-kernel, Ivan Safonov

DIV_ROUND_UP is bit useful than series of "/" and "%" operations.
Replace "/%" sequence with DIV_ROUND_UP macro.

Signed-off-by: Ivan Safonov <insafonov@gmail.com>
---
 drivers/usb/musb/cppi_dma.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
index 1ae48e6..d376188 100644
--- a/drivers/usb/musb/cppi_dma.c
+++ b/drivers/usb/musb/cppi_dma.c
@@ -582,9 +582,9 @@ cppi_next_tx_segment(struct musb *musb, struct cppi_channel *tx)
 		maxpacket = length;
 		n_bds = 1;
 	} else {
-		n_bds = length / maxpacket;
-		if (!length || (length % maxpacket))
-			n_bds++;
+		n_bds = DIV_ROUND_UP(length, maxpacket);
+		if (length == 0)
+			n_bds = 1;
 		n_bds = min(n_bds, (unsigned) NUM_TXCHAN_BD);
 		length = min(n_bds * maxpacket, length);
 	}
@@ -790,9 +790,7 @@ cppi_next_rx_segment(struct musb *musb, struct cppi_channel *rx, int onepacket)
 			n_bds = 0xffff / maxpacket;
 			length = n_bds * maxpacket;
 		} else {
-			n_bds = length / maxpacket;
-			if (length % maxpacket)
-				n_bds++;
+			n_bds = DIV_ROUND_UP(length, maxpacket);
 		}
 		if (n_bds == 1)
 			onepacket = 1;
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment()
  2017-02-15  8:12 [PATCH] usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment() Ivan Safonov
@ 2017-03-24 18:27 ` Bin Liu
  2017-03-25  9:52   ` [PATCH v2] " Ivan Safonov
  0 siblings, 1 reply; 4+ messages in thread
From: Bin Liu @ 2017-03-24 18:27 UTC (permalink / raw)
  To: Ivan Safonov; +Cc: Greg Kroah-Hartman, linux-usb, linux-kernel

On Wed, Feb 15, 2017 at 11:12:36AM +0300, Ivan Safonov wrote:
> DIV_ROUND_UP is bit useful than series of "/" and "%" operations.
> Replace "/%" sequence with DIV_ROUND_UP macro.
> 
> Signed-off-by: Ivan Safonov <insafonov@gmail.com>
> ---
>  drivers/usb/musb/cppi_dma.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
> index 1ae48e6..d376188 100644
> --- a/drivers/usb/musb/cppi_dma.c
> +++ b/drivers/usb/musb/cppi_dma.c
> @@ -582,9 +582,9 @@ cppi_next_tx_segment(struct musb *musb, struct cppi_channel *tx)
>  		maxpacket = length;
>  		n_bds = 1;
>  	} else {
> -		n_bds = length / maxpacket;
> -		if (!length || (length % maxpacket))
> -			n_bds++;
> +		n_bds = DIV_ROUND_UP(length, maxpacket);
> +		if (length == 0)
> +			n_bds = 1;

Is it a little better logically if

+		if (length)
+			n_bds = DIV_ROUND_UP(length, maxpacket);
+		else
+			n_bds = 1;

or

+		n_bds = length ? DIV_ROUND_UP(length, maxpacket) : 1;

Regards,
-Bin.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2] usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment()
  2017-03-24 18:27 ` Bin Liu
@ 2017-03-25  9:52   ` Ivan Safonov
  2017-03-27 14:31     ` Bin Liu
  0 siblings, 1 reply; 4+ messages in thread
From: Ivan Safonov @ 2017-03-25  9:52 UTC (permalink / raw)
  To: Bin Liu; +Cc: Greg Kroah-Hartman, linux-usb, linux-kernel, insafonov

DIV_ROUND_UP is bit useful than series of "/" and "%" operations.
Replace "/%" sequence with DIV_ROUND_UP macro.

Signed-off-by: Ivan Safonov <insafonov@gmail.com>
---
Changes in v2:
 - little style fix

 drivers/usb/musb/cppi_dma.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
index c4fabe95..a13bd36 100644
--- a/drivers/usb/musb/cppi_dma.c
+++ b/drivers/usb/musb/cppi_dma.c
@@ -582,9 +582,10 @@ cppi_next_tx_segment(struct musb *musb, struct cppi_channel *tx)
 		maxpacket = length;
 		n_bds = 1;
 	} else {
-		n_bds = length / maxpacket;
-		if (!length || (length % maxpacket))
-			n_bds++;
+		if (length)
+			n_bds = DIV_ROUND_UP(length, maxpacket);
+		else
+			n_bds = 1;
 		n_bds = min(n_bds, (unsigned) NUM_TXCHAN_BD);
 		length = min(n_bds * maxpacket, length);
 	}
@@ -790,9 +791,7 @@ cppi_next_rx_segment(struct musb *musb, struct cppi_channel *rx, int onepacket)
 			n_bds = 0xffff / maxpacket;
 			length = n_bds * maxpacket;
 		} else {
-			n_bds = length / maxpacket;
-			if (length % maxpacket)
-				n_bds++;
+			n_bds = DIV_ROUND_UP(length, maxpacket);
 		}
 		if (n_bds == 1)
 			onepacket = 1;
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment()
  2017-03-25  9:52   ` [PATCH v2] " Ivan Safonov
@ 2017-03-27 14:31     ` Bin Liu
  0 siblings, 0 replies; 4+ messages in thread
From: Bin Liu @ 2017-03-27 14:31 UTC (permalink / raw)
  To: Ivan Safonov; +Cc: Greg Kroah-Hartman, linux-usb, linux-kernel

On Sat, Mar 25, 2017 at 12:52:58PM +0300, Ivan Safonov wrote:
> DIV_ROUND_UP is bit useful than series of "/" and "%" operations.
> Replace "/%" sequence with DIV_ROUND_UP macro.
> 
> Signed-off-by: Ivan Safonov <insafonov@gmail.com>

Applied. Thanks.
-Bin.

> ---
> Changes in v2:
>  - little style fix
> 
>  drivers/usb/musb/cppi_dma.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
> index c4fabe95..a13bd36 100644
> --- a/drivers/usb/musb/cppi_dma.c
> +++ b/drivers/usb/musb/cppi_dma.c
> @@ -582,9 +582,10 @@ cppi_next_tx_segment(struct musb *musb, struct cppi_channel *tx)
>  		maxpacket = length;
>  		n_bds = 1;
>  	} else {
> -		n_bds = length / maxpacket;
> -		if (!length || (length % maxpacket))
> -			n_bds++;
> +		if (length)
> +			n_bds = DIV_ROUND_UP(length, maxpacket);
> +		else
> +			n_bds = 1;
>  		n_bds = min(n_bds, (unsigned) NUM_TXCHAN_BD);
>  		length = min(n_bds * maxpacket, length);
>  	}
> @@ -790,9 +791,7 @@ cppi_next_rx_segment(struct musb *musb, struct cppi_channel *rx, int onepacket)
>  			n_bds = 0xffff / maxpacket;
>  			length = n_bds * maxpacket;
>  		} else {
> -			n_bds = length / maxpacket;
> -			if (length % maxpacket)
> -				n_bds++;
> +			n_bds = DIV_ROUND_UP(length, maxpacket);
>  		}
>  		if (n_bds == 1)
>  			onepacket = 1;
> -- 
> 2.10.2
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-27 15:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-15  8:12 [PATCH] usb: musb: cppi_dma.c: use DIV_ROUND_UP macro in cppi_next_(r|t)x_segment() Ivan Safonov
2017-03-24 18:27 ` Bin Liu
2017-03-25  9:52   ` [PATCH v2] " Ivan Safonov
2017-03-27 14:31     ` Bin Liu

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.