Skip to content

Commit eacef9f

Browse files
committed
Merge tag 'drm-intel-next-2021-12-14' of ssh://git.freedesktop.org/git/drm/drm-intel into drm-next
drm/i915 feature pull #2 for v5.17: Features and functionality: - Add eDP privacy screen support (Hans) - Add Raptor Lake S (RPL-S) support (Anusha) - Add CD clock squashing support (Mika) - Properly support ADL-P without force probe (Clint) - Enable pipe color support (10 bit gamma) for display 13 platforms (Uma) - Update ADL-P DMC firmware to v2.14 (Madhumitha) Refactoring and cleanups: - More FBC refactoring preparing for multiple FBC instances (Ville) - Plane register cleanups (Ville) - Header refactoring and include cleanups (Jani) - Crtc helper and vblank wait function cleanups (Jani, Ville) - Move pipe/transcoder/abox masks under intel_device_info.display (Ville) Fixes: - Add a delay to let eDP source OUI write take effect (Lyude) - Use div32 version of MPLLB word clock for UHBR on SNPS PHY (Jani) - Fix DMC firmware loader overflow check (Harshit Mogalapalli) - Fully disable FBC on FIFO underruns (Ville) - Disable FBC with double wide pipe as mutually exclusive (Ville) - DG2 workarounds (Matt) - Non-x86 build fixes (Siva) - Fix HDR plane max width for NV12 (Vidya) - Disable IRQ for selftest timestamp calculation (Anshuman) - ADL-P VBT DDC pin mapping fix (Tejas) Merges: - Backmerge drm-next for privacy screen plumbing (Jani) Signed-off-by: Dave Airlie <[email protected]> From: Jani Nikula <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents 244a36e + 96db144 commit eacef9f

Some content is hidden

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

74 files changed

+2083
-1895
lines changed

arch/x86/kernel/early-quirks.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,7 @@ static const struct pci_device_id intel_early_ids[] __initconst = {
554554
INTEL_RKL_IDS(&gen11_early_ops),
555555
INTEL_ADLS_IDS(&gen11_early_ops),
556556
INTEL_ADLP_IDS(&gen11_early_ops),
557+
INTEL_RPLS_IDS(&gen11_early_ops),
557558
};
558559

559560
struct resource intel_graphics_stolen_res __ro_after_init = DEFINE_RES_MEM(0, 0);

drivers/gpu/drm/i915/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ i915-y += \
259259
display/intel_crt.o \
260260
display/intel_ddi.o \
261261
display/intel_ddi_buf_trans.o \
262+
display/intel_display_trace.o \
262263
display/intel_dp.o \
263264
display/intel_dp_aux.o \
264265
display/intel_dp_aux_backlight.o \

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "intel_audio.h"
1010
#include "intel_backlight.h"
1111
#include "intel_connector.h"
12+
#include "intel_crtc.h"
1213
#include "intel_de.h"
1314
#include "intel_display_types.h"
1415
#include "intel_dp.h"

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "g4x_hdmi.h"
99
#include "intel_audio.h"
1010
#include "intel_connector.h"
11+
#include "intel_crtc.h"
1112
#include "intel_de.h"
1213
#include "intel_display_types.h"
1314
#include "intel_dpio_phy.h"

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

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "intel_de.h"
1414
#include "intel_display_types.h"
1515
#include "intel_fb.h"
16+
#include "intel_fbc.h"
1617
#include "intel_sprite.h"
1718
#include "i9xx_plane.h"
1819

@@ -120,6 +121,15 @@ static bool i9xx_plane_has_fbc(struct drm_i915_private *dev_priv,
120121
return i9xx_plane == PLANE_A;
121122
}
122123

