1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2020 Intel Corporation 4 */ 5 6 #ifndef _SKL_UNIVERSAL_PLANE_H_ 7 #define _SKL_UNIVERSAL_PLANE_H_ 8 9 #include <linux/types.h> 10 11 struct drm_i915_private; 12 struct intel_crtc; 13 struct intel_initial_plane_config; 14 struct intel_plane_state; 15 16 enum pipe; 17 enum plane_id; 18 19 struct intel_plane * 20 skl_universal_plane_create(struct drm_i915_private *dev_priv, 21 enum pipe pipe, enum plane_id plane_id); 22 23 void skl_get_initial_plane_config(struct intel_crtc *crtc, 24 struct intel_initial_plane_config *plane_config); 25 26 int skl_format_to_fourcc(int format, bool rgb_order, bool alpha); 27 28 int skl_calc_main_surface_offset(const struct intel_plane_state *plane_state, 29 int *x, int *y, u32 *offset); 30 31 bool icl_is_nv12_y_plane(struct drm_i915_private *dev_priv, 32 enum plane_id plane_id); 33 u8 icl_hdr_plane_mask(void); 34 bool icl_is_hdr_plane(struct drm_i915_private *dev_priv, enum plane_id plane_id); 35 36 #endif 37