Skip to content

Commit e21cba7

Browse files
committed
Merge tag 'drm-misc-next-2025-02-27' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for v6.15: Cross-subsystem Changes: bus: - mhi: Avoid access to uninitialized field Core Changes: - Fix docmentation dp: - Add helpers for LTTPR transparent mode sched: - Improve job peek/pop operations - Optimize layout of struct drm_sched_job Driver Changes: arc: - Convert to devm_platform_ioremap_resource() aspeed: - Convert to devm_platform_ioremap_resource() bridge: - ti-sn65dsi86: Support CONFIG_PWM tristate i915: - dp: Use helpers for LTTPR transparent mode mediatek: - Convert to devm_platform_ioremap_resource() msm: - dp: Use helpers for LTTPR transparent mode nouveau: - dp: Use helpers for LTTPR transparent mode panel: - raydium-rm67200: Add driver for Raydium RM67200 - simple: Add support for BOE AV123Z7M-N17, BOE AV123Z7M-N17 - sony-td4353-jdi: Use MIPI-DSI multi-func interface - summit: Add driver for Apple Summit display panel - visionox-rm692e5: Add driver for Visionox RM692E5 repaper: - Fix integer overflows stm: - Convert to devm_platform_ioremap_resource() vc4: - Convert to devm_platform_ioremap_resource() Signed-off-by: Dave Airlie <airlied@redhat.com> From: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20250227094041.GA114623@linux.fritz.box
2 parents 33e26f3 + 7cb3274 commit e21cba7

Some content is hidden

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

45 files changed

+1680
-314
lines changed

.mailmap

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,8 @@ Jeff Johnson <jeff.johnson@oss.qualcomm.com> <quic_jjohnson@quicinc.com>
323323
Jeff Layton <jlayton@kernel.org> <jlayton@poochiereds.net>
324324
Jeff Layton <jlayton@kernel.org> <jlayton@primarydata.com>
325325
Jeff Layton <jlayton@kernel.org> <jlayton@redhat.com>
326-
Jeffrey Hugo <quic_jhugo@quicinc.com> <jhugo@codeaurora.org>
326+
Jeff Hugo <jeff.hugo@oss.qualcomm.com> <jhugo@codeaurora.org>
327+
Jeff Hugo <jeff.hugo@oss.qualcomm.com> <quic_jhugo@quicinc.com>
327328
Jens Axboe <axboe@kernel.dk> <axboe@suse.de>
328329
Jens Axboe <axboe@kernel.dk> <jens.axboe@oracle.com>
329330
Jens Axboe <axboe@kernel.dk> <axboe@fb.com>

Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ properties:
4040
- auo,g185han01
4141
# AU Optronics Corporation 19.0" (1280x1024) TFT LCD panel
4242
- auo,g190ean01
43+
# BOE AV123Z7M-N17 12.3" (1920x720) LVDS TFT LCD panel
44+
- boe,av123z7m-n17
4345
# Kaohsiung Opto-Electronics Inc. 10.1" WUXGA (1920 x 1200) LVDS TFT LCD panel
4446
- koe,tx26d202vm0bwa
4547
# Lincoln Technology Solutions, LCD185-101CT 10.1" TFT 1920x1200

