hva-hw.h (1135B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (C) STMicroelectronics SA 2015 4 * Authors: Yannick Fertre <yannick.fertre@st.com> 5 * Hugues Fruchet <hugues.fruchet@st.com> 6 */ 7 8#ifndef HVA_HW_H 9#define HVA_HW_H 10 11#include "hva-mem.h" 12 13/* HVA Versions */ 14#define HVA_VERSION_UNKNOWN 0x000 15#define HVA_VERSION_V400 0x400 16 17/* HVA command types */ 18enum hva_hw_cmd_type { 19 /* RESERVED = 0x00 */ 20 /* RESERVED = 0x01 */ 21 H264_ENC = 0x02, 22 /* RESERVED = 0x03 */ 23 /* RESERVED = 0x04 */ 24 /* RESERVED = 0x05 */ 25 /* RESERVED = 0x06 */ 26 /* RESERVED = 0x07 */ 27 REMOVE_CLIENT = 0x08, 28 FREEZE_CLIENT = 0x09, 29 START_CLIENT = 0x0A, 30 FREEZE_ALL = 0x0B, 31 START_ALL = 0x0C, 32 REMOVE_ALL = 0x0D 33}; 34 35int hva_hw_probe(struct platform_device *pdev, struct hva_dev *hva); 36void hva_hw_remove(struct hva_dev *hva); 37int hva_hw_runtime_suspend(struct device *dev); 38int hva_hw_runtime_resume(struct device *dev); 39int hva_hw_execute_task(struct hva_ctx *ctx, enum hva_hw_cmd_type cmd, 40 struct hva_buffer *task); 41#ifdef CONFIG_VIDEO_STI_HVA_DEBUGFS 42void hva_hw_dump_regs(struct hva_dev *hva, struct seq_file *s); 43#endif 44 45#endif /* HVA_HW_H */