2018-04-10 19:12:46 +03:00
|
|
|
/*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
* Copyright © 2014-2018 Intel Corporation
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _I915_WORKAROUNDS_H_
|
|
|
|
#define _I915_WORKAROUNDS_H_
|
|
|
|
|
2018-12-03 16:33:19 +03:00
|
|
|
#include <linux/slab.h>
|
|
|
|
|
2019-03-08 16:25:17 +03:00
|
|
|
#include "intel_workarounds_types.h"
|
2018-12-03 16:33:19 +03:00
|
|
|
|
|
|
|
static inline void intel_wa_list_free(struct i915_wa_list *wal)
|
|
|
|
{
|
|
|
|
kfree(wal->list);
|
|
|
|
memset(wal, 0, sizeof(*wal));
|
|
|
|
}
|
|
|
|
|
2018-12-03 16:33:57 +03:00
|
|
|
void intel_engine_init_ctx_wa(struct intel_engine_cs *engine);
|
|
|
|
int intel_engine_emit_ctx_wa(struct i915_request *rq);
|
2018-04-10 19:12:47 +03:00
|
|
|
|
2019-04-12 23:24:57 +03:00
|
|
|
void intel_gt_init_workarounds(struct drm_i915_private *i915);
|
|
|
|
void intel_gt_apply_workarounds(struct drm_i915_private *i915);
|
|
|
|
bool intel_gt_verify_workarounds(struct drm_i915_private *i915,
|
2018-12-03 15:50:10 +03:00
|
|
|
const char *from);
|
2018-04-10 19:12:47 +03:00
|
|
|
|
2018-12-03 15:50:12 +03:00
|
|
|
void intel_engine_init_whitelist(struct intel_engine_cs *engine);
|
|
|
|
void intel_engine_apply_whitelist(struct intel_engine_cs *engine);
|
2018-04-10 19:12:46 +03:00
|
|
|
|
2018-12-03 16:33:41 +03:00
|
|
|
void intel_engine_init_workarounds(struct intel_engine_cs *engine);
|
|
|
|
void intel_engine_apply_workarounds(struct intel_engine_cs *engine);
|
|
|
|
|
2018-04-10 19:12:46 +03:00
|
|
|
#endif
|