46 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (C) STMicroelectronics SA 20154 * Authors: Yannick Fertre <yannick.fertre@st.com>5 * Hugues Fruchet <hugues.fruchet@st.com>6 */7 8#ifndef HVA_HW_H9#define HVA_HW_H10 11#include "hva-mem.h"12 13/* HVA Versions */14#define HVA_VERSION_UNKNOWN 0x00015#define HVA_VERSION_V400 0x40016 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 = 0x0D33};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_DEBUGFS42void hva_hw_dump_regs(struct hva_dev *hva, struct seq_file *s);43#endif44 45#endif /* HVA_HW_H */46