Skip to content

Commit c391220

Browse files
committed
Merge tag 'drm-misc-next-2024-10-17' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for v6.13: Cross-subsystem Changes: - Small fixes to dma-buf. Core Changes: - Convert many drivers to use video aperture helpers and remove the DRM one. Driver Changes: - Add coredump, pantherlake support to accel/ivpu. - Assorted bugfixes to ivpu, edp-panel, bochs, gcc-15, panel/s6e3ha8. - Docbook fixes for TTM. - Add Samsung AMS581VF01 Signed-off-by: Dave Airlie <[email protected]> From: Maarten Lankhorst <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents f186423 + 134e71b commit c391220

Some content is hidden

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

86 files changed

+1539
-735
lines changed

Documentation/accel/qaic/aic080.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.. SPDX-License-Identifier: GPL-2.0-only
2+
3+
===============================
4+
Qualcomm Cloud AI 80 (AIC080)
5+
===============================
6+
7+
Overview
8+
========
9+
10+
The Qualcomm Cloud AI 80/AIC080 family of products are a derivative of AIC100.
11+
The number of NSPs and clock rates are reduced to fit within resource
12+
constrained solutions. The PCIe Product ID is 0xa080.
13+
14+
As a derivative product, all AIC100 documentation applies.

Documentation/accel/qaic/aic100.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@ of the defined channels, and their uses.
229229
| _PERIODIC | | | timestamps in the device side logs with|
230230
| | | | the host time source. |
231231
+----------------+---------+----------+----------------------------------------+
232+
| IPCR | 24 & 25 | AMSS | AF_QIPCRTR clients and servers. |
233+
+----------------+---------+----------+----------------------------------------+
232234

233235
DMA Bridge
234236
==========

Documentation/accel/qaic/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ accelerator cards.
1010
.. toctree::
1111

1212
qaic
13+
aic080
1314
aic100
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
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/samsung,ams581vf01.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Samsung AMS581VF01 SOFEF01-based 5.81" 1080x2340 MIPI-DSI Panel
8+
9+
maintainers:
10+
- Danila Tikhonov <[email protected]>
11+
12+
description:
13+
The Samsung AMS581VF01 is a 5.81 inch 1080x2340 MIPI-DSI CMD mode OLED panel.
14+
15+
allOf:
16+
- $ref: panel-common.yaml#
17+
18+
properties:
19+
compatible:
20+
const: samsung,ams581vf01
21+
22+
reg:
23+
maxItems: 1
24+
25+
vdd3p3-supply:
26+
description: 3.3V source voltage rail
27+
28+
vddio-supply:
29+
description: I/O source voltage rail
30+
31+
vsn-supply:
32+
description: Negative source voltage rail
33+
34+
vsp-supply:
35+
description: Positive source voltage rail
36+
37+
reset-gpios: true
38+
port: true
39+
40+
required:
41+
- compatible
42+
- reg
43+
- vdd3p3-supply
44+
- vddio-supply
45+
- vsn-supply
46+
- vsp-supply
47+
- reset-gpios
48+
- port
49+
50+
additionalProperties: false
51+
52+
examples:
53+
- |
54+
#include <dt-bindings/gpio/gpio.h>
55+
56+
dsi {
57+
#address-cells = <1>;
58+
#size-cells = <0>;
59+
60+
panel@0 {
61+
compatible = "samsung,ams581vf01";
62+
reg = <0>;
63+
64+
vdd3p3-supply = <&vreg_l7c_3p0>;
65+
vddio-supply = <&vreg_l13a_1p8>;
66+
vsn-supply = <&vreg_ibb>;
67+
vsp-supply = <&vreg_lab>;
68+
69+
reset-gpios = <&pm6150l_gpios 9 GPIO_ACTIVE_LOW>;
70+
71+
port {
72+
panel_in: endpoint {
73+
remote-endpoint = <&mdss_dsi0_out>;
74+
};
75+
};
76+
};
77+
};
78+
79+
...

Documentation/gpu/drm-internals.rst

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,6 @@ Module Initialization
7575
.. kernel-doc:: include/drm/drm_module.h
7676
:doc: overview
7777

78-
Managing Ownership of the Framebuffer Aperture
79-
----------------------------------------------
80-
81-
.. kernel-doc:: drivers/gpu/drm/drm_aperture.c
82-
:doc: overview
83-
84-
.. kernel-doc:: include/drm/drm_aperture.h
85-
:internal:
86-
87-
.. kernel-doc:: drivers/gpu/drm/drm_aperture.c
88-
:export:
89-
9078
Device Instance and Driver Handling
9179
-----------------------------------
9280

