Skip to content

Commit f3e0bc8

Browse files
committed
sub directory display/ was missing for 5.6.19
1 parent f3f7d84 commit f3e0bc8

5 files changed

Lines changed: 38 additions & 20 deletions

File tree

sys/external/bsd/drm2/dist/drm/i915/display/intel_ddi.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2230,7 +2230,11 @@ static void intel_ddi_get_power_domains(struct intel_encoder *encoder,
22302230
return;
22312231

22322232
dig_port = enc_to_dig_port(encoder);
2233-
intel_display_power_get(dev_priv, dig_port->ddi_io_power_domain);
2233+
2234+
if (!intel_phy_is_tc(dev_priv, phy) ||
2235+
dig_port->tc_mode != TC_PORT_TBT_ALT)
2236+
intel_display_power_get(dev_priv,
2237+
dig_port->ddi_io_power_domain);
22342238

22352239
/*
22362240
* AUX power is only needed for (e)DP mode, and for HDMI mode on TC
@@ -3546,9 +3550,6 @@ static void hsw_ddi_pre_enable_dp(struct intel_encoder *encoder,
35463550
intel_dp_set_link_params(intel_dp, crtc_state->port_clock,
35473551
crtc_state->lane_count, is_mst);
35483552

3549-
intel_dp->regs.dp_tp_ctl = DP_TP_CTL(port);
3550-
intel_dp->regs.dp_tp_status = DP_TP_STATUS(port);
3551-
35523553
intel_edp_panel_on(intel_dp);
35533554

35543555
intel_ddi_clk_select(encoder, crtc_state);
@@ -4270,12 +4271,18 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
42704271
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
42714272
struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
42724273
enum transcoder cpu_transcoder = pipe_config->cpu_transcoder;
4274+
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
42734275
u32 temp, flags = 0;
42744276

42754277
/* XXX: DSI transcoder paranoia */
42764278
if (WARN_ON(transcoder_is_dsi(cpu_transcoder)))
42774279
return;
42784280

4281+
if (INTEL_GEN(dev_priv) >= 12) {
4282+
intel_dp->regs.dp_tp_ctl = TGL_DP_TP_CTL(cpu_transcoder);
4283+
intel_dp->regs.dp_tp_status = TGL_DP_TP_STATUS(cpu_transcoder);
4284+
}
4285+
42794286
intel_dsc_get_config(encoder, pipe_config);
42804287

42814288
temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
@@ -4493,6 +4500,7 @@ static const struct drm_encoder_funcs intel_ddi_funcs = {
44934500
static struct intel_connector *
44944501
intel_ddi_init_dp_connector(struct intel_digital_port *intel_dig_port)
44954502
{
4503+
struct drm_i915_private *dev_priv = to_i915(intel_dig_port->base.base.dev);
44964504
struct intel_connector *connector;
44974505
enum port port = intel_dig_port->base.port;
44984506

@@ -4503,6 +4511,10 @@ intel_ddi_init_dp_connector(struct intel_digital_port *intel_dig_port)
45034511
intel_dig_port->dp.output_reg = DDI_BUF_CTL(port);
45044512
intel_dig_port->dp.prepare_link_retrain =
45054513
intel_ddi_prepare_link_retrain;
4514+
if (INTEL_GEN(dev_priv) < 12) {
4515+
intel_dig_port->dp.regs.dp_tp_ctl = DP_TP_CTL(port);
4516+
intel_dig_port->dp.regs.dp_tp_status = DP_TP_STATUS(port);
4517+
}
45064518

45074519
if (!intel_dp_init_connector(intel_dig_port, connector)) {
45084520
kfree(connector);

sys/external/bsd/drm2/dist/drm/i915/display/intel_display_power.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4081,7 +4081,7 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
40814081
{
40824082
.name = "AUX D TBT1",
40834083
.domains = TGL_AUX_D_TBT1_IO_POWER_DOMAINS,
4084-
.ops = &hsw_power_well_ops,
4084+
.ops = &icl_tc_phy_aux_power_well_ops,
40854085
.id = DISP_PW_ID_NONE,
40864086
{
40874087
.hsw.regs = &icl_aux_power_well_regs,
@@ -4092,7 +4092,7 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
40924092
{
40934093
.name = "AUX E TBT2",
40944094
.domains = TGL_AUX_E_TBT2_IO_POWER_DOMAINS,
4095-
.ops = &hsw_power_well_ops,
4095+
.ops = &icl_tc_phy_aux_power_well_ops,
40964096
.id = DISP_PW_ID_NONE,
40974097
{
40984098
.hsw.regs = &icl_aux_power_well_regs,
@@ -4103,7 +4103,7 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
41034103
{
41044104
.name = "AUX F TBT3",
41054105
.domains = TGL_AUX_F_TBT3_IO_POWER_DOMAINS,
4106-
.ops = &hsw_power_well_ops,
4106+
.ops = &icl_tc_phy_aux_power_well_ops,
41074107
.id = DISP_PW_ID_NONE,
41084108
{
41094109
.hsw.regs = &icl_aux_power_well_regs,
@@ -4114,7 +4114,7 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
41144114
{
41154115
.name = "AUX G TBT4",
41164116
.domains = TGL_AUX_G_TBT4_IO_POWER_DOMAINS,
4117-
.ops = &hsw_power_well_ops,
4117+
.ops = &icl_tc_phy_aux_power_well_ops,
41184118
.id = DISP_PW_ID_NONE,
41194119
{
41204120
.hsw.regs = &icl_aux_power_well_regs,
@@ -4125,7 +4125,7 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
41254125
{
41264126
.name = "AUX H TBT5",
41274127
.domains = TGL_AUX_H_TBT5_IO_POWER_DOMAINS,
4128-
.ops = &hsw_power_well_ops,
4128+
.ops = &icl_tc_phy_aux_power_well_ops,
41294129
.id = DISP_PW_ID_NONE,
41304130
{
41314131
.hsw.regs = &icl_aux_power_well_regs,
@@ -4136,7 +4136,7 @@ static const struct i915_power_well_desc tgl_power_wells[] = {
41364136
{
41374137
.name = "AUX I TBT6",
41384138
.domains = TGL_AUX_I_TBT6_IO_POWER_DOMAINS,
4139-
.ops = &hsw_power_well_ops,
4139+
.ops = &icl_tc_phy_aux_power_well_ops,
41404140
.id = DISP_PW_ID_NONE,
41414141
{
41424142
.hsw.regs = &icl_aux_power_well_regs,

sys/external/bsd/drm2/dist/drm/i915/display/intel_dp.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/* $NetBSD: intel_dp.c,v 1.7 2021/12/19 12:41:54 riastradh Exp $ */
2+
.ops = &icl_tc_phy_aux_power_well_ops,
23

34
/*
45
* Copyright © 2008 Intel Corporation
@@ -2519,9 +2520,6 @@ static void intel_dp_prepare(struct intel_encoder *encoder,
25192520
intel_crtc_has_type(pipe_config,
25202521
INTEL_OUTPUT_DP_MST));
25212522

2522-
intel_dp->regs.dp_tp_ctl = DP_TP_CTL(port);
2523-
intel_dp->regs.dp_tp_status = DP_TP_STATUS(port);
2524-
25252523
/*
25262524
* There are four kinds of DP registers:
25272525
*
@@ -7651,6 +7649,8 @@ bool intel_dp_init(struct drm_i915_private *dev_priv,
76517649

76527650
intel_dig_port->dp.output_reg = output_reg;
76537651
intel_dig_port->max_lanes = 4;
7652+
intel_dig_port->dp.regs.dp_tp_ctl = DP_TP_CTL(port);
7653+
intel_dig_port->dp.regs.dp_tp_status = DP_TP_STATUS(port);
76547654

76557655
intel_encoder->type = INTEL_OUTPUT_DP;
76567656
intel_encoder->power_domain = intel_port_to_power_domain(port);

sys/external/bsd/drm2/dist/drm/i915/display/intel_fbc.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -485,8 +485,7 @@ static int intel_fbc_alloc_cfb(struct drm_i915_private *dev_priv,
485485
if (!ret)
486486
goto err_llb;
487487
else if (ret > 1) {
488-
DRM_INFO("Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.\n");
489-
488+
DRM_INFO_ONCE("Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.\n");
490489
}
491490

492491
fbc->threshold = ret;

sys/external/bsd/drm2/dist/drm/i915/display/intel_sprite.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2738,19 +2738,25 @@ static bool skl_plane_format_mod_supported(struct drm_plane *_plane,
27382738
}
27392739
}
27402740

2741-
static bool gen12_plane_supports_mc_ccs(enum plane_id plane_id)
2741+
static bool gen12_plane_supports_mc_ccs(struct drm_i915_private *dev_priv,
2742+
enum plane_id plane_id)
27422743
{
2744+
/* Wa_14010477008:tgl[a0..c0] */
2745+
if (IS_TGL_REVID(dev_priv, TGL_REVID_A0, TGL_REVID_C0))
2746+
return false;
2747+
27432748
return plane_id < PLANE_SPRITE4;
27442749
}
27452750

27462751
static bool gen12_plane_format_mod_supported(struct drm_plane *_plane,
27472752
u32 format, u64 modifier)
27482753
{
2754+
struct drm_i915_private *dev_priv = to_i915(_plane->dev);
27492755
struct intel_plane *plane = to_intel_plane(_plane);
27502756

27512757
switch (modifier) {
27522758
case I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS:
2753-
if (!gen12_plane_supports_mc_ccs(plane->id))
2759+
if (!gen12_plane_supports_mc_ccs(dev_priv, plane->id))
27542760
return false;
27552761
/* fall through */
27562762
case DRM_FORMAT_MOD_LINEAR:
@@ -2919,9 +2925,10 @@ static const u32 *icl_get_plane_formats(struct drm_i915_private *dev_priv,
29192925
}
29202926
}
29212927

2922-
static const u64 *gen12_get_plane_modifiers(enum plane_id plane_id)
2928+
static const u64 *gen12_get_plane_modifiers(struct drm_i915_private *dev_priv,
2929+
enum plane_id plane_id)
29232930
{
2924-
if (gen12_plane_supports_mc_ccs(plane_id))
2931+
if (gen12_plane_supports_mc_ccs(dev_priv, plane_id))
29252932
return gen12_plane_format_modifiers_mc_ccs;
29262933
else
29272934
return gen12_plane_format_modifiers_rc_ccs;
@@ -2992,7 +2999,7 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
29922999

29933000
plane->has_ccs = skl_plane_has_ccs(dev_priv, pipe, plane_id);
29943001
if (INTEL_GEN(dev_priv) >= 12) {
2995-
modifiers = gen12_get_plane_modifiers(plane_id);
3002+
modifiers = gen12_get_plane_modifiers(dev_priv, plane_id);
29963003
plane_funcs = &gen12_plane_funcs;
29973004
} else {
29983005
if (plane->has_ccs)

0 commit comments

Comments
 (0)