hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/media/platform/qcom/venus/hfi.h
....@@ -1,16 +1,7 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
34 * Copyright (C) 2017 Linaro Ltd.
4
- *
5
- * This program is free software; you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License version 2 and
7
- * only version 2 as published by the Free Software Foundation.
8
- *
9
- * This program is distributed in the hope that it will be useful,
10
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- * GNU General Public License for more details.
13
- *
145 */
156 #ifndef __HFI_H__
167 #define __HFI_H__
....@@ -111,6 +102,7 @@
111102 u32 hfi_flags, u64 timestamp_us);
112103 void (*event_notify)(struct venus_inst *inst, u32 event,
113104 struct hfi_event_data *data);
105
+ void (*flush_done)(struct venus_inst *inst);
114106 };
115107
116108 struct hfi_ops {
....@@ -153,6 +145,7 @@
153145
154146 int hfi_create(struct venus_core *core, const struct hfi_core_ops *ops);
155147 void hfi_destroy(struct venus_core *core);
148
+void hfi_reinit(struct venus_core *core);
156149
157150 int hfi_core_init(struct venus_core *core);
158151 int hfi_core_deinit(struct venus_core *core, bool blocking);
....@@ -170,7 +163,7 @@
170163 int hfi_session_abort(struct venus_inst *inst);
171164 int hfi_session_load_res(struct venus_inst *inst);
172165 int hfi_session_unload_res(struct venus_inst *inst);
173
-int hfi_session_flush(struct venus_inst *inst);
166
+int hfi_session_flush(struct venus_inst *inst, u32 type, bool block);
174167 int hfi_session_set_buffers(struct venus_inst *inst,
175168 struct hfi_buffer_desc *bd);
176169 int hfi_session_unset_buffers(struct venus_inst *inst,