Skip to content

Commit d4332da

Browse files
committed
Merge tag 'drm-fixes-2024-06-15' of https://gitlab.freedesktop.org/drm/kernel
Pull drm fixes from Dave Airlie: "Weekly fixes. Seems a little quieter than usual, but still a bunch of stuff across the board. Mostly xe, some exynos and nouveau fixes. core: - Werror Kconfig fix panel: - add orientation quirk for Aya Neo KUN - fix runtime warning on panel/bridge release nouveau: - remove unused struct - fix wq crash on cards with no display amdgpu: - fix bo release clear page warning xe: - update MAINTAINERS - Use correct forcewake assertions - Assert that VRAM provisioning is only done on DGFX - Flush render caches before user-fence signalling on all engines - Move the disable_c6 call since it was sometimes never called exynos: - fix regression with fallback mode - fix EDID related memory leak - remove redundant code komeda: - fix debugfs conditional compilations - check pointer error value renesas: - atomic shutdown fix mediatek: - atomic shutdown fix" * tag 'drm-fixes-2024-06-15' of https://gitlab.freedesktop.org/drm/kernel: arm/komeda: Remove all CONFIG_DEBUG_FS conditional compilations drm/xe: move disable_c6 call drm/xe: flush engine buffers before signalling user fence on all engines drm/xe/pf: Assert LMEM provisioning is done only on DGFX drm/xe/xe_gt_idle: use GT forcewake domain assertion drm/mediatek: Call drm_atomic_helper_shutdown() at shutdown time drm: renesas: shmobile: Call drm_atomic_helper_shutdown() at shutdown time drm/nouveau: remove unused struct 'init_exec' drm/nouveau: don't attempt to schedule hpd_work on headless cards drm/amdgpu: Fix the BO release clear memory warning drm/bridge/panel: Fix runtime warning on panel bridge release drm/komeda: check for error-valued pointer drm: panel-orientation-quirks: Add quirk for Aya Neo KUN drm/exynos/vidi: fix memory leak in .get_modes() drm/exynos: dp: drop driver owner initialization drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found drm: have config DRM_WERROR depend on !WERROR MAINTAINERS: Update Xe driver maintainers MAINTAINERS: update Xe driver maintainers
2 parents 68132b3 + 9f0a864 commit d4332da

22 files changed

+87
-37
lines changed

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11034,8 +11034,8 @@ F: include/uapi/drm/i915_drm.h
1103411034

1103511035
INTEL DRM XE DRIVER (Lunar Lake and newer)
1103611036
M: Lucas De Marchi <lucas.demarchi@intel.com>
11037-
M: Oded Gabbay <ogabbay@kernel.org>
1103811037
M: Thomas Hellström <thomas.hellstrom@linux.intel.com>
11038+
M: Rodrigo Vivi <rodrigo.vivi@intel.com>
1103911039
L: intel-xe@lists.freedesktop.org
1104011040
S: Supported
1104111041
W: https://drm.pages.freedesktop.org/intel-docs/

drivers/gpu/drm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ config DRM_PRIVACY_SCREEN
450450
config DRM_WERROR
451451
bool "Compile the drm subsystem with warnings as errors"
452452
depends on DRM && EXPERT
453+
depends on !WERROR
453454
default n
454455
help
455456
A kernel build should not cause any compiler warnings, and this

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,
108108

109109
memset(&bp, 0, sizeof(bp));
110110
*obj = NULL;
111+
flags |= AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE;
111112

112113
bp.size = size;
113114
bp.byte_align = alignment;

drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -604,8 +604,6 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
604604
if (!amdgpu_bo_support_uswc(bo->flags))
605605
bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC;
606606

607-
bo->flags |= AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE;
608-
609607
bo->tbo.bdev = &adev->mman.bdev;
610608
if (bp->domain & (AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA |
611609
AMDGPU_GEM_DOMAIN_GDS))

drivers/gpu/drm/arm/display/komeda/komeda_dev.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,8 @@
1212
#include <linux/platform_device.h>
1313
#include <linux/pm_runtime.h>
1414
#include <linux/dma-mapping.h>
15-
#ifdef CONFIG_DEBUG_FS
1615
#include <linux/debugfs.h>
1716
#include <linux/seq_file.h>
18-
#endif
1917

2018
#include <drm/drm_print.h>
2119

@@ -43,7 +41,6 @@ static int komeda_register_show(struct seq_file *sf, void *x)
4341

