|
@@ -158,7 +158,6 @@ static int nfp_release_mask_id(struct nfp_app *app, u8 mask_id)
|
|
{
|
|
{
|
|
struct nfp_flower_priv *priv = app->priv;
|
|
struct nfp_flower_priv *priv = app->priv;
|
|
struct circ_buf *ring;
|
|
struct circ_buf *ring;
|
|
- struct timespec64 now;
|
|
|
|
|
|
|
|
ring = &priv->mask_ids.mask_id_free_list;
|
|
ring = &priv->mask_ids.mask_id_free_list;
|
|
/* Checking if buffer is full. */
|
|
/* Checking if buffer is full. */
|
|
@@ -169,8 +168,7 @@ static int nfp_release_mask_id(struct nfp_app *app, u8 mask_id)
|
|
ring->head = (ring->head + NFP_FLOWER_MASK_ELEMENT_RS) %
|
|
ring->head = (ring->head + NFP_FLOWER_MASK_ELEMENT_RS) %
|
|
(NFP_FLOWER_MASK_ENTRY_RS * NFP_FLOWER_MASK_ELEMENT_RS);
|
|
(NFP_FLOWER_MASK_ENTRY_RS * NFP_FLOWER_MASK_ELEMENT_RS);
|
|
|
|
|
|
- getnstimeofday64(&now);
|
|
|
|
- priv->mask_ids.last_used[mask_id] = now;
|
|
|
|
|
|
+ priv->mask_ids.last_used[mask_id] = ktime_get();
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -178,7 +176,7 @@ static int nfp_release_mask_id(struct nfp_app *app, u8 mask_id)
|
|
static int nfp_mask_alloc(struct nfp_app *app, u8 *mask_id)
|
|
static int nfp_mask_alloc(struct nfp_app *app, u8 *mask_id)
|
|
{
|
|
{
|
|
struct nfp_flower_priv *priv = app->priv;
|
|
struct nfp_flower_priv *priv = app->priv;
|
|
- struct timespec64 delta, now;
|
|
|
|
|
|
+ ktime_t reuse_timeout;
|
|
struct circ_buf *ring;
|
|
struct circ_buf *ring;
|
|
u8 temp_id, freed_id;
|
|
u8 temp_id, freed_id;
|
|
|
|
|
|
@@ -198,10 +196,10 @@ static int nfp_mask_alloc(struct nfp_app *app, u8 *mask_id)
|
|
memcpy(&temp_id, &ring->buf[ring->tail], NFP_FLOWER_MASK_ELEMENT_RS);
|
|
memcpy(&temp_id, &ring->buf[ring->tail], NFP_FLOWER_MASK_ELEMENT_RS);
|
|
*mask_id = temp_id;
|
|
*mask_id = temp_id;
|
|
|
|
|
|
- getnstimeofday64(&now);
|
|
|
|
- delta = timespec64_sub(now, priv->mask_ids.last_used[*mask_id]);
|
|
|
|
|
|
+ reuse_timeout = ktime_add_ns(priv->mask_ids.last_used[*mask_id],
|
|
|
|
+ NFP_FL_MASK_REUSE_TIME_NS);
|
|
|
|
|
|
- if (timespec64_to_ns(&delta) < NFP_FL_MASK_REUSE_TIME_NS)
|
|
|
|
|
|
+ if (ktime_before(ktime_get(), reuse_timeout))
|
|
goto err_not_found;
|
|
goto err_not_found;
|
|
|
|
|
|
memcpy(&ring->buf[ring->tail], &freed_id, NFP_FLOWER_MASK_ELEMENT_RS);
|
|
memcpy(&ring->buf[ring->tail], &freed_id, NFP_FLOWER_MASK_ELEMENT_RS);
|