u32 base,
int offset)
{
- u8 dest;
-
OP___assert(cb);
OP___assert(cb->desc);
OP___assert(cb->desc->size > 0);
offset += cb->desc->size;
/* step 2: shift and round by the upper limit */
- dest = OP_std_modadd(base, offset, cb->desc->size);
-
- return dest;
+ return (base + offset) % cb->desc->size;
}
/**
ia_css_circbuf_desc_t *cb_desc)
{
OP___assert(cb_desc);
- return (OP_std_modadd(cb_desc->end, 1, cb_desc->size) == cb_desc->start);
+ return ((cb_desc->end + 1) % cb_desc->size) == cb_desc->start;
}
/**
u32 base,
int offset)
{
- u8 dest;
-
OP___assert(cb_desc);
OP___assert(cb_desc->size > 0);
offset += cb_desc->size;
/* step 2: shift and round by the upper limit */
- dest = OP_std_modadd(base, offset, cb_desc->size);
-
- return dest;
+ return (base + offset) % cb_desc->size;
}
/**
#define CEIL_MUL(a, b) (CEIL_DIV(a, b) * (b))
#define CEIL_SHIFT(a, b) (((a) + (1 << (b)) - 1) >> (b))
-/*
- * For SP and ISP, SDK provides the definition of OP_std_modadd.
- * We need it only for host
- */
-#define OP_std_modadd(base, offset, size) ((base + offset) % (size))
-
#endif /* __MATH_SUPPORT_H */
*item = cb_elem.val;
- cb_desc.start = OP_std_modadd(cb_desc.start, 1, cb_desc.size);
+ cb_desc.start = (cb_desc.start + 1) % cb_desc.size;
/* c. Store the queue object */
/* Set only fields requiring update with
if (offset > num_elems)
return -EINVAL;
- offset = OP_std_modadd(cb_desc.start, offset, cb_desc.size);
+ offset = (cb_desc.start + offset) % cb_desc.size;
error = ia_css_queue_item_load(qhandle, (uint8_t)offset, &cb_elem);
if (error != 0)
return error;