linux/drivers/media/platform/sti/hva/hva-hw.h
<<
>>
Prefs
   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 */
  46