| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. |
|---|
| 3 | 4 | * 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 | | - * |
|---|
| 14 | 5 | */ |
|---|
| 15 | 6 | #ifndef __HFI_H__ |
|---|
| 16 | 7 | #define __HFI_H__ |
|---|
| .. | .. |
|---|
| 111 | 102 | u32 hfi_flags, u64 timestamp_us); |
|---|
| 112 | 103 | void (*event_notify)(struct venus_inst *inst, u32 event, |
|---|
| 113 | 104 | struct hfi_event_data *data); |
|---|
| 105 | + void (*flush_done)(struct venus_inst *inst); |
|---|
| 114 | 106 | }; |
|---|
| 115 | 107 | |
|---|
| 116 | 108 | struct hfi_ops { |
|---|
| .. | .. |
|---|
| 153 | 145 | |
|---|
| 154 | 146 | int hfi_create(struct venus_core *core, const struct hfi_core_ops *ops); |
|---|
| 155 | 147 | void hfi_destroy(struct venus_core *core); |
|---|
| 148 | +void hfi_reinit(struct venus_core *core); |
|---|
| 156 | 149 | |
|---|
| 157 | 150 | int hfi_core_init(struct venus_core *core); |
|---|
| 158 | 151 | int hfi_core_deinit(struct venus_core *core, bool blocking); |
|---|
| .. | .. |
|---|
| 170 | 163 | int hfi_session_abort(struct venus_inst *inst); |
|---|
| 171 | 164 | int hfi_session_load_res(struct venus_inst *inst); |
|---|
| 172 | 165 | 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); |
|---|
| 174 | 167 | int hfi_session_set_buffers(struct venus_inst *inst, |
|---|
| 175 | 168 | struct hfi_buffer_desc *bd); |
|---|
| 176 | 169 | int hfi_session_unset_buffers(struct venus_inst *inst, |
|---|