Re: [PATCH v8 16/28] media: iris: implement vb2 streaming ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Dikshita,

On Tue, 10 Dec 2024 at 12:07, Dikshita Agarwal
<quic_dikshita@xxxxxxxxxxx> wrote:
>
> +static int iris_hfi_gen1_session_stop(struct iris_inst *inst, u32 plane)
> +{
> +       struct hfi_session_flush_pkt flush_pkt;
> +       struct iris_core *core = inst->core;
> +       struct hfi_session_pkt pkt;
> +       u32 flush_type = 0;
> +       int ret = 0;
> +
> +       if ((V4L2_TYPE_IS_OUTPUT(plane) &&
> +            inst->state == IRIS_INST_INPUT_STREAMING) ||
> +           (V4L2_TYPE_IS_CAPTURE(plane) &&
> +            inst->state == IRIS_INST_OUTPUT_STREAMING) ||
> +           inst->state == IRIS_INST_ERROR) {
> +               reinit_completion(&inst->completion);
> +               iris_hfi_gen1_packet_session_cmd(inst, &pkt, HFI_CMD_SESSION_STOP);
> +               ret = iris_hfi_queue_cmd_write(core, &pkt, pkt.shdr.hdr.size);
> +               if (!ret)
> +                       ret = iris_wait_for_session_response(inst, false);
> +
> +               reinit_completion(&inst->completion);
> +               iris_hfi_gen1_packet_session_cmd(inst, &pkt, HFI_CMD_SESSION_RELEASE_RESOURCES);
> +               ret = iris_hfi_queue_cmd_write(core, &pkt, pkt.shdr.hdr.size);
> +               if (!ret)
> +                       ret = iris_wait_for_session_response(inst, false);
> +       } else if (inst->state == IRIS_INST_STREAMING) {
> +               if (V4L2_TYPE_IS_OUTPUT(plane))
> +                       flush_type = HFI_FLUSH_ALL;
> +               else if (V4L2_TYPE_IS_CAPTURE(plane))
> +                       flush_type = HFI_FLUSH_OUTPUT;

Below there is also HFI_FLUSH_OUTPUT2 defined. Do we need to handle
this flush type here as well?

[...]

> +#define HFI_FLUSH_OUTPUT                               0x1000002
> +#define HFI_FLUSH_OUTPUT2                              0x1000003

regards
Stefan Schmidt




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux