Skip to content

Commit 4695a9c

Browse files
committed
Merge tag 'drm-intel-next-2025-01-07' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next
Driver Changes: - Some DG2 refactor to fix DG2 bugs when operating with certain CPUs (Raag) - Use hw support for min/interim ddb allocation for async flip (Vinod) - More general code refactor to allow full display separation (Jani) - Expose dsc sink max slice count via debugfs (Swati) - Fix C10 pll programming sequence (Suraj) - Fix DG1 power gate sequence (Rodrigo) - Use preemption timeout on selftest cleanup (Janusz) - DP DSC related fixes (Ankit) - Fix HDCP compliance test (Suraj) - Clean and Optimise mtl_ddi_prepare_link_retrain (Suraj) - Adjust Added Wake Time with PKG_C_LATENCY (Animesh) - Enabling uncompressed 128b/132b UHBR SST (Jani) - Handle hdmi connector init failures, and no HDMI/DP cases (Jani) Signed-off-by: Dave Airlie <[email protected]> From: Rodrigo Vivi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents 9cc3e4e + 1513358 commit 4695a9c

File tree

106 files changed

+1989
-1482
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+1989
-1482
lines changed

drivers/gpu/drm/display/drm_dp_mst_topology.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3572,8 +3572,7 @@ static int drm_dp_send_up_ack_reply(struct drm_dp_mst_topology_mgr *mgr,
35723572
}
35733573

