0001
0002
0003
0004
0005
0006
0007 #ifndef __ETNAVIV_PERFMON_H__
0008 #define __ETNAVIV_PERFMON_H__
0009
0010 struct etnaviv_gpu;
0011 struct drm_etnaviv_pm_domain;
0012 struct drm_etnaviv_pm_signal;
0013
0014 struct etnaviv_perfmon_request
0015 {
0016 u32 flags;
0017 u8 domain;
0018 u8 signal;
0019 u32 sequence;
0020
0021
0022 u32 *bo_vma;
0023 u32 offset;
0024 };
0025
0026 int etnaviv_pm_query_dom(struct etnaviv_gpu *gpu,
0027 struct drm_etnaviv_pm_domain *domain);
0028
0029 int etnaviv_pm_query_sig(struct etnaviv_gpu *gpu,
0030 struct drm_etnaviv_pm_signal *signal);
0031
0032 int etnaviv_pm_req_validate(const struct drm_etnaviv_gem_submit_pmr *r,
0033 u32 exec_state);
0034
0035 void etnaviv_perfmon_process(struct etnaviv_gpu *gpu,
0036 const struct etnaviv_perfmon_request *pmr, u32 exec_state);
0037
0038 #endif