13ea58029SMichal Wajdeczko /* SPDX-License-Identifier: MIT */ 20f261b24SDaniele Ceraolo Spurio /* 33ea58029SMichal Wajdeczko * Copyright © 2014-2019 Intel Corporation 40f261b24SDaniele Ceraolo Spurio */ 50f261b24SDaniele Ceraolo Spurio 60f261b24SDaniele Ceraolo Spurio #ifndef _INTEL_GUC_ADS_H_ 70f261b24SDaniele Ceraolo Spurio #define _INTEL_GUC_ADS_H_ 80f261b24SDaniele Ceraolo Spurio 977cdd054SUmesh Nerlige Ramappa #include <linux/types.h> 10*4801b995SLucas De Marchi #include <linux/iosys-map.h> 1177cdd054SUmesh Nerlige Ramappa 120f261b24SDaniele Ceraolo Spurio struct intel_guc; 13731c2ad5SJohn Harrison struct drm_printer; 1477cdd054SUmesh Nerlige Ramappa struct intel_engine_cs; 150f261b24SDaniele Ceraolo Spurio 160f261b24SDaniele Ceraolo Spurio int intel_guc_ads_create(struct intel_guc *guc); 170f261b24SDaniele Ceraolo Spurio void intel_guc_ads_destroy(struct intel_guc *guc); 18481d458cSJohn Harrison void intel_guc_ads_init_late(struct intel_guc *guc); 190f261b24SDaniele Ceraolo Spurio void intel_guc_ads_reset(struct intel_guc *guc); 20731c2ad5SJohn Harrison void intel_guc_ads_print_policy_info(struct intel_guc *guc, 21731c2ad5SJohn Harrison struct drm_printer *p); 22*4801b995SLucas De Marchi struct iosys_map intel_guc_engine_usage_record_map(struct intel_engine_cs *engine); 2377cdd054SUmesh Nerlige Ramappa u32 intel_guc_engine_usage_offset(struct intel_guc *guc); 240f261b24SDaniele Ceraolo Spurio 250f261b24SDaniele Ceraolo Spurio #endif 26