| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Copyright (C) STMicroelectronics SA 2015 |
| * Authors: Yannick Fertre <yannick.fertre@st.com> |
| * Hugues Fruchet <hugues.fruchet@st.com> |
| */ |
| |
| #ifndef HVA_HW_H |
| #define HVA_HW_H |
| |
| #include "hva-mem.h" |
| |
| /* HVA Versions */ |
| #define HVA_VERSION_UNKNOWN 0x000 |
| #define HVA_VERSION_V400 0x400 |
| |
| /* HVA command types */ |
| enum hva_hw_cmd_type { |
| /* RESERVED = 0x00 */ |
| /* RESERVED = 0x01 */ |
| H264_ENC = 0x02, |
| /* RESERVED = 0x03 */ |
| /* RESERVED = 0x04 */ |
| /* RESERVED = 0x05 */ |
| /* RESERVED = 0x06 */ |
| /* RESERVED = 0x07 */ |
| REMOVE_CLIENT = 0x08, |
| FREEZE_CLIENT = 0x09, |
| START_CLIENT = 0x0A, |
| FREEZE_ALL = 0x0B, |
| START_ALL = 0x0C, |
| REMOVE_ALL = 0x0D |
| }; |
| |
| int hva_hw_probe(struct platform_device *pdev, struct hva_dev *hva); |
| void hva_hw_remove(struct hva_dev *hva); |
| int hva_hw_runtime_suspend(struct device *dev); |
| int hva_hw_runtime_resume(struct device *dev); |
| int hva_hw_execute_task(struct hva_ctx *ctx, enum hva_hw_cmd_type cmd, |
| struct hva_buffer *task); |
| #ifdef CONFIG_VIDEO_STI_HVA_DEBUGFS |
| void hva_hw_dump_regs(struct hva_dev *hva, struct seq_file *s); |
| #endif |
| |
| #endif /* HVA_HW_H */ |