#include <linux/init.h>
#include <linux/interconnect.h>
#include <linux/ioctl.h>
#include <linux/list.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/dma-map-ops.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/pm_runtime.h>
#include <linux/videodev2.h>
#include <linux/of_reserved_mem.h>
#include <media/v4l2-device.h>
#include <media/videobuf2-v4l2.h>
#include <media/v4l2-mem2mem.h>
#include <media/v4l2-ioctl.h>
#include <linux/debugfs.h>
#include "vpu.h"
#include "vpu_imx8q.h"
bool debug;
module_param(debug, bool, 0644);
void vpu_writel(struct vpu_dev *vpu, u32 reg, u32 val)
{ … }
u32 vpu_readl(struct vpu_dev *vpu, u32 reg)
{ … }
static void vpu_dev_get(struct vpu_dev *vpu)
{ … }
static void vpu_dev_put(struct vpu_dev *vpu)
{ … }
static void vpu_enc_get(struct vpu_dev *vpu)
{ … }
static void vpu_enc_put(struct vpu_dev *vpu)
{ … }
static void vpu_dec_get(struct vpu_dev *vpu)
{ … }
static void vpu_dec_put(struct vpu_dev *vpu)
{ … }
static int vpu_init_media_device(struct vpu_dev *vpu)
{ … }
static int vpu_probe(struct platform_device *pdev)
{ … }
static void vpu_remove(struct platform_device *pdev)
{ … }
static int __maybe_unused vpu_runtime_resume(struct device *dev)
{ … }
static int __maybe_unused vpu_runtime_suspend(struct device *dev)
{ … }
static int __maybe_unused vpu_resume(struct device *dev)
{ … }
static int __maybe_unused vpu_suspend(struct device *dev)
{ … }
static const struct dev_pm_ops vpu_pm_ops = …;
static struct vpu_resources imx8qxp_res = …;
static struct vpu_resources imx8qm_res = …;
static const struct of_device_id vpu_dt_match[] = …;
MODULE_DEVICE_TABLE(of, vpu_dt_match);
static struct platform_driver amphion_vpu_driver = …;
static int __init vpu_driver_init(void)
{ … }
static void __exit vpu_driver_exit(void)
{ … }
module_init(…) …;
module_exit(vpu_driver_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;