mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Move enum i9xx_plane_id from intel_display.h to intel_display_limits.h to be able to reduce dependencies on intel_display.h. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1e8f9768f2d638dfa1fc72f80f0d7391c4a48bbb.1726235647.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
		
			
				
	
	
		
			141 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: MIT */
 | 
						|
/*
 | 
						|
 * Copyright © 2022 Intel Corporation
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __INTEL_DISPLAY_LIMITS_H__
 | 
						|
#define __INTEL_DISPLAY_LIMITS_H__
 | 
						|
 | 
						|
/*
 | 
						|
 * Keep the pipe enum values fixed: the code assumes that PIPE_A=0, the
 | 
						|
 * rest have consecutive values and match the enum values of transcoders
 | 
						|
 * with a 1:1 transcoder -> pipe mapping.
 | 
						|
 */
 | 
						|
enum pipe {
 | 
						|
	INVALID_PIPE = -1,
 | 
						|
 | 
						|
	PIPE_A = 0,
 | 
						|
	PIPE_B,
 | 
						|
	PIPE_C,
 | 
						|
	PIPE_D,
 | 
						|
	_PIPE_EDP,
 | 
						|
 | 
						|
	I915_MAX_PIPES = _PIPE_EDP
 | 
						|
};
 | 
						|
 | 
						|
enum transcoder {
 | 
						|
	INVALID_TRANSCODER = -1,
 | 
						|
	/*
 | 
						|
	 * The following transcoders have a 1:1 transcoder -> pipe mapping,
 | 
						|
	 * keep their values fixed: the code assumes that TRANSCODER_A=0, the
 | 
						|
	 * rest have consecutive values and match the enum values of the pipes
 | 
						|
	 * they map to.
 | 
						|
	 */
 | 
						|
	TRANSCODER_A = PIPE_A,
 | 
						|
	TRANSCODER_B = PIPE_B,
 | 
						|
	TRANSCODER_C = PIPE_C,
 | 
						|
	TRANSCODER_D = PIPE_D,
 | 
						|
 | 
						|
	/*
 | 
						|
	 * The following transcoders can map to any pipe, their enum value
 | 
						|
	 * doesn't need to stay fixed.
 | 
						|
	 */
 | 
						|
	TRANSCODER_EDP,
 | 
						|
	TRANSCODER_DSI_0,
 | 
						|
	TRANSCODER_DSI_1,
 | 
						|
	TRANSCODER_DSI_A = TRANSCODER_DSI_0,	/* legacy DSI */
 | 
						|
	TRANSCODER_DSI_C = TRANSCODER_DSI_1,	/* legacy DSI */
 | 
						|
 | 
						|
	I915_MAX_TRANSCODERS
 | 
						|
};
 | 
						|
 | 
						|
/*
 | 
						|
 * Global legacy plane identifier. Valid only for primary/sprite
 | 
						|
 * planes on pre-g4x, and only for primary planes on g4x-bdw.
 | 
						|
 */
 | 
						|
enum i9xx_plane_id {
 | 
						|
	PLANE_A,
 | 
						|
	PLANE_B,
 | 
						|
	PLANE_C,
 | 
						|
};
 | 
						|
 | 
						|
/*
 | 
						|
 * Per-pipe plane identifier.
 | 
						|
 * I915_MAX_PLANES in the enum below is the maximum (across all platforms)
 | 
						|
 * number of planes per CRTC.  Not all platforms really have this many planes,
 | 
						|
 * which means some arrays of size I915_MAX_PLANES may have unused entries
 | 
						|
 * between the topmost sprite plane and the cursor plane.
 | 
						|
 *
 | 
						|
 * This is expected to be passed to various register macros
 | 
						|
 * (eg. PLANE_CTL(), PS_PLANE_SEL(), etc.) so adjust with care.
 | 
						|
 */
 | 
						|
enum plane_id {
 | 
						|
	/* skl+ universal plane names */
 | 
						|
	PLANE_1,
 | 
						|
	PLANE_2,
 | 
						|
	PLANE_3,
 | 
						|
	PLANE_4,
 | 
						|
	PLANE_5,
 | 
						|
	PLANE_6,
 | 
						|
	PLANE_7,
 | 
						|
 | 
						|
	PLANE_CURSOR,
 | 
						|
 | 
						|
	I915_MAX_PLANES,
 | 
						|
 | 
						|
	/* pre-skl plane names */
 | 
						|
	PLANE_PRIMARY = PLANE_1,
 | 
						|
	PLANE_SPRITE0,
 | 
						|
	PLANE_SPRITE1,
 | 
						|
};
 | 
						|
 | 
						|
enum port {
 | 
						|
	PORT_NONE = -1,
 | 
						|
 | 
						|
	PORT_A = 0,
 | 
						|
	PORT_B,
 | 
						|
	PORT_C,
 | 
						|
	PORT_D,
 | 
						|
	PORT_E,
 | 
						|
	PORT_F,
 | 
						|
	PORT_G,
 | 
						|
	PORT_H,
 | 
						|
	PORT_I,
 | 
						|
 | 
						|
	/* tgl+ */
 | 
						|
	PORT_TC1 = PORT_D,
 | 
						|
	PORT_TC2,
 | 
						|
	PORT_TC3,
 | 
						|
	PORT_TC4,
 | 
						|
	PORT_TC5,
 | 
						|
	PORT_TC6,
 | 
						|
 | 
						|
	/* XE_LPD repositions D/E offsets and bitfields */
 | 
						|
	PORT_D_XELPD = PORT_TC5,
 | 
						|
	PORT_E_XELPD,
 | 
						|
 | 
						|
	I915_MAX_PORTS
 | 
						|
};
 | 
						|
 | 
						|
enum hpd_pin {
 | 
						|
	HPD_NONE = 0,
 | 
						|
	HPD_TV = HPD_NONE,     /* TV is known to be unreliable */
 | 
						|
	HPD_CRT,
 | 
						|
	HPD_SDVO_B,
 | 
						|
	HPD_SDVO_C,
 | 
						|
	HPD_PORT_A,
 | 
						|
	HPD_PORT_B,
 | 
						|
	HPD_PORT_C,
 | 
						|
	HPD_PORT_D,
 | 
						|
	HPD_PORT_E,
 | 
						|
	HPD_PORT_TC1,
 | 
						|
	HPD_PORT_TC2,
 | 
						|
	HPD_PORT_TC3,
 | 
						|
	HPD_PORT_TC4,
 | 
						|
	HPD_PORT_TC5,
 | 
						|
	HPD_PORT_TC6,
 | 
						|
 | 
						|
	HPD_NUM_PINS
 | 
						|
};
 | 
						|
 | 
						|
#endif /* __INTEL_DISPLAY_LIMITS_H__ */
 |