1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (C) 2017 Linaro Ltd. 4 */ 5 #ifndef __VENUS_FIRMWARE_H__ 6 #define __VENUS_FIRMWARE_H__ 7 8 struct device; 9 10 int venus_firmware_init(struct venus_core *core); 11 void venus_firmware_deinit(struct venus_core *core); 12 int venus_firmware_check(struct venus_core *core); 13 int venus_firmware_cfg(struct venus_core *core); 14 int venus_boot(struct venus_core *core); 15 int venus_shutdown(struct venus_core *core); 16 int venus_set_hw_state(struct venus_core *core, bool suspend); 17 18 static inline int venus_set_hw_state_suspend(struct venus_core *core) 19 { 20 return venus_set_hw_state(core, false); 21 } 22 23 static inline int venus_set_hw_state_resume(struct venus_core *core) 24 { 25 return venus_set_hw_state(core, true); 26 } 27 28 #endif 29