[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a836dc4d-99e3-494d-b374-594f53287bae@wanadoo.fr>
Date: Sun, 22 Oct 2023 18:27:52 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: Sebastian Fricke <sebastian.fricke@...labora.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
NXP Linux Team <linux-imx@....com>,
Conor Dooley <conor+dt@...nel.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Jackson Lee <jackson.lee@...psnmedia.com>,
Hans Verkuil <hverkuil@...all.nl>,
Sascha Hauer <s.hauer@...gutronix.de>,
Rob Herring <robh+dt@...nel.org>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Shawn Guo <shawnguo@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Nas Chung <nas.chung@...psnmedia.com>,
Fabio Estevam <festevam@...il.com>
Cc: linux-media@...r.kernel.org, Tomasz Figa <tfiga@...omium.org>,
linux-kernel@...r.kernel.org,
Nicolas Dufresne <nicolas.dufresne@...labora.com>,
kernel@...labora.com, Robert Beckett <bob.beckett@...labora.com>,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Darren Etheridge <detheridge@...com>
Subject: Re: [PATCH v13 4/8] media: chips-media: wave5: Add vpuapi layer
Le 12/10/2023 à 13:01, Sebastian Fricke a écrit :
> From: Nas Chung <nas.chung@...psnmedia.com>
>
> Add the vpuapi layer of the wave5 codec driver.
> This layer is used to configure the hardware according
> to the parameters.
>
> Signed-off-by: Sebastian Fricke <sebastian.fricke@...labora.com>
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@...labora.com>
> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@...labora.com>
> Signed-off-by: Robert Beckett <bob.beckett@...labora.com>
> Signed-off-by: Nas Chung <nas.chung@...psnmedia.com>
> ---
...
> +int wave5_vpu_dec_clr_disp_flag(struct vpu_instance *inst, int index)
> +{
> + struct dec_info *p_dec_info = &inst->codec_info->dec_info;
> + int ret = 0;
Nit: No need to init.
> + struct vpu_device *vpu_dev = inst->dev;
> +
> + if (index >= p_dec_info->num_of_display_fbs)
> + return -EINVAL;
> +
> + ret = mutex_lock_interruptible(&vpu_dev->hw_lock);
> + if (ret)
> + return ret;
> + ret = wave5_dec_clr_disp_flag(inst, index);
> + mutex_unlock(&vpu_dev->hw_lock);
> +
> + return ret;
> +}
...
> +int wave5_vpu_dec_give_command(struct vpu_instance *inst, enum codec_command cmd, void *parameter)
> +{
> + struct dec_info *p_dec_info = &inst->codec_info->dec_info;
> + int ret = 0;
> +
> + switch (cmd) {
> + case DEC_GET_QUEUE_STATUS: {
> + struct queue_status_info *queue_info = parameter;
> +
> + queue_info->instance_queue_count = p_dec_info->instance_queue_count;
> + queue_info->report_queue_count = p_dec_info->report_queue_count;
> + break;
> + }
> + case DEC_RESET_FRAMEBUF_INFO: {
> + int i;
> +
> + for (i = 0; i < MAX_REG_FRAME; i++) {
> + ret = wave5_vpu_dec_reset_framebuffer(inst, i);
> + if (ret)
> + break;
> + }
> +
> + for (i = 0; i < MAX_REG_FRAME; i++) {
> + ret = reset_auxiliary_buffers(inst, i);
> + if (ret)
> + break;
> + }
> +
> + wave5_vdi_free_dma_memory(inst->dev, &p_dec_info->vb_task);
> + break;
> + }
> + case DEC_GET_SEQ_INFO: {
> + struct dec_initial_info *seq_info = parameter;
> +
> + *seq_info = p_dec_info->initial_info;
> + break;
> + }
> +
> + default:
> + return -EINVAL;
> + }
> +
> + return 0;
return ret;
?
CJ
> +}
...
Powered by blists - more mailing lists