Skip to content

Commit b603017

Browse files
committed
Merge tag 'drm-intel-next-2025-04-11' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next
Cross-subsystem Changes: - Update GVT MAINTAINERS (Jani) Driver Changes: - Updates for xe3lpd display (Gustavo) - Fix link training interrupted by HPD pulse (Imre) - Watermark bound checks for DSC (Ankit) - VRR Refactor and other fixes and improvements (Ankit) - More conversions towards intel_display struct (Gustavo, Jani) - Other clean-up patches towards a display separation (Jani) - Maintain asciibetical order for HAS_* macros (Ankit) - Fixes around probe/initialization (Janusz) - Fix build and doc build issue (Yue, Rodrigo) - DSI related fixes (Suraj, William, Jani) - Improve DC6 entry counter (Mohammed) - Fix xe2hpd memory type identification (Vivek) - PSR related fixes and improvements (Animesh, Jouni) - DP MST related fixes and improvements (Imre) - Fix scanline_offset for LNL+/BMG+ (Ville) - Some gvt related fixes and changes (Ville, Jani) - Some PLL code adjustment (Ville) - Display wa addition (Vinod) - DRAM type logging (Lucas) - Pimp the initial FB readout (Ville) - Some sagv/bw cleanup (Ville) - Remove i915_display_capabilities debugfs entry (Jani) - Move PCH type to display caps debugfs entry (Jani) Signed-off-by: Dave Airlie <[email protected]> From: Rodrigo Vivi <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2 parents 683058d + 1954629 commit b603017

File tree

131 files changed

+5471
-4731
lines changed

Some content is hidden

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

131 files changed

+5471
-4731
lines changed

MAINTAINERS

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11920,13 +11920,10 @@ F: drivers/gpio/gpio-tangier.c
1192011920
F: drivers/gpio/gpio-tangier.h
1192111921

1192211922
INTEL GVT-g DRIVERS (Intel GPU Virtualization)
11923-
M: Zhenyu Wang <[email protected]>
11924-
M: Zhi Wang <[email protected]>
11925-
11926-
11927-
S: Supported
11923+
R: Zhenyu Wang <[email protected]>
11924+
R: Zhi Wang <[email protected]>
11925+
S: Odd Fixes
1192811926
W: https://github.com/intel/gvt-linux/wiki
11929-
T: git https://github.com/intel/gvt-linux.git
1193011927
F: drivers/gpu/drm/i915/gvt/
1193111928

1193211929
INTEL HID EVENT DRIVER

