
- hierarchical state model which comprises of top level states and sub states - top level states include OPEN, CLOSE, ERROR, INPUT_STREAMING, OUTPUT_STREAMING, STREAMING. - sub states include DRAIN, DRC, DRAIN_LAST_BUFFER, DRC_LAST_BUFFER, INPUT_PAUSE, OUTPUT_PAUSE. - follows deterministic approach for key sequences like DRC, DRAIN and last flag handling i.e none of these events are ignored or discarded. - removal of auto start of firmware input port as part of ipsc handling. - introduction of hfi commands for host controlled PAUSE and RESUME of firmware ports. - introduction of information last flag packets for DRC and DRAIN when FW has insufficient output buffers. Change-Id: Ie8c8f44af464d06f5a7bb76822f749c9874f869a Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
24 lines
715 B
C
24 lines
715 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2020-2021,, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __VENUS_HFI_RESPONSE_H__
|
|
#define __VENUS_HFI_RESPONSE_H__
|
|
|
|
#include "hfi_packet.h"
|
|
|
|
int handle_response(struct msm_vidc_core *core,
|
|
void *response);
|
|
int validate_packet(u8 *response_pkt, u8 *core_resp_pkt,
|
|
u32 core_resp_pkt_size, const char *func);
|
|
bool is_valid_port(struct msm_vidc_inst *inst, u32 port,
|
|
const char *func);
|
|
bool is_valid_hfi_buffer_type(struct msm_vidc_inst *inst,
|
|
u32 buffer_type, const char *func);
|
|
int handle_system_error(struct msm_vidc_core *core,
|
|
struct hfi_packet *pkt);
|
|
void fw_coredump(struct msm_vidc_core *core);
|
|
|
|
#endif // __VENUS_HFI_RESPONSE_H__
|