OSDN Git Service

Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next...
[uclinux-h8/linux.git] / drivers / gpu / drm / i915 / intel_workarounds.h
1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright © 2014-2018 Intel Corporation
5  */
6
7 #ifndef _I915_WORKAROUNDS_H_
8 #define _I915_WORKAROUNDS_H_
9
10 #include <linux/slab.h>
11
12 struct i915_wa {
13         i915_reg_t        reg;
14         u32               mask;
15         u32               val;
16 };
17
18 struct i915_wa_list {
19         const char      *name;
20         struct i915_wa  *list;
21         unsigned int    count;
22 };
23
24 static inline void intel_wa_list_free(struct i915_wa_list *wal)
25 {
26         kfree(wal->list);
27         memset(wal, 0, sizeof(*wal));
28 }
29
30 int intel_ctx_workarounds_init(struct drm_i915_private *dev_priv);
31 int intel_ctx_workarounds_emit(struct i915_request *rq);
32
33 void intel_gt_init_workarounds(struct drm_i915_private *dev_priv);
34 void intel_gt_apply_workarounds(struct drm_i915_private *dev_priv);
35
36 void intel_whitelist_workarounds_apply(struct intel_engine_cs *engine);
37
38 void intel_engine_init_workarounds(struct intel_engine_cs *engine);
39 void intel_engine_apply_workarounds(struct intel_engine_cs *engine);
40
41 #endif