Documentation/devicetree/bindings/display/panel/panel-simple.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ properties:
6363
- auo,t215hvn01
6464
# Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
6565
- avic,tm070ddh03
66+
# BOE AV101HDT-a10 10.1" 1280x720 LVDS panel
67+
- boe,av101hdt-a10
6668
# BOE BP082WX1-100 8.2" WXGA (1280x800) LVDS panel
6769
- boe,bp082wx1-100
6870
# BOE BP101WX1-100 10.1" WXGA (1280x800) LVDS panel
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/panel/raydium,rm67200.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Raydium RM67200 based MIPI-DSI panels
8+
9+
maintainers:
10+
- Sebastian Reichel <sebastian.reichel@collabora.com>
11+
12+
allOf:
13+
- $ref: panel-common.yaml#
14+
15+
properties:
16+
compatible:
17+
items:
18+
- enum:
19+
- wanchanglong,w552793baa
20+
- const: raydium,rm67200
21+
22+
reg:
23+
maxItems: 1
24+
25+
vdd-supply:
26+
description: 2.8V Logic voltage
27+
28+
iovcc-supply:
29+
description: 1.8V IO voltage
30+
31+
vsp-supply:
32+
description: positive 5.5V voltage
33+
34+
vsn-supply:
35+
description: negative 5.5V voltage
36+
37+
backlight: true
38+
port: true
39+
reset-gpios: true
40+
41+
required:
42+
- compatible
43+
- port
44+
- reg
45+
- reset-gpios
46+
47+
additionalProperties: false
48+
49+
examples:
50+
- |
51+
#include <dt-bindings/gpio/gpio.h>
52+
dsi {
53+
#address-cells = <1>;
54+
#size-cells = <0>;
55+
panel@0 {
56+
compatible = "wanchanglong,w552793baa", "raydium,rm67200";
57+
reg = <0>;
58+
59+
vdd-supply = <&regulator1>;
60+
iovcc-supply = <&regulator2>;
61+
vsp-supply = <&regulator3>;
62+
vsn-supply = <&regulator4>;
63+
reset-gpios = <&gpiobank 42 GPIO_ACTIVE_LOW>;
64+
65+
port {
66+
panel0_in: endpoint {
67+
remote-endpoint = <&dsi0_out>;
68+
};
69+
};
70+
};
71+
};
72+
...
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/panel/visionox,rm692e5.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Visionox RM692E5 6.55" 2400x1080 120Hz MIPI-DSI Panel
8+
9+
maintainers:
10+
- Danila Tikhonov <danila@jiaxyga.com>
11+
12+
description:
13+
The Visionox RM692E5 is a generic DSI Panel IC used to control
14+
AMOLED panels.
15+
16+
allOf:
17+
- $ref: panel-common.yaml#
18+
19+
properties:
20+
compatible:
21+
oneOf:
22+
- enum:
23+
- visionox,rm692e5
24+
- items:
25+
- enum:
26+
- nothing,rm692e5-spacewar
27+
- const: visionox,rm692e5
28+
29+
reg:
30+
maxItems: 1
31+
32+
vdd-supply:
33+
description: 3.3V source voltage rail
34+
35+
vddio-supply:
36+
description: 1.8V I/O source voltage rail
37+
38+
reset-gpios: true
39+
port: true
40+
41+
required:
42+
- compatible
43+
- reg
44+
- reset-gpios
45+
- vdd-supply
46+
- vddio-supply
47+
- port
48+
49+
additionalProperties: false
50+
51+
examples:
52+
- |
53+
#include <dt-bindings/gpio/gpio.h>
54+
55+
dsi {
56+
#address-cells = <1>;
57+
#size-cells = <0>;
58+
59+
panel@0 {
60+
compatible = "nothing,rm692e5-spacewar",
61+
"visionox,rm692e5";
62+
reg = <0>;
63+
64+
reset-gpios = <&tlmm 44 GPIO_ACTIVE_LOW>;
65+
66+
vdd-supply = <&vdd_oled>;
67+
vddio-supply = <&vdd_io_oled>;
68+
69+
port {
70+
panel_in: endpoint {
71+
remote-endpoint = <&mdss_dsi0_out>;
72+
};
73+
};
74+
};
75+
};
76+
77+
...

Documentation/gpu/drm-internals.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,13 @@ follows:
208208
``CONFIG_VIRTIO_UML`` and ``CONFIG_UML_PCI_OVER_VIRTIO`` are not
209209
included in it because they are only required for User Mode Linux.
210210

211+
KUnit Coverage Rules
212+
~~~~~~~~~~~~~~~~~~~~
213+
214+
KUnit support is gradually added to the DRM framework and helpers. There's no
215+
general requirement for the framework and helpers to have KUnit tests at the
216+
moment. However, patches that are affecting a function or helper already
217+
covered by KUnit tests must provide tests if the change calls for one.
211218

212219
Legacy Support Code
213220
===================

MAINTAINERS

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7347,7 +7347,8 @@ T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
73477347
F: drivers/gpu/drm/mgag200/
73487348