4442
DEFINE_SHOW_ATTRIBUTE(komeda_register);
4543

46-
#ifdef CONFIG_DEBUG_FS
4744
static void komeda_debugfs_init(struct komeda_dev *mdev)
4845
{
4946
if (!debugfs_initialized())
@@ -55,7 +52,6 @@ static void komeda_debugfs_init(struct komeda_dev *mdev)
5552
debugfs_create_x16("err_verbosity", 0664, mdev->debugfs_root,
5653
&mdev->err_verbosity);
5754
}
58-
#endif
5955

6056
static ssize_t
6157
core_id_show(struct device *dev, struct device_attribute *attr, char *buf)
@@ -265,9 +261,7 @@ struct komeda_dev *komeda_dev_create(struct device *dev)
265261

266262
mdev->err_verbosity = KOMEDA_DEV_PRINT_ERR_EVENTS;
267263

268-
#ifdef CONFIG_DEBUG_FS
269264
komeda_debugfs_init(mdev);
270-
#endif
271265

272266
return mdev;
273267

@@ -286,9 +280,7 @@ void komeda_dev_destroy(struct komeda_dev *mdev)
286280

287281
sysfs_remove_group(&dev->kobj, &komeda_sysfs_attr_group);
288282

289-
#ifdef CONFIG_DEBUG_FS
290283
debugfs_remove_recursive(mdev->debugfs_root);
291-
#endif
292284

293285
if (mdev->aclk)
294286
clk_prepare_enable(mdev->aclk);

drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ komeda_component_get_avail_scaler(struct komeda_component *c,
259259
u32 avail_scalers;
260260

261261
pipe_st = komeda_pipeline_get_state(c->pipeline, state);
262-
if (!pipe_st)
262+
if (IS_ERR_OR_NULL(pipe_st))
263263
return NULL;
264264

265265
avail_scalers = (pipe_st->active_comps & KOMEDA_PIPELINE_SCALERS) ^

drivers/gpu/drm/bridge/panel.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,12 @@ EXPORT_SYMBOL(drm_panel_bridge_set_orientation);
360360

361361
static void devm_drm_panel_bridge_release(struct device *dev, void *res)
362362
{
363-
struct drm_bridge **bridge = res;
363+
struct drm_bridge *bridge = *(struct drm_bridge **)res;
364364

365-
drm_panel_bridge_remove(*bridge);
365+
if (!bridge)
366+
return;
367+
368+
drm_bridge_remove(bridge);
366369
}
367370

368371
/**

drivers/gpu/drm/drm_panel_orientation_quirks.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,12 @@ static const struct dmi_system_id orientation_data[] = {
202202
DMI_MATCH(DMI_BOARD_NAME, "NEXT"),
203203
},
204204
.driver_data = (void *)&lcd800x1280_rightside_up,
205+
}, { /* AYA NEO KUN */
206+
.matches = {
207+
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
208+
DMI_MATCH(DMI_BOARD_NAME, "KUN"),
209+
},
210+
.driver_data = (void *)&lcd1600x2560_rightside_up,
205211
}, { /* Chuwi HiBook (CWI514) */
206212
.matches = {
207213
DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),

drivers/gpu/drm/exynos/exynos_dp.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,6 @@ struct platform_driver dp_driver = {
285285
.remove_new = exynos_dp_remove,
286286
.driver = {
287287
.name = "exynos-dp",
288-
.owner = THIS_MODULE,
289288
.pm = pm_ptr(&exynos_dp_pm_ops),
290289
.of_match_table = exynos_dp_match,
291290
},

drivers/gpu/drm/exynos/exynos_drm_vidi.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ static int vidi_get_modes(struct drm_connector *connector)
309309
struct vidi_context *ctx = ctx_from_connector(connector);
310310
struct edid *edid;
311311
int edid_len;
312+
int count;
312313

313314
/*
314315
* the edid data comes from user side and it would be set
@@ -328,7 +329,11 @@ static int vidi_get_modes(struct drm_connector *connector)
328329

329330
drm_connector_update_edid_property(connector, edid);
330331

331-
return drm_add_edid_modes(connector, edid);
332+
count = drm_add_edid_modes(connector, edid);
333+
334+
kfree(edid);
335+
336+
return count;
332337
}
333338

334339
static const struct drm_connector_helper_funcs vidi_connector_helper_funcs = {

0 commit comments

Comments
 (0)