1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
- */
- #ifndef __QCOM_CDSPRM_LIMITS_H__
- #define __QCOM_CDSPRM_LIMITS_H__
- enum cdsprm_npu_corner {
- CDSPRM_NPU_CLK_OFF = 0,
- CDSPRM_NPU_MIN_SVS,
- CDSPRM_NPU_LOW_SVS,
- CDSPRM_NPU_SVS,
- CDSPRM_NPU_SVS_L1,
- CDSPRM_NPU_NOM,
- CDSPRM_NPU_NOM_L1,
- CDSPRM_NPU_TURBO,
- CDSPRM_NPU_TURBO_L1,
- };
- struct cdsprm_npu_limit_cbs {
- int (*set_corner_limit)(enum cdsprm_npu_corner);
- };
- enum cdsprm_compute_priority {
- CDSPRM_COMPUTE_HVX_MAX = 1,
- CDSPRM_COMPUTE_AIX_MAX = 2,
- CDSPRM_COMPUTE_HVX_OVER_AIX = 3,
- CDSPRM_COMPUTE_AIX_OVER_HVX = 4,
- CDSPRM_COMPUTE_BALANCED = 5,
- };
- int cdsprm_compute_core_set_priority(enum cdsprm_compute_priority);
- /* For NPU driver */
- /**
- * cdsprm_cxlimit_npu_limit_register() - Register NPU corner limit method with
- * cdspprm cxlimit driver.
- * @arg: cdsprm_npu_limit_cbs structure with set_corner_limit method defined
- *
- * Note: To be called from NPU driver only.
- */
- int cdsprm_cxlimit_npu_limit_register(const struct cdsprm_npu_limit_cbs *arg);
- /**
- * cdsprm_cxlimit_npu_limit_deregister() - deregister NPU corner limit
- * notification from cdsprm cxlimit driver.
- *
- * Note: To be called from NPU driver only.
- */
- int cdsprm_cxlimit_npu_limit_deregister(void);
- /**
- * cdsprm_cxlimit_npu_activity_notify() - Notify NPU activity status to
- * cdsprm cxlimit driver.
- * @arg: b_enabled 0 - After NPU activity stop
- * 1 - Before NPU activity start
- *
- * Note: To be called from NPU driver only.
- */
- int cdsprm_cxlimit_npu_activity_notify(unsigned int b_enabled);
- /**
- * cdsprm_cxlimit_npu_corner_notify() - Notify cdsprm cxlimit driver of NPU
- * corner request.
- * @arg: enum cdsprm_npu_corner - NPU corner value.
- * CDSPRM_NPU_CLK_OFF for clock off notification.
- *
- * Note: To be called from NPU driver only.
- */
- enum cdsprm_npu_corner cdsprm_cxlimit_npu_corner_notify(enum cdsprm_npu_corner);
- /* For Camera driver */
- /**
- * cdsprm_cxlimit_camera_activity_notify() - Notify cdsprm cxlimit driver of
- * Camera activity
- * @arg: b_enabled 0 - After Camera activity stop
- * 1 - Before Camera activity start
- *
- * Note: To be called from Camera driver only.
- */
- int cdsprm_cxlimit_camera_activity_notify(unsigned int b_enabled);
- #endif
|