124+
static struct intel_fbc *i9xx_plane_fbc(struct drm_i915_private *dev_priv,
125+
enum i9xx_plane_id i9xx_plane)
126+
{
127+
if (i9xx_plane_has_fbc(dev_priv, i9xx_plane))
128+
return dev_priv->fbc;
129+
else
130+
return NULL;
131+
}
132+
123133
static bool i9xx_plane_has_windowing(struct intel_plane *plane)
124134
{
125135
struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
@@ -807,10 +817,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
807817
plane->id = PLANE_PRIMARY;
808818
plane->frontbuffer_bit = INTEL_FRONTBUFFER(pipe, plane->id);
809819

810-
if (i9xx_plane_has_fbc(dev_priv, plane->i9xx_plane))
811-
plane->fbc = &dev_priv->fbc;
812-
if (plane->fbc)
813-
plane->fbc->possible_framebuffer_bits |= plane->frontbuffer_bit;
820+
intel_fbc_add_plane(i9xx_plane_fbc(dev_priv, plane->i9xx_plane), plane);
814821

815822
if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
816823
formats = vlv_primary_formats;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ int intel_digital_connector_atomic_check(struct drm_connector *conn,
139139
new_conn_state->base.picture_aspect_ratio != old_conn_state->base.picture_aspect_ratio ||
140140
new_conn_state->base.content_type != old_conn_state->base.content_type ||
141141
new_conn_state->base.scaling_mode != old_conn_state->base.scaling_mode ||
142+
new_conn_state->base.privacy_screen_sw_state != old_conn_state->base.privacy_screen_sw_state ||
142143
!drm_connector_atomic_hdr_metadata_equal(old_state, new_state))
143144
crtc_state->mode_changed = true;
144145

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,16 @@
3535
#include <drm/drm_fourcc.h>
3636
#include <drm/drm_plane_helper.h>
3737

38-
#include "i915_trace.h"
38+
#include "gt/intel_rps.h"
39+
3940
#include "intel_atomic_plane.h"
4041
#include "intel_cdclk.h"
42+
#include "intel_display_trace.h"
4143
#include "intel_display_types.h"
4244
#include "intel_fb.h"
4345
#include "intel_fb_pin.h"
4446
#include "intel_pm.h"
4547
#include "intel_sprite.h"
46-
#include "gt/intel_rps.h"
4748

4849
static void intel_plane_state_reset(struct intel_plane_state *plane_state,
4950
struct intel_plane *plane)
@@ -395,7 +396,7 @@ int intel_plane_atomic_check(struct intel_atomic_state *state,
395396
const struct intel_plane_state *old_plane_state =
396397
intel_atomic_get_old_plane_state(state, plane);
397398
const struct intel_plane_state *new_master_plane_state;
398-
struct intel_crtc *crtc = intel_get_crtc_for_pipe(i915, plane->pipe);
399+
struct intel_crtc *crtc = intel_crtc_for_pipe(i915, plane->pipe);
399400
const struct intel_crtc_state *old_crtc_state =
400401
intel_atomic_get_old_crtc_state(state, crtc);
401402
struct intel_crtc_state *new_crtc_state =

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "intel_atomic.h"
3232
#include "intel_audio.h"
3333
#include "intel_cdclk.h"
34+
#include "intel_crtc.h"
3435
#include "intel_de.h"
3536
#include "intel_display_types.h"
3637
#include "intel_lpe_audio.h"
@@ -1019,7 +1020,7 @@ static void glk_force_audio_cdclk(struct drm_i915_private *dev_priv,
10191020
struct intel_crtc *crtc;
10201021
int ret;
10211022

1022-
crtc = intel_get_first_crtc(dev_priv);
1023+
crtc = intel_first_crtc(dev_priv);
10231024
if (!crtc)
10241025
return;
10251026

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1555,12 +1555,24 @@ static const u8 gen9bc_tgp_ddc_pin_map[] = {
15551555
[DDC_BUS_DDI_D] = GMBUS_PIN_10_TC2_ICP,
15561556
};
15571557

1558+
static const u8 adlp_ddc_pin_map[] = {
1559+
[ICL_DDC_BUS_DDI_A] = GMBUS_PIN_1_BXT,
1560+
[ICL_DDC_BUS_DDI_B] = GMBUS_PIN_2_BXT,
1561+
[ADLP_DDC_BUS_PORT_TC1] = GMBUS_PIN_9_TC1_ICP,
1562+
[ADLP_DDC_BUS_PORT_TC2] = GMBUS_PIN_10_TC2_ICP,
1563+
[ADLP_DDC_BUS_PORT_TC3] = GMBUS_PIN_11_TC3_ICP,
1564+
[ADLP_DDC_BUS_PORT_TC4] = GMBUS_PIN_12_TC4_ICP,
1565+
};
1566+
15581567
static u8 map_ddc_pin(struct drm_i915_private *i915, u8 vbt_pin)
15591568
{
15601569
const u8 *ddc_pin_map;
15611570
int n_entries;
15621571

1563-
if (IS_ALDERLAKE_S(i915)) {
1572+
if (IS_ALDERLAKE_P(i915)) {
1573+
ddc_pin_map = adlp_ddc_pin_map;
1574+
n_entries = ARRAY_SIZE(adlp_ddc_pin_map);
1575+
} else if (IS_ALDERLAKE_S(i915)) {
15641576
ddc_pin_map = adls_ddc_pin_map;
15651577
n_entries = ARRAY_SIZE(adls_ddc_pin_map);
15661578
} else if (INTEL_PCH_TYPE(i915) >= PCH_DG1) {

0 commit comments

Comments
 (0)