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

drm_privacy_screen_consumer.h (1983B)


      1/* SPDX-License-Identifier: MIT */
      2/*
      3 * Copyright (C) 2020 Red Hat, Inc.
      4 *
      5 * Authors:
      6 * Hans de Goede <hdegoede@redhat.com>
      7 */
      8
      9#ifndef __DRM_PRIVACY_SCREEN_CONSUMER_H__
     10#define __DRM_PRIVACY_SCREEN_CONSUMER_H__
     11
     12#include <linux/device.h>
     13#include <drm/drm_connector.h>
     14
     15struct drm_privacy_screen;
     16
     17#if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN)
     18struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,
     19						  const char *con_id);
     20void drm_privacy_screen_put(struct drm_privacy_screen *priv);
     21
     22int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,
     23				    enum drm_privacy_screen_status sw_state);
     24void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,
     25				  enum drm_privacy_screen_status *sw_state_ret,
     26				  enum drm_privacy_screen_status *hw_state_ret);
     27
     28int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,
     29					 struct notifier_block *nb);
     30int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,
     31					   struct notifier_block *nb);
     32#else
     33static inline struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,
     34								const char *con_id)
     35{
     36	return ERR_PTR(-ENODEV);
     37}
     38static inline void drm_privacy_screen_put(struct drm_privacy_screen *priv)
     39{
     40}
     41static inline int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,
     42						  enum drm_privacy_screen_status sw_state)
     43{
     44	return -ENODEV;
     45}
     46static inline void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,
     47						enum drm_privacy_screen_status *sw_state_ret,
     48						enum drm_privacy_screen_status *hw_state_ret)
     49{
     50	*sw_state_ret = PRIVACY_SCREEN_DISABLED;
     51	*hw_state_ret = PRIVACY_SCREEN_DISABLED;
     52}
     53static inline int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,
     54						       struct notifier_block *nb)
     55{
     56	return -ENODEV;
     57}
     58static inline int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,
     59							 struct notifier_block *nb)
     60{
     61	return -ENODEV;
     62}
     63#endif
     64
     65#endif