video-driver: prepare conflict free dependency list

Convert multi-parent, multi-child based dependency tree
into flattened list. It is organized in such a way that
all parents willbe present before self or any child node.

For some caps, adjust sequence is called without preparing
parent nodes. So that is leading to undefined behaviour.

Added change to address these problems.

Change-Id: Ib28cae8a4ed7e019c80ecfc06519ef78ffa4dc08
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
This commit is contained in:
Govindaraj Rajagopal
2022-01-31 21:05:38 +05:30
parent 8d6bee38b3
commit d9debeed9e
6 changed files with 240 additions and 15 deletions

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2020-2021,, The Linux Foundation. All rights reserved.
* Copyright (c) 2020-2022,, The Linux Foundation. All rights reserved.
*/
#ifndef _MSM_VIDC_INST_H_
@@ -143,6 +143,7 @@ struct msm_vidc_inst {
struct list_head response_works; /* list of struct response_work */
struct list_head enc_input_crs;
struct list_head dmabuf_tracker; /* list of struct msm_memory_dmabuf */
struct list_head caps_list; /* list of struct msm_vidc_inst_cap_entry */
bool once_per_session_set;
bool ipsc_properties_set;
bool opsc_properties_set;