cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

intel_guc_submission.h (1751B)


      1/* SPDX-License-Identifier: MIT */
      2/*
      3 * Copyright © 2014-2019 Intel Corporation
      4 */
      5
      6#ifndef _INTEL_GUC_SUBMISSION_H_
      7#define _INTEL_GUC_SUBMISSION_H_
      8
      9#include <linux/types.h>
     10
     11#include "intel_guc.h"
     12
     13struct drm_printer;
     14struct intel_engine_cs;
     15
     16void intel_guc_submission_init_early(struct intel_guc *guc);
     17int intel_guc_submission_init(struct intel_guc *guc);
     18void intel_guc_submission_enable(struct intel_guc *guc);
     19void intel_guc_submission_disable(struct intel_guc *guc);
     20void intel_guc_submission_fini(struct intel_guc *guc);
     21int intel_guc_preempt_work_create(struct intel_guc *guc);
     22void intel_guc_preempt_work_destroy(struct intel_guc *guc);
     23int intel_guc_submission_setup(struct intel_engine_cs *engine);
     24void intel_guc_submission_print_info(struct intel_guc *guc,
     25				     struct drm_printer *p);
     26void intel_guc_submission_print_context_info(struct intel_guc *guc,
     27					     struct drm_printer *p);
     28void intel_guc_dump_active_requests(struct intel_engine_cs *engine,
     29				    struct i915_request *hung_rq,
     30				    struct drm_printer *m);
     31void intel_guc_busyness_park(struct intel_gt *gt);
     32void intel_guc_busyness_unpark(struct intel_gt *gt);
     33
     34bool intel_guc_virtual_engine_has_heartbeat(const struct intel_engine_cs *ve);
     35
     36int intel_guc_wait_for_pending_msg(struct intel_guc *guc,
     37				   atomic_t *wait_var,
     38				   bool interruptible,
     39				   long timeout);
     40
     41static inline bool intel_guc_submission_is_supported(struct intel_guc *guc)
     42{
     43	return guc->submission_supported;
     44}
     45
     46static inline bool intel_guc_submission_is_wanted(struct intel_guc *guc)
     47{
     48	return guc->submission_selected;
     49}
     50
     51static inline bool intel_guc_submission_is_used(struct intel_guc *guc)
     52{
     53	return intel_guc_is_used(guc) && intel_guc_submission_is_wanted(guc);
     54}
     55
     56#endif