Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2)  * Copyright (c) 2016 Intel Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  * Permission to use, copy, modify, distribute, and sell this software and its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * documentation for any purpose is hereby granted without fee, provided that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  * the above copyright notice appear in all copies and that both that copyright
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * notice and this permission notice appear in supporting documentation, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  * that the name of the copyright holders not be used in advertising or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  * publicity pertaining to distribution of the software without specific,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)  * written prior permission.  The copyright holders make no representations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)  * about the suitability of this software for any purpose.  It is provided "as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)  * is" without express or implied warranty.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)  * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)  * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)  * OF THIS SOFTWARE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #ifndef __DRM_BLEND_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define __DRM_BLEND_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #include <linux/list.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #include <linux/ctype.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #include <drm/drm_mode.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define DRM_MODE_BLEND_PREMULTI		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define DRM_MODE_BLEND_COVERAGE		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define DRM_MODE_BLEND_PIXEL_NONE	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) struct drm_device;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) struct drm_atomic_state;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) struct drm_plane;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) static inline bool drm_rotation_90_or_270(unsigned int rotation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	return rotation & (DRM_MODE_ROTATE_90 | DRM_MODE_ROTATE_270);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #define DRM_BLEND_ALPHA_OPAQUE		0xffff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) int drm_plane_create_alpha_property(struct drm_plane *plane);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) int drm_plane_create_rotation_property(struct drm_plane *plane,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 				       unsigned int rotation,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 				       unsigned int supported_rotations);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) unsigned int drm_rotation_simplify(unsigned int rotation,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 				   unsigned int supported_rotations);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) int drm_plane_create_zpos_property(struct drm_plane *plane,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 				   unsigned int zpos,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 				   unsigned int min, unsigned int max);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) int drm_plane_create_zpos_immutable_property(struct drm_plane *plane,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 					     unsigned int zpos);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) int drm_atomic_normalize_zpos(struct drm_device *dev,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 			      struct drm_atomic_state *state);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) int drm_plane_create_blend_mode_property(struct drm_plane *plane,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 					 unsigned int supported_modes);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #endif