linux/drivers/media/platform/qcom/venus/core.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
 * Copyright (C) 2017 Linaro Ltd.
 */
#include <linux/init.h>
#include <linux/interconnect.h>
#include <linux/io.h>
#include <linux/ioctl.h>
#include <linux/delay.h>
#include <linux/devcoredump.h>
#include <linux/list.h>
#include <linux/module.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_domain.h>
#include <linux/pm_runtime.h>
#include <media/videobuf2-v4l2.h>
#include <media/v4l2-mem2mem.h>
#include <media/v4l2-ioctl.h>

#include "core.h"
#include "firmware.h"
#include "pm_helpers.h"
#include "hfi_venus_io.h"

static void venus_coredump(struct venus_core *core)
{}

static void venus_event_notify(struct venus_core *core, u32 event)
{}

static const struct hfi_core_ops venus_core_ops =;

#define RPM_WAIT_FOR_IDLE_MAX_ATTEMPTS

static void venus_sys_error_handler(struct work_struct *work)
{}

static u32 to_v4l2_codec_type(u32 codec)
{}

static int venus_enumerate_codecs(struct venus_core *core, u32 type)
{}

static void venus_assign_register_offsets(struct venus_core *core)
{}

static irqreturn_t venus_isr_thread(int irq, void *dev_id)
{}

static int venus_probe(struct platform_device *pdev)
{}

static void venus_remove(struct platform_device *pdev)
{}

static void venus_core_shutdown(struct platform_device *pdev)
{}

static __maybe_unused int venus_runtime_suspend(struct device *dev)
{}

static __maybe_unused int venus_runtime_resume(struct device *dev)
{}

static const struct dev_pm_ops venus_pm_ops =;

static const struct freq_tbl msm8916_freq_table[] =;

static const struct reg_val msm8916_reg_preset[] =;

static const struct venus_resources msm8916_res =;

static const struct freq_tbl msm8996_freq_table[] =;

static const struct reg_val msm8996_reg_preset[] =;

static const struct venus_resources msm8996_res =;

static const struct freq_tbl msm8998_freq_table[] =;

static const struct reg_val msm8998_reg_preset[] =;

static const struct venus_resources msm8998_res =;

static const struct freq_tbl sdm660_freq_table[] =;

static const struct reg_val sdm660_reg_preset[] =;

static const struct bw_tbl sdm660_bw_table_enc[] =;

static const struct bw_tbl sdm660_bw_table_dec[] =;

static const struct venus_resources sdm660_res =;

static const struct freq_tbl sdm845_freq_table[] =;

static const struct bw_tbl sdm845_bw_table_enc[] =;

static const struct bw_tbl sdm845_bw_table_dec[] =;

static const struct venus_resources sdm845_res =;

static const struct venus_resources sdm845_res_v2 =;

static const struct freq_tbl sc7180_freq_table[] =;

static const struct bw_tbl sc7180_bw_table_enc[] =;

static const struct bw_tbl sc7180_bw_table_dec[] =;

static const struct venus_resources sc7180_res =;

static const struct freq_tbl sm8250_freq_table[] =;

static const struct bw_tbl sm8250_bw_table_enc[] =;

static const struct bw_tbl sm8250_bw_table_dec[] =;

static const struct reg_val sm8250_reg_preset[] =;

static const struct venus_resources sm8250_res =;

static const struct freq_tbl sc7280_freq_table[] =;

static const struct bw_tbl sc7280_bw_table_enc[] =;

static const struct bw_tbl sc7280_bw_table_dec[] =;

static const struct reg_val sm7280_reg_preset[] =;

static const struct hfi_ubwc_config sc7280_ubwc_config =;

static const struct venus_resources sc7280_res =;

static const struct of_device_id venus_dt_match[] =;
MODULE_DEVICE_TABLE(of, venus_dt_match);

static struct platform_driver qcom_venus_driver =;
module_platform_driver();

MODULE_ALIAS();
MODULE_DESCRIPTION();
MODULE_LICENSE();