1 /* SPDX-License-Identifier: MIT */
3 * Copyright © 2022 Intel Corporation
6 #ifndef __INTEL_DISPLAY_LIMITS_H__
7 #define __INTEL_DISPLAY_LIMITS_H__
10 * Keep the pipe enum values fixed: the code assumes that PIPE_A=0, the
11 * rest have consecutive values and match the enum values of transcoders
12 * with a 1:1 transcoder -> pipe mapping.
23 I915_MAX_PIPES = _PIPE_EDP
27 INVALID_TRANSCODER = -1,
29 * The following transcoders have a 1:1 transcoder -> pipe mapping,
30 * keep their values fixed: the code assumes that TRANSCODER_A=0, the
31 * rest have consecutive values and match the enum values of the pipes
34 TRANSCODER_A = PIPE_A,
35 TRANSCODER_B = PIPE_B,
36 TRANSCODER_C = PIPE_C,
37 TRANSCODER_D = PIPE_D,
40 * The following transcoders can map to any pipe, their enum value
41 * doesn't need to stay fixed.
46 TRANSCODER_DSI_A = TRANSCODER_DSI_0, /* legacy DSI */
47 TRANSCODER_DSI_C = TRANSCODER_DSI_1, /* legacy DSI */
53 * Global legacy plane identifier. Valid only for primary/sprite
54 * planes on pre-g4x, and only for primary planes on g4x-bdw.
63 * Per-pipe plane identifier.
64 * I915_MAX_PLANES in the enum below is the maximum (across all platforms)
65 * number of planes per CRTC. Not all platforms really have this many planes,
66 * which means some arrays of size I915_MAX_PLANES may have unused entries
67 * between the topmost sprite plane and the cursor plane.
69 * This is expected to be passed to various register macros
70 * (eg. PLANE_CTL(), PS_PLANE_SEL(), etc.) so adjust with care.
73 /* skl+ universal plane names */
86 /* pre-skl plane names */
87 PLANE_PRIMARY = PLANE_1,
113 /* XE_LPD repositions D/E offsets and bitfields */
114 PORT_D_XELPD = PORT_TC5,
122 HPD_TV = HPD_NONE, /* TV is known to be unreliable */
141 #endif /* __INTEL_DISPLAY_LIMITS_H__ */