* [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.