drm/i915: Introduce device info port_mask
Declare the available DVO/SDVO/HDMI/DP/DDI ports in the device info. The other outputs (LVDS/TV/DSI/VGA) are left out since for most of them we don't consider them as "ports". DSI we should probably perhaps include somehow in the device info. Just not sure how. Or we just introduce a HAS_DSI() and call it a day? TODO: figure out what to do about the subplatform stuff. Would it be better to declare those directly with a different device info or not? Also not sure the icl port-f stuff matters even. Bspec claims there are icl SKUs with far less ports than that and we don't seem to check for those either? v2: Fix TC5 vs. TC6 mixup on TGL (Jani) Drop DDI C for now on TGL, and add a FIXME (Jani) Reviewed-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230616140820.11726-3-ville.syrjala@linux.intel.com
This commit is contained in:
parent
7142ec2e93
commit
2798e4d1cc
@ -187,10 +187,6 @@ static const struct intel_display_device_info no_display = {};
|
||||
.__runtime_defaults.cpu_transcoder_mask = \
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
|
||||
|
||||
static const struct intel_display_device_info i830_display = {
|
||||
I830_DISPLAY,
|
||||
};
|
||||
|
||||
#define I845_DISPLAY \
|
||||
.has_overlay = 1, \
|
||||
.overlay_needs_physical = 1, \
|
||||
@ -203,19 +199,29 @@ static const struct intel_display_device_info i830_display = {
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A), \
|
||||
.__runtime_defaults.cpu_transcoder_mask = BIT(TRANSCODER_A)
|
||||
|
||||
static const struct intel_display_device_info i830_display = {
|
||||
I830_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C), /* DVO A/B/C */
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info i845_display = {
|
||||
I845_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C), /* DVO B/C */
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info i85x_display = {
|
||||
I830_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C), /* DVO B/C */
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info i865g_display = {
|
||||
I845_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C), /* DVO B/C */
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
@ -228,7 +234,8 @@ static const struct intel_display_device_info i865g_display = {
|
||||
.__runtime_defaults.ip.ver = 3, \
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
|
||||
.__runtime_defaults.cpu_transcoder_mask = \
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C) /* SDVO B/C */
|
||||
|
||||
static const struct intel_display_device_info i915g_display = {
|
||||
GEN3_DISPLAY,
|
||||
@ -293,6 +300,8 @@ static const struct intel_display_device_info pnv_display = {
|
||||
static const struct intel_display_device_info i965g_display = {
|
||||
GEN4_DISPLAY,
|
||||
.has_overlay = 1,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C), /* SDVO B/C */
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info i965gm_display = {
|
||||
@ -300,17 +309,21 @@ static const struct intel_display_device_info i965gm_display = {
|
||||
.has_overlay = 1,
|
||||
.supports_tv = 1,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C), /* SDVO B/C */
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info g45_display = {
|
||||
GEN4_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D), /* SDVO/HDMI/DP B/C, DP D */
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info gm45_display = {
|
||||
GEN4_DISPLAY,
|
||||
.supports_tv = 1,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D), /* SDVO/HDMI/DP B/C, DP D */
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
@ -323,7 +336,8 @@ static const struct intel_display_device_info gm45_display = {
|
||||
.__runtime_defaults.ip.ver = 5, \
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B), \
|
||||
.__runtime_defaults.cpu_transcoder_mask = \
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B)
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B), \
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D) /* DP A, SDVO/HDMI/DP B, HDMI/DP C/D */
|
||||
|
||||
static const struct intel_display_device_info ilk_d_display = {
|
||||
ILK_DISPLAY,
|
||||
@ -345,6 +359,7 @@ static const struct intel_display_device_info snb_display = {
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D), /* DP A, SDVO/HDMI/DP B, HDMI/DP C/D */
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
@ -358,6 +373,7 @@ static const struct intel_display_device_info ivb_display = {
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D), /* DP A, SDVO/HDMI/DP B, HDMI/DP C/D */
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
@ -373,6 +389,7 @@ static const struct intel_display_device_info vlv_display = {
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B),
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C), /* HDMI/DP B/C */
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info hsw_display = {
|
||||
@ -391,6 +408,7 @@ static const struct intel_display_device_info hsw_display = {
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D) | BIT(PORT_E),
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
@ -410,6 +428,7 @@ static const struct intel_display_device_info bdw_display = {
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D) | BIT(PORT_E),
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
@ -425,6 +444,7 @@ static const struct intel_display_device_info chv_display = {
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D), /* HDMI/DP B/C/D */
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info skl_display = {
|
||||
@ -448,6 +468,7 @@ static const struct intel_display_device_info skl_display = {
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D) | BIT(PORT_E),
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
};
|
||||
|
||||
@ -471,7 +492,8 @@ static const struct intel_display_device_info skl_display = {
|
||||
.__runtime_defaults.cpu_transcoder_mask = \
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
|
||||
BIT(TRANSCODER_DSI_A) | BIT(TRANSCODER_DSI_C)
|
||||
BIT(TRANSCODER_DSI_A) | BIT(TRANSCODER_DSI_C), \
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C)
|
||||
|
||||
static const struct intel_display_device_info bxt_display = {
|
||||
GEN9_LP_DISPLAY,
|
||||
@ -488,46 +510,57 @@ static const struct intel_display_device_info glk_display = {
|
||||
.__runtime_defaults.ip.ver = 10,
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info gen11_display = {
|
||||
.abox_mask = BIT(0),
|
||||
.dbuf.size = 2048,
|
||||
.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2),
|
||||
.has_ddi = 1,
|
||||
.has_dp_mst = 1,
|
||||
.has_fpga_dbg = 1,
|
||||
.has_hotplug = 1,
|
||||
.has_ipc = 1,
|
||||
.has_psr = 1,
|
||||
.has_psr_hw_tracking = 1,
|
||||
.pipe_offsets = {
|
||||
[TRANSCODER_A] = PIPE_A_OFFSET,
|
||||
[TRANSCODER_B] = PIPE_B_OFFSET,
|
||||
[TRANSCODER_C] = PIPE_C_OFFSET,
|
||||
[TRANSCODER_EDP] = PIPE_EDP_OFFSET,
|
||||
[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET,
|
||||
[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET,
|
||||
},
|
||||
.trans_offsets = {
|
||||
[TRANSCODER_A] = TRANSCODER_A_OFFSET,
|
||||
[TRANSCODER_B] = TRANSCODER_B_OFFSET,
|
||||
[TRANSCODER_C] = TRANSCODER_C_OFFSET,
|
||||
[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET,
|
||||
[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET,
|
||||
[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET,
|
||||
},
|
||||
IVB_CURSOR_OFFSETS,
|
||||
ICL_COLORS,
|
||||
#define ICL_DISPLAY \
|
||||
.abox_mask = BIT(0), \
|
||||
.dbuf.size = 2048, \
|
||||
.dbuf.slice_mask = BIT(DBUF_S1) | BIT(DBUF_S2), \
|
||||
.has_ddi = 1, \
|
||||
.has_dp_mst = 1, \
|
||||
.has_fpga_dbg = 1, \
|
||||
.has_hotplug = 1, \
|
||||
.has_ipc = 1, \
|
||||
.has_psr = 1, \
|
||||
.has_psr_hw_tracking = 1, \
|
||||
.pipe_offsets = { \
|
||||
[TRANSCODER_A] = PIPE_A_OFFSET, \
|
||||
[TRANSCODER_B] = PIPE_B_OFFSET, \
|
||||
[TRANSCODER_C] = PIPE_C_OFFSET, \
|
||||
[TRANSCODER_EDP] = PIPE_EDP_OFFSET, \
|
||||
[TRANSCODER_DSI_0] = PIPE_DSI0_OFFSET, \
|
||||
[TRANSCODER_DSI_1] = PIPE_DSI1_OFFSET, \
|
||||
}, \
|
||||
.trans_offsets = { \
|
||||
[TRANSCODER_A] = TRANSCODER_A_OFFSET, \
|
||||
[TRANSCODER_B] = TRANSCODER_B_OFFSET, \
|
||||
[TRANSCODER_C] = TRANSCODER_C_OFFSET, \
|
||||
[TRANSCODER_EDP] = TRANSCODER_EDP_OFFSET, \
|
||||
[TRANSCODER_DSI_0] = TRANSCODER_DSI0_OFFSET, \
|
||||
[TRANSCODER_DSI_1] = TRANSCODER_DSI1_OFFSET, \
|
||||
}, \
|
||||
IVB_CURSOR_OFFSETS, \
|
||||
ICL_COLORS, \
|
||||
\
|
||||
.__runtime_defaults.ip.ver = 11, \
|
||||
.__runtime_defaults.has_dmc = 1, \
|
||||
.__runtime_defaults.has_dsc = 1, \
|
||||
.__runtime_defaults.has_hdcp = 1, \
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C), \
|
||||
.__runtime_defaults.cpu_transcoder_mask = \
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | \
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) | \
|
||||
BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1), \
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A)
|
||||
|
||||
.__runtime_defaults.ip.ver = 11,
|
||||
.__runtime_defaults.has_dmc = 1,
|
||||
.__runtime_defaults.has_dsc = 1,
|
||||
.__runtime_defaults.has_hdcp = 1,
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_EDP) |
|
||||
BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
|
||||
.__runtime_defaults.fbc_mask = BIT(INTEL_FBC_A),
|
||||
static const struct intel_display_device_info icl_display = {
|
||||
ICL_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D) | BIT(PORT_E),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info jsl_ehl_display = {
|
||||
ICL_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D),
|
||||
};
|
||||
|
||||
#define XE_D_DISPLAY \
|
||||
@ -575,6 +608,20 @@ static const struct intel_display_device_info gen11_display = {
|
||||
|
||||
static const struct intel_display_device_info tgl_display = {
|
||||
XE_D_DISPLAY,
|
||||
|
||||
/*
|
||||
* FIXME DDI C/combo PHY C missing due to combo PHY
|
||||
* code making a mess on SKUs where the PHY is missing.
|
||||
*/
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) |
|
||||
BIT(PORT_TC1) | BIT(PORT_TC2) | BIT(PORT_TC3) | BIT(PORT_TC4) | BIT(PORT_TC5) | BIT(PORT_TC6),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info dg1_display = {
|
||||
XE_D_DISPLAY,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) |
|
||||
BIT(PORT_TC1) | BIT(PORT_TC2),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info rkl_display = {
|
||||
@ -586,12 +633,17 @@ static const struct intel_display_device_info rkl_display = {
|
||||
.__runtime_defaults.pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C),
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) | BIT(TRANSCODER_C),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) |
|
||||
BIT(PORT_TC1) | BIT(PORT_TC2),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info adl_s_display = {
|
||||
XE_D_DISPLAY,
|
||||
.has_hti = 1,
|
||||
.has_psr_hw_tracking = 0,
|
||||
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) |
|
||||
BIT(PORT_TC1) | BIT(PORT_TC2) | BIT(PORT_TC3) | BIT(PORT_TC4),
|
||||
};
|
||||
|
||||
#define XE_LPD_FEATURES \
|
||||
@ -646,6 +698,8 @@ static const struct intel_display_device_info xe_lpd_display = {
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_D) |
|
||||
BIT(TRANSCODER_DSI_0) | BIT(TRANSCODER_DSI_1),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) |
|
||||
BIT(PORT_TC1) | BIT(PORT_TC2) | BIT(PORT_TC3) | BIT(PORT_TC4),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info xe_hpd_display = {
|
||||
@ -655,6 +709,8 @@ static const struct intel_display_device_info xe_hpd_display = {
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) | BIT(PORT_D_XELPD) |
|
||||
BIT(PORT_TC1),
|
||||
};
|
||||
|
||||
static const struct intel_display_device_info xe_lpdp_display = {
|
||||
@ -667,6 +723,8 @@ static const struct intel_display_device_info xe_lpdp_display = {
|
||||
.__runtime_defaults.cpu_transcoder_mask =
|
||||
BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
|
||||
BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
|
||||
.__runtime_defaults.port_mask = BIT(PORT_A) | BIT(PORT_B) |
|
||||
BIT(PORT_TC1) | BIT(PORT_TC2) | BIT(PORT_TC3) | BIT(PORT_TC4),
|
||||
};
|
||||
|
||||
__diag_pop();
|
||||
@ -711,11 +769,11 @@ static const struct {
|
||||
INTEL_GLK_IDS(&glk_display),
|
||||
INTEL_KBL_IDS(&skl_display),
|
||||
INTEL_CFL_IDS(&skl_display),
|
||||
INTEL_ICL_11_IDS(&gen11_display),
|
||||
INTEL_EHL_IDS(&gen11_display),
|
||||
INTEL_JSL_IDS(&gen11_display),
|
||||
INTEL_ICL_11_IDS(&icl_display),
|
||||
INTEL_EHL_IDS(&jsl_ehl_display),
|
||||
INTEL_JSL_IDS(&jsl_ehl_display),
|
||||
INTEL_TGL_12_IDS(&tgl_display),
|
||||
INTEL_DG1_IDS(&tgl_display),
|
||||
INTEL_DG1_IDS(&dg1_display),
|
||||
INTEL_RKL_IDS(&rkl_display),
|
||||
INTEL_ADLS_IDS(&adl_s_display),
|
||||
INTEL_RPLS_IDS(&adl_s_display),
|
||||
|
@ -79,6 +79,7 @@ struct intel_display_runtime_info {
|
||||
|
||||
u8 pipe_mask;
|
||||
u8 cpu_transcoder_mask;
|
||||
u16 port_mask;
|
||||
|
||||
u8 num_sprites[I915_MAX_PIPES];
|
||||
u8 num_scalers[I915_MAX_PIPES];
|
||||
|
@ -260,15 +260,19 @@ static void intel_device_info_subplatform_init(struct drm_i915_private *i915)
|
||||
if (find_devid(devid, subplatform_ult_ids,
|
||||
ARRAY_SIZE(subplatform_ult_ids))) {
|
||||
mask = BIT(INTEL_SUBPLATFORM_ULT);
|
||||
if (IS_HASWELL(i915) || IS_BROADWELL(i915))
|
||||
DISPLAY_RUNTIME_INFO(i915)->port_mask &= ~BIT(PORT_D);
|
||||
} else if (find_devid(devid, subplatform_ulx_ids,
|
||||
ARRAY_SIZE(subplatform_ulx_ids))) {
|
||||
mask = BIT(INTEL_SUBPLATFORM_ULX);
|
||||
if (IS_HASWELL(i915) || IS_BROADWELL(i915)) {
|
||||
/* ULX machines are also considered ULT. */
|
||||
mask |= BIT(INTEL_SUBPLATFORM_ULT);
|
||||
DISPLAY_RUNTIME_INFO(i915)->port_mask &= ~BIT(PORT_D);
|
||||
}
|
||||
} else if (find_devid(devid, subplatform_portf_ids,
|
||||
ARRAY_SIZE(subplatform_portf_ids))) {
|
||||
DISPLAY_RUNTIME_INFO(i915)->port_mask |= BIT(PORT_F);
|
||||
mask = BIT(INTEL_SUBPLATFORM_PORTF);
|
||||
} else if (find_devid(devid, subplatform_uy_ids,
|
||||
ARRAY_SIZE(subplatform_uy_ids))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user