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

sti_mixer.h (1668B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright (C) STMicroelectronics SA 2014
      4 * Authors: Benjamin Gaignard <benjamin.gaignard@st.com>
      5 *          Fabien Dessenne <fabien.dessenne@st.com>
      6 *          for STMicroelectronics.
      7 */
      8
      9#ifndef _STI_MIXER_H_
     10#define _STI_MIXER_H_
     11
     12#include <drm/drm_crtc.h>
     13
     14#include <drm/drm_debugfs.h>
     15#include <drm/drm_file.h>
     16
     17#include "sti_plane.h"
     18
     19struct device;
     20
     21#define to_sti_mixer(x) container_of(x, struct sti_mixer, drm_crtc)
     22
     23enum sti_mixer_status {
     24	STI_MIXER_READY,
     25	STI_MIXER_DISABLING,
     26	STI_MIXER_DISABLED,
     27};
     28
     29/**
     30 * STI Mixer subdevice structure
     31 *
     32 * @dev: driver device
     33 * @regs: mixer registers
     34 * @id: id of the mixer
     35 * @drm_crtc: crtc object link to the mixer
     36 * @status: to know the status of the mixer
     37 */
     38struct sti_mixer {
     39	struct device *dev;
     40	void __iomem *regs;
     41	int id;
     42	struct drm_crtc drm_crtc;
     43	enum sti_mixer_status status;
     44};
     45
     46const char *sti_mixer_to_str(struct sti_mixer *mixer);
     47
     48struct sti_mixer *sti_mixer_create(struct device *dev,
     49				   struct drm_device *drm_dev,
     50				   int id,
     51				   void __iomem *baseaddr);
     52
     53int sti_mixer_set_plane_status(struct sti_mixer *mixer,
     54			       struct sti_plane *plane, bool status);
     55int sti_mixer_set_plane_depth(struct sti_mixer *mixer, struct sti_plane *plane);
     56int sti_mixer_active_video_area(struct sti_mixer *mixer,
     57				struct drm_display_mode *mode);
     58
     59void sti_mixer_set_background_status(struct sti_mixer *mixer, bool enable);
     60
     61void sti_mixer_debugfs_init(struct sti_mixer *mixer, struct drm_minor *minor);
     62
     63/* depth in Cross-bar control = z order */
     64#define GAM_MIXER_NB_DEPTH_LEVEL 6
     65
     66#define STI_MIXER_MAIN 0
     67#define STI_MIXER_AUX  1
     68
     69#endif