Skip to content

Commit a22c074

Browse files
committed
Merge tag 'drm-intel-next-2021-08-10-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
drm/i915 changes for v5.15: Features: - Basic DG2 platform enabling (Matt, Animesh, Gwan-gyeong, José) - Add PSF GV point support for display bandwidth calculation (Stan) - Add platform release id version support (Lucas) - Add support for forcing DSC BPP for testing (Vandita, Patnana) Refactoring and cleanups: - Remove CNL support completely (Lucas) - Revid/stepping cleanup (Matt, Anusha) - Make display stepping check upper bounds exclusive (Matt) - Remove old GEN macros (Lucas) - Refactor DG1 interrupt handler (Paulo) - Refactor DMC stepping info (Anusha) Fixes: - Fix XELPD color capability reporting; it's not yet enabled (Uma) - Fix DG1 memory bandwidth computation (Clint) - Fix mux on certain HP laptops (Kai-Heng) - Various display workarounds (José, Matt, Imre) - Fix error state dumps wrt SFC_DONE (Matt) - Fix DG1 and XEPLD audio power domains (Anshuman) - Fix ADL-P and ADL-S ddi buf translation tables (Matt) - Fix DP/HDMI modeset sequences causing issues on ADL-P (José) - PSR2 fixes (José) - Fix DP MST modeset with FEC on TGL+ - Fix MBUS DBOX A credits on ADL-P (José) - Fix DP PHY test training set programming (Khaled) - Fix dgfx pcode uncore init done wait (Badal) - Fix DSC disable fuse check on GLK (Lucas) - Fix shared dpll mismatch for bigjoiner secondary pipe (Manasi) - Fix ADL-P underrun recovery (Matt) - Fix permissions on FEC support debugfs file (Vandita) Misc: - Backmerge drm-next (Rodrigo) - Bump RKL and TGL DMC firmware version (Anusha) Signed-off-by: Dave Airlie <[email protected]> # Conflicts: # drivers/gpu/drm/i915/i915_drv.h # drivers/gpu/drm/i915/intel_device_info.h From: Jani Nikula <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents cb22f12 + 3bfa7d4 commit a22c074

Some content is hidden

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

62 files changed

+3042
-2297
lines changed

drivers/gpu/drm/i915/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ i915-y += \
269269
display/intel_pps.o \
270270
display/intel_qp_tables.o \
271271
display/intel_sdvo.o \
272+
display/intel_snps_phy.o \
272273
display/intel_tv.o \
273274
display/intel_vdsc.o \
274275
display/intel_vrr.o \

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
912912
zpos = 0;
913913
drm_plane_create_zpos_immutable_property(&plane->base, zpos);
914914

915-
drm_plane_helper_add(&plane->base, &intel_plane_helper_funcs);
915+
intel_plane_helper_add(plane);
916916

917917
return plane;
918918

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ static const guid_t intel_dsm_guid =
1919
GUID_INIT(0x7ed873d3, 0xc2d0, 0x4e4f,
2020
0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c);
2121

