Re: [PATCH v3 2/3] media: hantro: Support color conversion via post-processing

From: Boris Brezillon
Date: Thu Nov 14 2019 - 04:46:06 EST


Hi Ezequiel,

On Wed, 13 Nov 2019 14:56:02 -0300
Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> wrote:

> +
> +int hantro_postproc_alloc(struct hantro_ctx *ctx)
> +{
> + struct hantro_dev *vpu = ctx->dev;
> + unsigned int i, buf_size;
> +
> + buf_size = ctx->dst_fmt.plane_fmt[0].sizeimage;
> +
> + for (i = 0; i < VB2_MAX_FRAME; ++i) {

Don't we know at that point how big the queue is (vq->num_buffers)?
Sounds a bit expensive to always allocate VB2_MAX_FRAME aux buffers.

> + struct hantro_aux_buf *priv = &ctx->postproc.dec_q[i];
> +
> + /*
> + * The buffers on this queue are meant as intermediate
> + * buffers for the decoder, so no mapping is needed.
> + */
> + priv->attrs = DMA_ATTR_NO_KERNEL_MAPPING;
> + priv->cpu = dma_alloc_attrs(vpu->dev, buf_size, &priv->dma,
> + GFP_KERNEL, priv->attrs);
> + if (!priv->cpu)
> + return -ENOMEM;
> + priv->size = buf_size;
> + }
> + return 0;
> +}

Other than that, the post-proc extension looks pretty good. Thought it
would be much more invasive than that.

Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>