2017-12-05 09:52:39 -05:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
2016-09-05 11:06:29 -03:00
|
|
|
/*
|
|
|
|
* 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);
|
[media] st-hva: add debug file system
This patch creates 4 static debugfs entries to dump:
- the device-related information ("st-hva/device")
- the list of registered encoders ("st-hva/encoders")
- the current values of the hva registers ("st-hva/regs")
- the information about the last closed instance ("st-hva/last")
It also creates dynamically a debugfs entry for each opened instance,
("st-hva/<instance identifier>") to dump:
- the information about the frame (format, resolution)
- the information about the stream (format, profile, level,
resolution)
- the control parameters (bitrate mode, framerate, GOP size...)
- the potential (system, encoding...) errors
- the performance information about the encoding (HW processing
duration, average bitrate, average framerate...)
Each time a running instance is closed, its context (including the
debug information) is saved to feed, on demand, the last closed
instance debugfs entry.
Signed-off-by: Yannick Fertre <yannick.fertre@st.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Jean-Christophe Trotin <jean-christophe.trotin@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-01-31 08:37:57 -02:00
|
|
|
#ifdef CONFIG_VIDEO_STI_HVA_DEBUGFS
|
|
|
|
void hva_hw_dump_regs(struct hva_dev *hva, struct seq_file *s);
|
|
|
|
#endif
|
2016-09-05 11:06:29 -03:00
|
|
|
|
|
|
|
#endif /* HVA_HW_H */
|