73497349
DRM DRIVER FOR MI0283QT
7350-
S: Orphan
7350+
M: Alex Lanzano <lanzano.alex@gmail.com>
7351+
S: Maintained
73517352
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
73527353
F: Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
73537354
F: drivers/gpu/drm/tiny/mi0283qt.c
@@ -7449,7 +7450,8 @@ F: Documentation/devicetree/bindings/display/bridge/ps8640.yaml
74497450
F: drivers/gpu/drm/bridge/parade-ps8640.c
74507451

74517452
DRM DRIVER FOR PERVASIVE DISPLAYS REPAPER PANELS
7452-
S: Orphan
7453+
M: Alex Lanzano <lanzano.alex@gmail.com>
7454+
S: Maintained
74537455
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
74547456
F: Documentation/devicetree/bindings/display/repaper.txt
74557457
F: drivers/gpu/drm/tiny/repaper.c
@@ -19425,7 +19427,7 @@ F: drivers/clk/qcom/
1942519427
F: include/dt-bindings/clock/qcom,*
1942619428

1942719429
QUALCOMM CLOUD AI (QAIC) DRIVER
19428-
M: Jeffrey Hugo <quic_jhugo@quicinc.com>
19430+
M: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
1942919431
R: Carl Vanderlip <quic_carlv@quicinc.com>
1943019432
L: linux-arm-msm@vger.kernel.org
1943119433
L: dri-devel@lists.freedesktop.org

drivers/bus/mhi/host/boot.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ void mhi_fw_load_handler(struct mhi_controller *mhi_cntrl)
608608
return;
609609

610610
error_ready_state:
611-
if (fw_load_type == MHI_FW_LOAD_FBC) {
611+
if (mhi_cntrl->fbc_image) {
612612
mhi_free_bhie_table(mhi_cntrl, mhi_cntrl->fbc_image);
613613
mhi_cntrl->fbc_image = NULL;
614614
}

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

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -411,8 +411,24 @@ static struct dma_fence *amdgpu_job_run(struct drm_sched_job *sched_job)
411411
return fence;
412412
}
413413

414-
#define to_drm_sched_job(sched_job) \
415-
container_of((sched_job), struct drm_sched_job, queue_node)
414+
/*
415+
* This is a duplicate function from DRM scheduler sched_internal.h.
416+
* Plan is to remove it when amdgpu_job_stop_all_jobs_on_sched is removed, due
417+
* latter being incorrect and racy.
418+
*
419+
* See https://lore.kernel.org/amd-gfx/44edde63-7181-44fb-a4f7-94e50514f539@amd.com/
420+
*/
421+
static struct drm_sched_job *
422+
drm_sched_entity_queue_pop(struct drm_sched_entity *entity)
423+
{
424+
struct spsc_node *node;
425+
426+
node = spsc_queue_pop(&entity->job_queue);
427+
if (!node)
428+
return NULL;
429+
430+
return container_of(node, struct drm_sched_job, queue_node);
431+
}
416432

417433
void amdgpu_job_stop_all_jobs_on_sched(struct drm_gpu_scheduler *sched)
418434
{
@@ -425,7 +441,7 @@ void amdgpu_job_stop_all_jobs_on_sched(struct drm_gpu_scheduler *sched)
425441
struct drm_sched_rq *rq = sched->sched_rq[i];
426442
spin_lock(&rq->lock);
427443
list_for_each_entry(s_entity, &rq->entities, list) {
428-
while ((s_job = to_drm_sched_job(spsc_queue_pop(&s_entity->job_queue)))) {
444+
while ((s_job = drm_sched_entity_queue_pop(s_entity))) {
429445
struct drm_sched_fence *s_fence = s_job->s_fence;
430446

431447
dma_fence_signal(&s_fence->scheduled);

drivers/gpu/drm/aspeed/aspeed_gfx_drv.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,9 @@ static int aspeed_gfx_load(struct drm_device *drm)
144144
struct aspeed_gfx *priv = to_aspeed_gfx(drm);
145145
struct device_node *np = pdev->dev.of_node;
146146
const struct aspeed_gfx_config *config;
147-
struct resource *res;
148147
int ret;
149148

150-
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
151-
priv->base = devm_ioremap_resource(drm->dev, res);
149+
priv->base = devm_platform_ioremap_resource(pdev, 0);
152150
if (IS_ERR(priv->base))
153151
return PTR_ERR(priv->base);
154152

0 commit comments

Comments
 (0)