cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

intel_dsb.h (1084B)


      1/* SPDX-License-Identifier: MIT
      2 *
      3 * Copyright © 2019 Intel Corporation
      4 */
      5
      6#ifndef _INTEL_DSB_H
      7#define _INTEL_DSB_H
      8
      9#include <linux/types.h>
     10
     11#include "i915_reg_defs.h"
     12
     13struct intel_crtc_state;
     14struct i915_vma;
     15
     16enum dsb_id {
     17	INVALID_DSB = -1,
     18	DSB1,
     19	DSB2,
     20	DSB3,
     21	MAX_DSB_PER_PIPE
     22};
     23
     24struct intel_dsb {
     25	enum dsb_id id;
     26	u32 *cmd_buf;
     27	struct i915_vma *vma;
     28
     29	/*
     30	 * free_pos will point the first free entry position
     31	 * and help in calculating tail of command buffer.
     32	 */
     33	int free_pos;
     34
     35	/*
     36	 * ins_start_offset will help to store start address of the dsb
     37	 * instuction and help in identifying the batch of auto-increment
     38	 * register.
     39	 */
     40	u32 ins_start_offset;
     41};
     42
     43void intel_dsb_prepare(struct intel_crtc_state *crtc_state);
     44void intel_dsb_cleanup(struct intel_crtc_state *crtc_state);
     45void intel_dsb_reg_write(const struct intel_crtc_state *crtc_state,
     46			 i915_reg_t reg, u32 val);
     47void intel_dsb_indexed_reg_write(const struct intel_crtc_state *crtc_state,
     48				 i915_reg_t reg, u32 val);
     49void intel_dsb_commit(const struct intel_crtc_state *crtc_state);
     50
     51#endif