forked from Minki/linux
39e2f501c1
This complex struct pulling in half the driver deserves its own isolation in preparation for intel_context becoming an outright complicated class of its own. In order to split this beast into its own header also requests splitting several of its dependent types and their dependencies into their own headers as well. v2: Add standalone compilation tests Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190308132522.21573-2-chris@chris-wilson.co.uk
35 lines
954 B
C
35 lines
954 B
C
/*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
* Copyright © 2014-2018 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _I915_WORKAROUNDS_H_
|
|
#define _I915_WORKAROUNDS_H_
|
|
|
|
#include <linux/slab.h>
|
|
|
|
#include "intel_workarounds_types.h"
|
|
|
|
static inline void intel_wa_list_free(struct i915_wa_list *wal)
|
|
{
|
|
kfree(wal->list);
|
|
memset(wal, 0, sizeof(*wal));
|
|
}
|
|
|
|
void intel_engine_init_ctx_wa(struct intel_engine_cs *engine);
|
|
int intel_engine_emit_ctx_wa(struct i915_request *rq);
|
|
|
|
void intel_gt_init_workarounds(struct drm_i915_private *dev_priv);
|
|
void intel_gt_apply_workarounds(struct drm_i915_private *dev_priv);
|
|
bool intel_gt_verify_workarounds(struct drm_i915_private *dev_priv,
|
|
const char *from);
|
|
|
|
void intel_engine_init_whitelist(struct intel_engine_cs *engine);
|
|
void intel_engine_apply_whitelist(struct intel_engine_cs *engine);
|
|
|
|
void intel_engine_init_workarounds(struct intel_engine_cs *engine);
|
|
void intel_engine_apply_workarounds(struct intel_engine_cs *engine);
|
|
|
|
#endif
|