Files
kernel_google_redbull/include/linux/fastcvpd.h
Mark Salyzyn 80c4c81056 GKI: enable MSM_FASTCVPD=m
New driver module:

drives/char/fastcvpd.ko -> msm_fastcvpd_rpmsg

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Test: Verified with scripts/gki/device_snapshot
Test: No impact on /sys/ (except new module files) and /dev/
Test: All devices probed as before
Bug: 141888626
Change-Id: I72cc75703f199370ec119916803e8a64a5670a80
2020-05-30 02:04:49 +08:00

81 lines
1.7 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
#ifndef FASTCVPD_H
#define FASTCVPD_H
#include <linux/types.h>
#define FASTCVPD_GLINK_GUID "fastcvpd-glink-apps-dsp"
#define FASTCVPD_SMD_GUID "fastcvpd-smd-apps-dsp"
#define FASTCVPD_DEVICE_NAME "fastcvpd-smd"
#if IS_ENABLED(CONFIG_MSM_FASTCVPD)
/*
* API for Video driver to send physical address to FastCVP driver
* @param phys_addr
* Physical address of command message queue
* that needs to be mapped to CDSP.
* It should be allocated from CMA adsp_mem region.
*
* @param size_in_bytes
* Size in bytes of command message queue
*/
int fastcvpd_video_send_cmd_hfi_queue(phys_addr_t *phys_addr,
uint32_t size_in_bytes);
/*
* API for Video driver to suspend CVP session during
* power collapse
*
* @param session_flag
* Flag to share details of session.
*/
int fastcvpd_video_suspend(uint32_t session_flag);
/*
* API for Video driver to resume CVP session during
* power collapse
*
* @param session_flag
* Flag to share details of session.
*/
int fastcvpd_video_resume(uint32_t session_flag);
/*
* API for Video driver to shutdown CVP session during
* video subsystem error.
*
* @param session_flag
* Flag to share details of session.
*/
int fastcvpd_video_shutdown(uint32_t session_flag);
#else
static inline int fastcvpd_video_send_cmd_hfi_queue(
phys_addr_t *phys_addr,
uint32_t size_in_bytes)
{
return -ENODEV;
}
static inline int fastcvpd_video_shutdown(uint32_t session_flag)
{
return -ENODEV;
}
static inline int fastcvpd_video_suspend(uint32_t session_flag)
{
return -ENODEV;
}
static inline int fastcvpd_video_resume(uint32_t session_flag)
{
return -ENODEV;
}
#endif // CONFIG_FASTCVPD
#endif // FASTCVPD_H