MAINTAINERS

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7097,12 +7097,10 @@ M: Javier Martinez Canillas <[email protected]>
70977097
70987098
S: Maintained
70997099
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
7100-
F: drivers/gpu/drm/drm_aperture.c
71017100
F: drivers/gpu/drm/tiny/ofdrm.c
71027101
F: drivers/gpu/drm/tiny/simpledrm.c
71037102
F: drivers/video/aperture.c
71047103
F: drivers/video/nomodeset.c
7105-
F: include/drm/drm_aperture.h
71067104
F: include/linux/aperture.h
71077105
F: include/video/nomodeset.h
71087106

@@ -7799,6 +7797,7 @@ F: include/uapi/drm/v3d_drm.h
77997797
DRM DRIVERS FOR VC4
78007798
M: Maxime Ripard <[email protected]>
78017799
M: Dave Stevenson <[email protected]>
7800+
R: Maíra Canal <[email protected]>
78027801
R: Raspberry Pi Kernel Maintenance <[email protected]>
78037802
S: Supported
78047803
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git

drivers/accel/ivpu/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ config DRM_ACCEL_IVPU
88
select FW_LOADER
99
select DRM_GEM_SHMEM_HELPER
1010
select GENERIC_ALLOCATOR
11+
select WANT_DEV_COREDUMP
1112
help
1213
Choose this option if you have a system with an 14th generation
1314
Intel CPU (Meteor Lake) or newer. Intel NPU (formerly called Intel VPU)

drivers/accel/ivpu/Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ intel_vpu-y := \
1616
ivpu_mmu_context.o \
1717
ivpu_ms.o \
1818
ivpu_pm.o \
19-
ivpu_sysfs.o
19+
ivpu_sysfs.o \
20+
ivpu_trace_points.o
2021

2122
intel_vpu-$(CONFIG_DEBUG_FS) += ivpu_debugfs.o
23+
intel_vpu-$(CONFIG_DEV_COREDUMP) += ivpu_coredump.o
2224

2325
obj-$(CONFIG_DRM_ACCEL_IVPU) += intel_vpu.o
26+
27+
CFLAGS_ivpu_trace_points.o = -I$(src)

drivers/accel/ivpu/ivpu_coredump.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
/*
3+
* Copyright (C) 2020-2024 Intel Corporation
4+
*/
5+
6+
#include <linux/devcoredump.h>
7+
#include <linux/firmware.h>
8+
9+
#include "ivpu_coredump.h"
10+
#include "ivpu_fw.h"
11+
#include "ivpu_gem.h"
12+
#include "vpu_boot_api.h"
13+
14+
#define CRASH_DUMP_HEADER "Intel NPU crash dump"
15+
#define CRASH_DUMP_HEADERS_SIZE SZ_4K
16+
17+
void ivpu_dev_coredump(struct ivpu_device *vdev)
18+
{
19+
struct drm_print_iterator pi = {};
20+
struct drm_printer p;
21+
size_t coredump_size;
22+
char *coredump;
23+
24+
coredump_size = CRASH_DUMP_HEADERS_SIZE + FW_VERSION_HEADER_SIZE +
25+
ivpu_bo_size(vdev->fw->mem_log_crit) + ivpu_bo_size(vdev->fw->mem_log_verb);
26+
coredump = vmalloc(coredump_size);
27+
if (!coredump)
28+
return;
29+
30+
pi.data = coredump;
31+
pi.remain = coredump_size;
32+
p = drm_coredump_printer(&pi);
33+
34+
drm_printf(&p, "%s\n", CRASH_DUMP_HEADER);
35+
drm_printf(&p, "FW version: %s\n", vdev->fw->version);
36+
ivpu_fw_log_print(vdev, false, &p);
37+
38+
dev_coredumpv(vdev->drm.dev, coredump, pi.offset, GFP_KERNEL);
39+
}

drivers/accel/ivpu/ivpu_coredump.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/* SPDX-License-Identifier: GPL-2.0-only */
2+
/*
3+
* Copyright (C) 2020-2024 Intel Corporation
4+
*/
5+
6+
#ifndef __IVPU_COREDUMP_H__
7+
#define __IVPU_COREDUMP_H__
8+
9+
#include <drm/drm_print.h>
10+
11+
#include "ivpu_drv.h"
12+
#include "ivpu_fw_log.h"
13+
14+
#ifdef CONFIG_DEV_COREDUMP
15+
void ivpu_dev_coredump(struct ivpu_device *vdev);
16+
#else
17+
static inline void ivpu_dev_coredump(struct ivpu_device *vdev)
18+
{
19+
struct drm_printer p = drm_info_printer(vdev->drm.dev);
20+
21+
ivpu_fw_log_print(vdev, false, &p);
22+
}
23+
#endif
24+
25+
#endif /* __IVPU_COREDUMP_H__ */

0 commit comments

Comments
 (0)