Commit ca10367a authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-fixes-2024-09-05' of...

Merge tag 'drm-misc-fixes-2024-09-05' of https://gitlab.freedesktop.org/drm/misc/kernel

 into drm-fixes

A zpos normalization fix for komeda, a register bitmask fix for nouveau,
a memory leak fix for imagination, three fixes for the recent bridge
HDMI work, a potential DoS fix and a cache coherency for panthor, a
change of panel compatible and a deferred-io fix when used with
non-highmem memory.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Maxime Ripard <mripard@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240905-original-radical-guan-e7a2ae@houat
parents 4de4a0f1 5a498d4d
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/wl-355608-a8.yaml#
$id: http://devicetree.org/schemas/display/panel/anbernic,rg35xx-plus-panel.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: WL-355608-A8 3.5" (640x480 pixels) 24-bit IPS LCD panel
title: Anbernic RG35XX series (WL-355608-A8) 3.5" 640x480 24-bit IPS LCD panel

maintainers:
  - Ryan Walklin <ryan@testtoast.com>
@@ -15,7 +15,14 @@ allOf:

properties:
  compatible:
    const: wl-355608-a8
    oneOf:
      - const: anbernic,rg35xx-plus-panel
      - items:
          - enum:
              - anbernic,rg35xx-2024-panel
              - anbernic,rg35xx-h-panel
              - anbernic,rg35xx-sp-panel
          - const: anbernic,rg35xx-plus-panel

  reg:
    maxItems: 1
@@ -40,7 +47,7 @@ examples:
        #size-cells = <0>;

        panel@0 {
            compatible = "wl-355608-a8";
            compatible = "anbernic,rg35xx-plus-panel";
            reg = <0>;

            spi-3wire;
+1 −1
Original line number Diff line number Diff line
@@ -7457,8 +7457,8 @@ S: Maintained
T:	git https://gitlab.freedesktop.org/drm/misc/kernel.git
F:	Documentation/devicetree/bindings/display/bridge/
F:	drivers/gpu/drm/bridge/
F:	drivers/gpu/drm/display/drm_bridge_connector.c
F:	drivers/gpu/drm/drm_bridge.c
F:	drivers/gpu/drm/drm_bridge_connector.c
F:	include/drm/drm_bridge.h
F:	include/drm/drm_bridge_connector.h
+0 −1
Original line number Diff line number Diff line
@@ -128,7 +128,6 @@ obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o
drm_kms_helper-y := \
	drm_atomic_helper.o \
	drm_atomic_state_helper.o \
	drm_bridge_connector.o \
	drm_crtc_helper.o \
	drm_damage_helper.o \
	drm_encoder_slave.o \
+7 −3
Original line number Diff line number Diff line
@@ -160,6 +160,7 @@ static int komeda_crtc_normalize_zpos(struct drm_crtc *crtc,
	struct drm_plane *plane;
	struct list_head zorder_list;
	int order = 0, err;
	u32 slave_zpos = 0;

	DRM_DEBUG_ATOMIC("[CRTC:%d:%s] calculating normalized zpos values\n",
			 crtc->base.id, crtc->name);
@@ -199,10 +200,13 @@ static int komeda_crtc_normalize_zpos(struct drm_crtc *crtc,
				 plane_st->zpos, plane_st->normalized_zpos);

		/* calculate max slave zorder */
		if (has_bit(drm_plane_index(plane), kcrtc->slave_planes))
		if (has_bit(drm_plane_index(plane), kcrtc->slave_planes)) {
			slave_zpos = plane_st->normalized_zpos;
			if (to_kplane_st(plane_st)->layer_split)
				slave_zpos++;
			kcrtc_st->max_slave_zorder =
				max(plane_st->normalized_zpos,
				    kcrtc_st->max_slave_zorder);
				max(slave_zpos, kcrtc_st->max_slave_zorder);
		}
	}

	crtc_st->zpos_changed = true;
+1 −0
Original line number Diff line number Diff line
@@ -390,6 +390,7 @@ config DRM_TI_SN65DSI86
	depends on OF
	select DRM_DISPLAY_DP_HELPER
	select DRM_DISPLAY_HELPER
	select DRM_BRIDGE_CONNECTOR
	select DRM_KMS_HELPER
	select REGMAP_I2C
	select DRM_PANEL
Loading