drivers/char/agp/intel-gtt.c

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ struct intel_gtt_driver {
5353
* of the mmio register file, that's done in the generic code. */
5454
void (*cleanup)(void);
5555
void (*write_entry)(dma_addr_t addr, unsigned int entry, unsigned int flags);
56+
dma_addr_t (*read_entry)(unsigned int entry, bool *is_present, bool *is_local);
5657
/* Flags is a more or less chipset specific opaque value.
5758
* For chipsets that need to support old ums (non-gem) code, this
5859
* needs to be identical to the various supported agp memory types! */
@@ -336,6 +337,19 @@ static void i810_write_entry(dma_addr_t addr, unsigned int entry,
336337
writel_relaxed(addr | pte_flags, intel_private.gtt + entry);
337338
}
338339

340+
static dma_addr_t i810_read_entry(unsigned int entry,
341+
bool *is_present, bool *is_local)
342+
{
343+
u32 val;
344+
345+
val = readl(intel_private.gtt + entry);
346+
347+
*is_present = val & I810_PTE_VALID;
348+
*is_local = val & I810_PTE_LOCAL;
349+
350+
return val & ~0xfff;
351+
}
352+
339353
static resource_size_t intel_gtt_stolen_size(void)
340354
{
341355
u16 gmch_ctrl;
@@ -741,6 +755,19 @@ static void i830_write_entry(dma_addr_t addr, unsigned int entry,
741755
writel_relaxed(addr | pte_flags, intel_private.gtt + entry);
742756
}
743757

758+
static dma_addr_t i830_read_entry(unsigned int entry,
759+
bool *is_present, bool *is_local)
760+
{
761+
u32 val;
762+
763+
val = readl(intel_private.gtt + entry);
764+
765+
*is_present = val & I810_PTE_VALID;
766+
*is_local = false;
767+
768+
return val & ~0xfff;
769+
}
770+
744771
bool intel_gmch_enable_gtt(void)
745772
{
746773
u8 __iomem *reg;
@@ -878,6 +905,13 @@ void intel_gmch_gtt_insert_sg_entries(struct sg_table *st,
878905
}
879906
EXPORT_SYMBOL(intel_gmch_gtt_insert_sg_entries);
880907

908+
dma_addr_t intel_gmch_gtt_read_entry(unsigned int pg,
909+
bool *is_present, bool *is_local)
910+
{
911+
return intel_private.driver->read_entry(pg, is_present, is_local);
912+
}
913+
EXPORT_SYMBOL(intel_gmch_gtt_read_entry);
914+
881915
#if IS_ENABLED(CONFIG_AGP_INTEL)
882916
static void intel_gmch_gtt_insert_pages(unsigned int first_entry,
883917
unsigned int num_entries,
@@ -1126,6 +1160,19 @@ static void i965_write_entry(dma_addr_t addr,
11261160
writel_relaxed(addr | pte_flags, intel_private.gtt + entry);
11271161
}
11281162

1163+
static dma_addr_t i965_read_entry(unsigned int entry,
1164+
bool *is_present, bool *is_local)
1165+
{
1166+
u64 val;
1167+
1168+
val = readl(intel_private.gtt + entry);
1169+
1170+
*is_present = val & I810_PTE_VALID;
1171+
*is_local = false;
1172+
1173+
return ((val & 0xf0) << 28) | (val & ~0xfff);
1174+
}
1175+
11291176
static int i9xx_setup(void)
11301177
{
11311178
phys_addr_t reg_addr;
@@ -1187,13 +1234,15 @@ static const struct intel_gtt_driver i81x_gtt_driver = {
11871234
.cleanup = i810_cleanup,
11881235
.check_flags = i830_check_flags,
11891236
.write_entry = i810_write_entry,
1237+
.read_entry = i810_read_entry,
11901238
};
11911239
static const struct intel_gtt_driver i8xx_gtt_driver = {
11921240
.gen = 2,
11931241
.has_pgtbl_enable = 1,
11941242
.setup = i830_setup,
11951243
.cleanup = i830_cleanup,
11961244
.write_entry = i830_write_entry,
1245+
.read_entry = i830_read_entry,
11971246
.dma_mask_size = 32,
11981247
.check_flags = i830_check_flags,
11991248
.chipset_flush = i830_chipset_flush,
@@ -1205,6 +1254,7 @@ static const struct intel_gtt_driver i915_gtt_driver = {
12051254
.cleanup = i9xx_cleanup,
12061255
/* i945 is the last gpu to need phys mem (for overlay and cursors). */
12071256
.write_entry = i830_write_entry,
1257+
.read_entry = i830_read_entry,
12081258
.dma_mask_size = 32,
12091259
.check_flags = i830_check_flags,
12101260
.chipset_flush = i9xx_chipset_flush,
@@ -1215,6 +1265,7 @@ static const struct intel_gtt_driver g33_gtt_driver = {
12151265
.setup = i9xx_setup,
12161266
.cleanup = i9xx_cleanup,
12171267
.write_entry = i965_write_entry,
1268+
.read_entry = i965_read_entry,
12181269
.dma_mask_size = 36,
12191270
.check_flags = i830_check_flags,
12201271
.chipset_flush = i9xx_chipset_flush,
@@ -1225,6 +1276,7 @@ static const struct intel_gtt_driver pineview_gtt_driver = {
12251276
.setup = i9xx_setup,
12261277
.cleanup = i9xx_cleanup,
12271278
.write_entry = i965_write_entry,
1279+
.read_entry = i965_read_entry,
12281280
.dma_mask_size = 36,
12291281
.check_flags = i830_check_flags,
12301282
.chipset_flush = i9xx_chipset_flush,
@@ -1235,6 +1287,7 @@ static const struct intel_gtt_driver i965_gtt_driver = {
12351287
.setup = i9xx_setup,
12361288
.cleanup = i9xx_cleanup,
12371289
.write_entry = i965_write_entry,
1290+
.read_entry = i965_read_entry,
12381291
.dma_mask_size = 36,
12391292
.check_flags = i830_check_flags,
12401293
.chipset_flush = i9xx_chipset_flush,
@@ -1244,6 +1297,7 @@ static const struct intel_gtt_driver g4x_gtt_driver = {
12441297
.setup = i9xx_setup,
12451298
.cleanup = i9xx_cleanup,
12461299
.write_entry = i965_write_entry,
1300+
.read_entry = i965_read_entry,
12471301
.dma_mask_size = 36,
12481302
.check_flags = i830_check_flags,
12491303
.chipset_flush = i9xx_chipset_flush,
@@ -1254,6 +1308,7 @@ static const struct intel_gtt_driver ironlake_gtt_driver = {
12541308
.setup = i9xx_setup,
12551309
.cleanup = i9xx_cleanup,
12561310
.write_entry = i965_write_entry,
1311+
.read_entry = i965_read_entry,
12571312
.dma_mask_size = 36,
12581313
.check_flags = i830_check_flags,
12591314
.chipset_flush = i9xx_chipset_flush,

drivers/gpu/drm/i915/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ i915-y += \
247247
display/intel_display_power_map.o \
248248
display/intel_display_power_well.o \
249249
display/intel_display_reset.o \
250+
display/intel_display_rpm.o \
250251
display/intel_display_rps.o \
251252
display/intel_display_snapshot.o \
252253
display/intel_display_wa.o \

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
*
2626
*/
2727

28+
#include <drm/drm_print.h>
29+
2830
#include "intel_display_types.h"
2931
#include "intel_dvo_dev.h"
3032

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2626
2727
**************************************************************************/
2828

29+
#include <drm/drm_print.h>
30+
2931
#include "intel_display_types.h"
3032
#include "intel_dvo_dev.h"
3133

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
*
3030
*/
3131

32+
#include <drm/drm_print.h>
33+
3234
#include "intel_display_types.h"
3335
#include "intel_dvo_dev.h"
3436

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
*
2727
*/
2828

29+
#include <drm/drm_print.h>
30+
2931
#include "intel_display_types.h"
3032
#include "intel_dvo_dev.h"
3133

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2626
2727
**************************************************************************/
2828

29+
#include <drm/drm_print.h>
30+
2931
#include "intel_display_types.h"
3032
#include "intel_dvo_dev.h"
3133

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
*
2626
*/
2727

28+
#include <drm/drm_print.h>
29+
2830
#include "intel_display_types.h"
2931
#include "intel_dvo_dev.h"
3032

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ static void intel_disable_dp(struct intel_atomic_state *state,
519519
{
520520
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
521521

522-
intel_dp->link_trained = false;
522+
intel_dp->link.active = false;
523523

524524
/*
525525
* Make sure the panel is off before trying to change the mode.

0 commit comments

Comments
 (0)