Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
 1/* SPDX-License-Identifier: MIT */
 2/*
 3 * Copyright © 2014-2019 Intel Corporation
 4 */
 5
 6#ifndef _INTEL_UC_H_
 7#define _INTEL_UC_H_
 8
 9#include "intel_guc.h"
10#include "intel_huc.h"
11#include "i915_params.h"
12
13struct intel_uc {
14	struct intel_guc guc;
15	struct intel_huc huc;
16
17	/* Snapshot of GuC log from last failed load */
18	struct drm_i915_gem_object *load_err_log;
19};
20
21void intel_uc_init_early(struct intel_uc *uc);
22void intel_uc_driver_late_release(struct intel_uc *uc);
23void intel_uc_init_mmio(struct intel_uc *uc);
24void intel_uc_fetch_firmwares(struct intel_uc *uc);
25void intel_uc_cleanup_firmwares(struct intel_uc *uc);
26void intel_uc_sanitize(struct intel_uc *uc);
27void intel_uc_init(struct intel_uc *uc);
28int intel_uc_init_hw(struct intel_uc *uc);
29void intel_uc_fini_hw(struct intel_uc *uc);
30void intel_uc_fini(struct intel_uc *uc);
31void intel_uc_reset_prepare(struct intel_uc *uc);
32void intel_uc_suspend(struct intel_uc *uc);
33void intel_uc_runtime_suspend(struct intel_uc *uc);
34int intel_uc_resume(struct intel_uc *uc);
35int intel_uc_runtime_resume(struct intel_uc *uc);
36
37static inline bool intel_uc_supports_guc(struct intel_uc *uc)
38{
39	return intel_guc_is_supported(&uc->guc);
40}
41
42static inline bool intel_uc_uses_guc(struct intel_uc *uc)
43{
44	return intel_guc_is_enabled(&uc->guc);
45}
46
47static inline bool intel_uc_supports_guc_submission(struct intel_uc *uc)
48{
49	return intel_guc_is_submission_supported(&uc->guc);
50}
51
52static inline bool intel_uc_uses_guc_submission(struct intel_uc *uc)
53{
54	return intel_guc_is_submission_supported(&uc->guc);
55}
56
57static inline bool intel_uc_supports_huc(struct intel_uc *uc)
58{
59	return intel_uc_supports_guc(uc);
60}
61
62static inline bool intel_uc_uses_huc(struct intel_uc *uc)
63{
64	return intel_huc_is_enabled(&uc->huc);
65}
66
67#endif