Commit bdc58e3b authored by simran singhal's avatar simran singhal Committed by Greg Kroah-Hartman

staging: most: Using macro DIV_ROUND_UP

The macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /(d)).
It clarifies the divisor calculations. This occurence was detected using
the coccinelle script:

@@
expression e1;
expression e2;
@@
(
- ((e1) + e2 - 1) / (e2)
+ DIV_ROUND_UP(e1,e2)
|
- ((e1) + (e2 - 1)) / (e2)
+ DIV_ROUND_UP(e1,e2)
)
Signed-off-by: default avatarsimran singhal <singhalsimran0@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3efc6616
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include "dim2_errors.h" #include "dim2_errors.h"
#include "dim2_reg.h" #include "dim2_reg.h"
#include <linux/stddef.h> #include <linux/stddef.h>
#include <linux/kernel.h>
/* /*
* Size factor for isochronous DBR buffer. * Size factor for isochronous DBR buffer.
...@@ -49,7 +50,7 @@ ...@@ -49,7 +50,7 @@
#define DBR_SIZE (16 * 1024) /* specified by IP */ #define DBR_SIZE (16 * 1024) /* specified by IP */
#define DBR_BLOCK_SIZE (DBR_SIZE / 32 / DBR_MAP_SIZE) #define DBR_BLOCK_SIZE (DBR_SIZE / 32 / DBR_MAP_SIZE)
#define ROUND_UP_TO(x, d) (((x) + (d) - 1) / (d) * (d)) #define ROUND_UP_TO(x, d) (DIV_ROUND_UP(x, (d)) * (d))
/* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */
/* generic helper functions and macros */ /* generic helper functions and macros */
...@@ -117,7 +118,7 @@ static int alloc_dbr(u16 size) ...@@ -117,7 +118,7 @@ static int alloc_dbr(u16 size)
return DBR_SIZE; /* out of memory */ return DBR_SIZE; /* out of memory */
for (i = 0; i < DBR_MAP_SIZE; i++) { for (i = 0; i < DBR_MAP_SIZE; i++) {
u32 const blocks = (size + DBR_BLOCK_SIZE - 1) / DBR_BLOCK_SIZE; u32 const blocks = DIV_ROUND_UP(size, DBR_BLOCK_SIZE);
u32 mask = ~((~(u32)0) << blocks); u32 mask = ~((~(u32)0) << blocks);
do { do {
...@@ -137,7 +138,7 @@ static int alloc_dbr(u16 size) ...@@ -137,7 +138,7 @@ static int alloc_dbr(u16 size)
static void free_dbr(int offs, int size) static void free_dbr(int offs, int size)
{ {
int block_idx = offs / DBR_BLOCK_SIZE; int block_idx = offs / DBR_BLOCK_SIZE;
u32 const blocks = (size + DBR_BLOCK_SIZE - 1) / DBR_BLOCK_SIZE; u32 const blocks = DIV_ROUND_UP(size, DBR_BLOCK_SIZE);
u32 mask = ~((~(u32)0) << blocks); u32 mask = ~((~(u32)0) << blocks);
mask <<= block_idx % 32; mask <<= block_idx % 32;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment