brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · c352c12 Raw
61 lines · c
1/* SPDX-License-Identifier: MIT2 *3 * Copyright © 2019 Intel Corporation4 */5 6#ifndef _INTEL_DSB_H7#define _INTEL_DSB_H8 9#include <linux/types.h>10 11#include "i915_reg_defs.h"12 13struct intel_atomic_state;14struct intel_crtc;15struct intel_crtc_state;16struct intel_display;17struct intel_dsb;18 19enum pipe;20 21enum intel_dsb_id {22	INTEL_DSB_0,23	INTEL_DSB_1,24	INTEL_DSB_2,25 26	I915_MAX_DSBS,27};28 29struct intel_dsb *intel_dsb_prepare(struct intel_atomic_state *state,30				    struct intel_crtc *crtc,31				    enum intel_dsb_id dsb_id,32				    unsigned int max_cmds);33void intel_dsb_finish(struct intel_dsb *dsb);34void intel_dsb_cleanup(struct intel_dsb *dsb);35void intel_dsb_reg_write(struct intel_dsb *dsb,36			 i915_reg_t reg, u32 val);37void intel_dsb_reg_write_masked(struct intel_dsb *dsb,38				i915_reg_t reg, u32 mask, u32 val);39void intel_dsb_noop(struct intel_dsb *dsb, int count);40void intel_dsb_nonpost_start(struct intel_dsb *dsb);41void intel_dsb_nonpost_end(struct intel_dsb *dsb);42void intel_dsb_wait_scanline_in(struct intel_atomic_state *state,43				struct intel_dsb *dsb,44				int lower, int upper);45void intel_dsb_wait_scanline_out(struct intel_atomic_state *state,46				 struct intel_dsb *dsb,47				 int lower, int upper);48void intel_dsb_chain(struct intel_atomic_state *state,49		     struct intel_dsb *dsb,50		     struct intel_dsb *chained_dsb,51		     bool wait_for_vblank);52 53void intel_dsb_commit(struct intel_dsb *dsb,54		      bool wait_for_vblank);55void intel_dsb_wait(struct intel_dsb *dsb);56 57void intel_dsb_irq_handler(struct intel_display *display,58			   enum pipe pipe, enum intel_dsb_id dsb_id);59 60#endif61