brintos

brintos / linux-shallow public Read only

0
0
Text · 1.8 KiB · b6df756 Raw
59 lines · c
1/* SPDX-License-Identifier: MIT */2/*3 * Copyright © 2014-2019 Intel Corporation4 */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);18int 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 41void intel_guc_submission_flush_work(struct intel_guc *guc);42 43static inline bool intel_guc_submission_is_supported(struct intel_guc *guc)44{45	return guc->submission_supported;46}47 48static inline bool intel_guc_submission_is_wanted(struct intel_guc *guc)49{50	return guc->submission_selected;51}52 53static inline bool intel_guc_submission_is_used(struct intel_guc *guc)54{55	return intel_guc_is_used(guc) && intel_guc_submission_is_wanted(guc);56}57 58#endif59