35743574
/**
3575-
* drm_dp_get_vc_payload_bw - get the VC payload BW for an MST link
3576-
* @mgr: The &drm_dp_mst_topology_mgr to use
3575+
* drm_dp_get_vc_payload_bw - get the VC payload BW for an MTP link
35773576
* @link_rate: link rate in 10kbits/s units
35783577
* @link_lane_count: lane count
35793578
*
@@ -3584,17 +3583,12 @@ static int drm_dp_send_up_ack_reply(struct drm_dp_mst_topology_mgr *mgr,
35843583
*
35853584
* Returns the BW / timeslot value in 20.12 fixed point format.
35863585
*/
3587-
fixed20_12 drm_dp_get_vc_payload_bw(const struct drm_dp_mst_topology_mgr *mgr,
3588-
int link_rate, int link_lane_count)
3586+
fixed20_12 drm_dp_get_vc_payload_bw(int link_rate, int link_lane_count)
35893587
{
35903588
int ch_coding_efficiency =
35913589
drm_dp_bw_channel_coding_efficiency(drm_dp_is_uhbr_rate(link_rate));
35923590
fixed20_12 ret;
35933591

3594-
if (link_rate == 0 || link_lane_count == 0)
3595-
drm_dbg_kms(mgr->dev, "invalid link rate/lane count: (%d / %d)\n",
3596-
link_rate, link_lane_count);
3597-
35983592
/* See DP v2.0 2.6.4.2, 2.7.6.3 VCPayload_Bandwidth_for_OneTimeSlotPer_MTP_Allocation */
35993593
ret.full = DIV_ROUND_DOWN_ULL(mul_u32_u32(link_rate * link_lane_count,
36003594
ch_coding_efficiency),

drivers/gpu/drm/i915/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ i915-y += \
3434
i915_sysfs.o \
3535
i915_utils.o \
3636
intel_clock_gating.o \
37+
intel_cpu_info.o \
3738
intel_device_info.o \
3839
intel_memory_region.o \
3940
intel_pcode.o \
@@ -42,6 +43,7 @@ i915-y += \
4243
intel_sbi.o \
4344
intel_step.o \
4445
intel_uncore.o \
46+
intel_uncore_trace.o \
4547
intel_wakeref.o \
4648
vlv_sideband.o \
4749
vlv_suspend.o
@@ -236,6 +238,7 @@ i915-y += \
236238
display/intel_crtc_state_dump.o \
237239
display/intel_cursor.o \
238240
display/intel_display.o \
241+
display/intel_display_conversion.o \
239242
display/intel_display_driver.o \
240243
display/intel_display_irq.o \
241244
display/intel_display_params.o \

drivers/gpu/drm/i915/display/dvo_ns2501.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
*
2727
*/
2828

29-
#include "i915_drv.h"
3029
#include "intel_display_types.h"
3130
#include "intel_dvo_dev.h"
3231

drivers/gpu/drm/i915/display/g4x_dp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <linux/string_helpers.h>
99

1010
#include "g4x_dp.h"
11+
#include "i915_drv.h"
1112
#include "i915_reg.h"
1213
#include "intel_audio.h"
1314
#include "intel_backlight.h"

drivers/gpu/drm/i915/display/g4x_hdmi.c

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77

88
#include "g4x_hdmi.h"
9+
#include "i915_drv.h"
910
#include "i915_reg.h"
1011
#include "intel_atomic.h"
1112
#include "intel_audio.h"
@@ -682,7 +683,7 @@ static bool assert_hdmi_port_valid(struct drm_i915_private *i915, enum port port
682683
"Platform does not support HDMI %c\n", port_name(port));
683684
}
684685

685-
void g4x_hdmi_init(struct drm_i915_private *dev_priv,
686+
bool g4x_hdmi_init(struct drm_i915_private *dev_priv,
686687
i915_reg_t hdmi_reg, enum port port)
687688
{
688689
struct intel_display *display = &dev_priv->display;
@@ -692,10 +693,10 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
692693
struct intel_connector *intel_connector;
693694

694695
if (!assert_port_valid(dev_priv, port))
695-
return;
696+
return false;
696697

697698
if (!assert_hdmi_port_valid(dev_priv, port))
698-
return;
699+
return false;
699700

700701
devdata = intel_bios_encoder_data_lookup(display, port);
701702

@@ -706,25 +707,24 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
706707

707708
dig_port = kzalloc(sizeof(*dig_port), GFP_KERNEL);
708709
if (!dig_port)
709-
return;
710+
return false;
710711

711712
dig_port->aux_ch = AUX_CH_NONE;
712713

713714
intel_connector = intel_connector_alloc();
714-
if (!intel_connector) {
715-
kfree(dig_port);
716-
return;
717-
}
715+
if (!intel_connector)
716+
goto err_connector_alloc;
718717

719718
intel_encoder = &dig_port->base;
720719

721720
intel_encoder->devdata = devdata;
722721

723722
mutex_init(&dig_port->hdcp_mutex);
724723

725-
drm_encoder_init(&dev_priv->drm, &intel_encoder->base,
726-
&intel_hdmi_enc_funcs, DRM_MODE_ENCODER_TMDS,
727-
"HDMI %c", port_name(port));
724+
if (drm_encoder_init(&dev_priv->drm, &intel_encoder->base,
725+
&intel_hdmi_enc_funcs, DRM_MODE_ENCODER_TMDS,
726+
"HDMI %c", port_name(port)))
727+
goto err_encoder_init;
728728

729729
intel_encoder->hotplug = intel_hdmi_hotplug;
730730
intel_encoder->compute_config = g4x_hdmi_compute_config;
@@ -787,5 +787,17 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
787787

788788
intel_infoframe_init(dig_port);
789789

790-
intel_hdmi_init_connector(dig_port, intel_connector);
790+
if (!intel_hdmi_init_connector(dig_port, intel_connector))
791+
goto err_init_connector;
792+
793+
return true;
794+
795+
err_init_connector:
796+
drm_encoder_cleanup(&intel_encoder->base);
797+
err_encoder_init:
798+
kfree(intel_connector);
799+
err_connector_alloc:
800+
kfree(dig_port);
801+
802+
return false;
791803
}

drivers/gpu/drm/i915/display/g4x_hdmi.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@ struct drm_connector;
1616
struct drm_i915_private;
1717

1818
#ifdef I915
19-
void g4x_hdmi_init(struct drm_i915_private *dev_priv,
19+
bool g4x_hdmi_init(struct drm_i915_private *dev_priv,
2020
i915_reg_t hdmi_reg, enum port port);
2121
int g4x_hdmi_connector_atomic_check(struct drm_connector *connector,
2222
struct drm_atomic_state *state);
2323
#else
24-
static inline void g4x_hdmi_init(struct drm_i915_private *dev_priv,
24+
static inline bool g4x_hdmi_init(struct drm_i915_private *dev_priv,
2525
i915_reg_t hdmi_reg, int port)
2626
{
27+
return false;
2728
}
2829
static inline int g4x_hdmi_connector_atomic_check(struct drm_connector *connector,
2930
struct drm_atomic_state *state)

drivers/gpu/drm/i915/display/i9xx_display_sr.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
* Copyright © 2024 Intel Corporation
44
*/
55

6-
#include "i915_drv.h"
6+
#include <drm/drm_device.h>
7+
78
#include "i915_reg.h"
89
#include "i9xx_display_sr.h"
10+
#include "i9xx_wm_regs.h"
911
#include "intel_de.h"
1012
#include "intel_gmbus.h"
1113
#include "intel_pci_config.h"

drivers/gpu/drm/i915/display/i9xx_plane.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <drm/drm_blend.h>
99
#include <drm/drm_fourcc.h>
1010

11+
#include "i915_drv.h"
1112
#include "i915_reg.h"
1213
#include "i9xx_plane.h"
1314
#include "i9xx_plane_regs.h"

drivers/gpu/drm/i915/display/i9xx_wm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "i915_drv.h"
77
#include "i915_reg.h"
88
#include "i9xx_wm.h"
9+
#include "i9xx_wm_regs.h"
910
#include "intel_atomic.h"
1011
#include "intel_bo.h"
1112
#include "intel_display.h"

0 commit comments

Comments
 (0)