Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright (C) 2017 Etnaviv Project
0004  * Copyright (C) 2017 Zodiac Inflight Innovations
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     /* bo to store a value */
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 /* __ETNAVIV_PERFMON_H__ */