linux/drivers/gpu/drm/i915/gt/intel_workarounds.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: MIT */
   2/*
   3 * Copyright © 2014-2018 Intel Corporation
   4 */
   5
   6#ifndef _INTEL_WORKAROUNDS_H_
   7#define _INTEL_WORKAROUNDS_H_
   8
   9#include <linux/slab.h>
  10
  11#include "intel_workarounds_types.h"
  12
  13struct drm_i915_private;
  14struct i915_request;
  15struct intel_engine_cs;
  16struct intel_gt;
  17
  18static inline void intel_wa_list_free(struct i915_wa_list *wal)
  19{
  20        kfree(wal->list);
  21        memset(wal, 0, sizeof(*wal));
  22}
  23
  24void intel_engine_init_ctx_wa(struct intel_engine_cs *engine);
  25int intel_engine_emit_ctx_wa(struct i915_request *rq);
  26
  27void intel_gt_init_workarounds(struct drm_i915_private *i915);
  28void intel_gt_apply_workarounds(struct intel_gt *gt);
  29bool intel_gt_verify_workarounds(struct intel_gt *gt, const char *from);
  30
  31void intel_engine_init_whitelist(struct intel_engine_cs *engine);
  32void intel_engine_apply_whitelist(struct intel_engine_cs *engine);
  33
  34void intel_engine_init_workarounds(struct intel_engine_cs *engine);
  35void intel_engine_apply_workarounds(struct intel_engine_cs *engine);
  36int intel_engine_verify_workarounds(struct intel_engine_cs *engine,
  37                                    const char *from);
  38
  39#endif
  40