22+
#define INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED 0 /* No args */
23+
24+
static const guid_t intel_dsm_guid2 =
25+
GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260,
26+
0x9d, 0x15, 0xc7, 0x1f, 0xba, 0xda, 0xe4, 0x14);
27+
2228
static char *intel_dsm_port_name(u8 id)
2329
{
2430
switch (id) {
@@ -176,6 +182,19 @@ void intel_unregister_dsm_handler(void)
176182
{
177183
}
178184

185+
void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
186+
{
187+
struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
188+
acpi_handle dhandle;
189+
190+
dhandle = ACPI_HANDLE(&pdev->dev);
191+
if (!dhandle)
192+
return;
193+
194+
acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID,
195+
INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED, NULL);
196+
}
197+
179198
/*
180199
* ACPI Specification, Revision 5.0, Appendix B.3.2 _DOD (Enumerate All Devices
181200
* Attached to the Display Adapter).

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@ struct drm_i915_private;
1111
#ifdef CONFIG_ACPI
1212
void intel_register_dsm_handler(void);
1313
void intel_unregister_dsm_handler(void);
14+
void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915);
1415
void intel_acpi_device_id_update(struct drm_i915_private *i915);
1516
#else
1617
static inline void intel_register_dsm_handler(void) { return; }
1718
static inline void intel_unregister_dsm_handler(void) { return; }
1819
static inline
20+
void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915) { return; }
21+
static inline
1922
void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; }
2023
#endif /* CONFIG_ACPI */
2124

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,12 @@ int intel_atomic_plane_check_clipping(struct intel_plane_state *plane_state,
601601
return 0;
602602
}
603603

604-
const struct drm_plane_helper_funcs intel_plane_helper_funcs = {
604+
static const struct drm_plane_helper_funcs intel_plane_helper_funcs = {
605605
.prepare_fb = intel_prepare_plane_fb,
606606
.cleanup_fb = intel_cleanup_plane_fb,
607607
};
608+
609+
void intel_plane_helper_add(struct intel_plane *plane)
610+
{
611+
drm_plane_helper_add(&plane->base, &intel_plane_helper_funcs);
612+
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ struct intel_crtc_state;
1717
struct intel_plane;
1818
struct intel_plane_state;
1919

20-
extern const struct drm_plane_helper_funcs intel_plane_helper_funcs;
21-
2220
unsigned int intel_adjusted_rate(const struct drm_rect *src,
2321
const struct drm_rect *dst,
2422
unsigned int rate);
@@ -65,5 +63,6 @@ int intel_atomic_plane_check_clipping(struct intel_plane_state *plane_state,
6563
bool can_position);
6664
void intel_plane_set_invisible(struct intel_crtc_state *crtc_state,
6765
struct intel_plane_state *plane_state);
66+
void intel_plane_helper_add(struct intel_plane *plane);
6867

6968
#endif /* __INTEL_ATOMIC_PLANE_H__ */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,7 +1001,7 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
10011001
/* Catch potential impedance mismatches before they occur! */
10021002
BUILD_BUG_ON(sizeof(intel_wakeref_t) > sizeof(unsigned long));
10031003

1004-
ret = intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
1004+
ret = intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO_PLAYBACK);
10051005

10061006
if (dev_priv->audio_power_refcount++ == 0) {
10071007
if (DISPLAY_VER(dev_priv) >= 9) {
@@ -1034,7 +1034,7 @@ static void i915_audio_component_put_power(struct device *kdev,
10341034
if (IS_GEMINILAKE(dev_priv))
10351035
glk_force_audio_cdclk(dev_priv, false);
10361036

1037-
intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO, cookie);
1037+
intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO_PLAYBACK, cookie);
10381038
}
10391039

10401040
static void i915_audio_component_codec_wake_override(struct device *kdev,

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1871,12 +1871,12 @@ intel_bios_encoder_supports_edp(const struct intel_bios_encoder_data *devdata)
18711871
static bool is_port_valid(struct drm_i915_private *i915, enum port port)
18721872
{
18731873
/*
1874-
* On some ICL/CNL SKUs port F is not present, but broken VBTs mark
1874+
* On some ICL SKUs port F is not present, but broken VBTs mark
18751875
* the port as present. Only try to initialize port F for the
18761876
* SKUs that may actually have it.
18771877
*/
1878-
if (port == PORT_F && (IS_ICELAKE(i915) || IS_CANNONLAKE(i915)))
1879-
return IS_ICL_WITH_PORT_F(i915) || IS_CNL_WITH_PORT_F(i915);
1878+
if (port == PORT_F && IS_ICELAKE(i915))
1879+
return IS_ICL_WITH_PORT_F(i915);
18801880

18811881
return true;
18821882
}
@@ -1998,7 +1998,7 @@ static void parse_ddi_port(struct drm_i915_private *i915,
19981998
"Port %c VBT HDMI boost level: %d\n",
19991999
port_name(port), hdmi_boost_level);
20002000

2001-
/* DP max link rate for CNL+ */
2001+
/* DP max link rate for GLK+ */
20022002
if (i915->vbt.version >= 216) {
20032003
if (i915->vbt.version >= 230)
20042004
info->dp_max_link_rate = parse_bdb_230_dp_max_link_rate(child->dp_max_link_rate);
@@ -2166,7 +2166,8 @@ static void
21662166
init_vbt_missing_defaults(struct drm_i915_private *i915)
21672167
{
21682168
enum port port;
2169-
int ports = PORT_A | PORT_B | PORT_C | PORT_D | PORT_E | PORT_F;
2169+
int ports = BIT(PORT_A) | BIT(PORT_B) | BIT(PORT_C) |
2170+
BIT(PORT_D) | BIT(PORT_E) | BIT(PORT_F);
21702171

21712172
if (!HAS_DDI(i915) && !IS_CHERRYVIEW(i915))
21722173
return;

0 commit comments

Comments
 (0)