Skip to content

Commit b8887e7

Browse files
committed
Merge tag 'drm-misc-next-2023-05-24' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v6.5: UAPI Changes: Cross-subsystem Changes: * fbdev: Move framebuffer I/O helpers to <asm/fb.h>, fix naming * firmware: Init sysfb as early as possible Core Changes: * DRM scheduler: Rename interfaces * ttm: Store ttm_device_funcs in .rodata * Replace strlcpy() with strscpy() in various places * Cleanups Driver Changes: * bridge: analogix: Fix endless probe loop; samsung-dsim: Support swapping clock/data polarity; tc358767: Use devm_ Cleanups; * gma500: Fix I/O-memory access * panel: boe-tv101wum-nl6: Improve initialization; sharp-ls043t1le001: Mode fixes; simple: Add BOE EV121WXM-N10-1850 plus DT bindings; AddS6D7AA0 plus DT bindings; Cleanups * ssd1307x: Style fixes * sun4i: Release clocks * msm: Fix I/O-memory access * nouveau: Cleanups * shmobile: Support Renesas; Enable framebuffer console; Various fixes * vkms: Fix RGB565 conversion Signed-off-by: Dave Airlie <[email protected]> # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCAAdFiEEchf7rIzpz2NEoWjlaA3BHVMLeiMFAmRuBXEACgkQaA3BHVML # eiPLkwgAqCa7IuSDQhFMWVOI0EJpPPEHtHM8SCT1Pp8aniXk23Ru+E16c5zck53O # uf4tB+zoFrwD9npy60LIvX1OZmXS1KI4+ZO8itYFk6GSjxqbTWbjNFREBeWFdIpa # OG54nEqjFQZzEXY+gJYDpu5zqLy3xLN07ZgQkcMyfW3O/Krj4LLzfQTDl+jP5wkO # 7/v5Eu5CG5QjupMxIjb4e+ruUflp73pynur5bhZsfS1bPNGFTnxHlwg7NWnBXU7o # Hg23UYfCuZZWPmuO26EeUDlN33rCoaycmVgtpdZft2eznca5Mg74Loz1Qc3GQfjw # LLvKsAIlBcZvEIhElkzhtXitBoe7LQ== # =/9zV # -----END PGP SIGNATURE----- # gpg: Signature made Wed 24 May 2023 22:39:13 AEST # gpg: using RSA key 7217FBAC8CE9CF6344A168E5680DC11D530B7A23 # gpg: Can't check signature: No public key # Conflicts: # MAINTAINERS From: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/20230524124237.GA25416@linux-uq9g
2 parents 33a8617 + 4bd6578 commit b8887e7

Some content is hidden

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

67 files changed

+1476
-437
lines changed

Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,29 @@ properties:
105105
DSI output port node to the panel or the next bridge
106106
in the chain.
107107

108+
properties:
109+
endpoint:
110+
$ref: /schemas/media/video-interfaces.yaml#
111+
unevaluatedProperties: false
112+
113+
properties:
114+
data-lanes:
115+
minItems: 1
116+
maxItems: 4
117+
uniqueItems: true
118+
items:
119+
enum: [ 1, 2, 3, 4 ]
120+
121+
lane-polarities:
122+
minItems: 1
123+
maxItems: 5
124+
description:
125+
The Samsung MIPI DSI IP requires that all the data lanes have
126+
the same polarity.
127+
128+
dependencies:
129+
lane-polarities: [data-lanes]
130+
108131
required:
109132
- clock-names
110133
- clocks

Documentation/devicetree/bindings/display/bridge/toshiba,tc358767.yaml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,24 @@
44
$id: http://devicetree.org/schemas/display/bridge/toshiba,tc358767.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Toshiba TC358767 eDP bridge
7+
title: Toshiba TC358767/TC358867/TC9595 DSI/DPI/eDP bridge
88

99
maintainers:
1010
- Andrey Gusakov <[email protected]>
1111

12-
description: The TC358767 is bridge device which converts DSI/DPI to eDP/DP
12+
description: |
13+
The TC358767/TC358867/TC9595 is bridge device which
14+
converts DSI/DPI to eDP/DP .
1315
1416
properties:
1517
compatible:
16-
const: toshiba,tc358767
18+
oneOf:
19+
- items:
20+
- enum:
21+
- toshiba,tc358867
22+
- toshiba,tc9595
23+
- const: toshiba,tc358767
24+
- const: toshiba,tc358767
1725

1826
reg:
1927
enum:

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ properties:
7777
- auo,t215hvn01
7878
# Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
7979
- avic,tm070ddh03
80+
# BOE EV121WXM-N10-1850 12.1" WXGA (1280x800) TFT LCD panel
81+
- boe,ev121wxm-n10-1850
8082
# BOE HV070WSA-100 7.01" WSVGA TFT LCD panel
8183
- boe,hv070wsa-100
8284
# BOE OPTOELECTRONICS TECHNOLOGY 10.1" WXGA TFT LCD panel
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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,s6d7aa0.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Samsung S6D7AA0 MIPI-DSI LCD panel controller
8+
9+
maintainers:
10+
- Artur Weber <[email protected]>
11+
12+
allOf:
13+
- $ref: panel-common.yaml#
14+
15+
properties:
16+
compatible:
17+
items:
18+
- enum:
19+
# 1280x800 LSL080AL02 panel
20+
- samsung,lsl080al02
21+
# 1024x768 LSL080AL03 panel
22+
- samsung,lsl080al03
23+
# 1024x768 LTL101AT01 panel
24+
- samsung,ltl101at01
25+
- const: samsung,s6d7aa0
26+
27+
reg: true
28+
29+
backlight:
30+
description:
31+
Backlight to use for the panel. If this property is set on panels
32+
that have DSI-based backlight control (LSL080AL03 and LTL101AT01),
33+
it overrides the DSI-based backlight.
34+
35+
reset-gpios:
36+
description: Reset GPIO pin, usually GPIO_ACTIVE_LOW.
37+
38+
power-supply:
39+
description:
40+
Main power supply for the panel; the exact voltage differs between
41+
panels, and is usually somewhere around 3.3-5v.
42+
43+
vmipi-supply:
44+
description: VMIPI supply, usually 1.8v.
45+
46+
required:
47+
- compatible
48+
- reg
49+
- reset-gpios
50+
51+
additionalProperties: false
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/gpio/gpio.h>
56+
57+
dsi {
58+
#address-cells = <1>;
59+
#size-cells = <0>;
60+
61+
panel@0 {
62+
compatible = "samsung,lsl080al02", "samsung,s6d7aa0";
63+
reg = <0>;
64+
power-supply = <&display_3v3_supply>;
65+
reset-gpios = <&gpf0 4 GPIO_ACTIVE_LOW>;
66+
backlight = <&backlight>;
67+
};
68+
};
69+
70+
...

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6691,6 +6691,12 @@ S: Maintained
66916691
F: Documentation/devicetree/bindings/display/panel/samsung,s6d27a1.yaml
66926692
F: drivers/gpu/drm/panel/panel-samsung-s6d27a1.c
66936693

6694+
DRM DRIVER FOR SAMSUNG S6D7AA0 PANELS
6695+
M: Artur Weber <[email protected]>
6696+
S: Maintained
6697+
F: Documentation/devicetree/bindings/display/panel/samsung,s6d7aa0.yaml
6698+
F: drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
6699+
66946700
DRM DRIVER FOR SITRONIX ST7586 PANELS
66956701
M: David Lechner <[email protected]>
66966702
S: Maintained

arch/ia64/include/asm/fb.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
#ifndef _ASM_FB_H_
33
#define _ASM_FB_H_
44

5+
#include <linux/compiler.h>
56
#include <linux/efi.h>
7+
#include <linux/string.h>
68

79
#include <asm/page.h>
810

@@ -18,6 +20,24 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
1820
}
1921
#define fb_pgprotect fb_pgprotect
2022

23+
static inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n)
24+
{
25+
memcpy(to, (void __force *)from, n);
26+
}
27+
#define fb_memcpy_fromio fb_memcpy_fromio
28+
29+
static inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n)
30+
{
31+
memcpy((void __force *)to, from, n);
32+
}
33+
#define fb_memcpy_toio fb_memcpy_toio
34+
35+
static inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n)
36+
{
37+
memset((void __force *)addr, c, n);
38+
}
39+
#define fb_memset fb_memset_io
40+
2141
#include <asm-generic/fb.h>
2242

2343
#endif /* _ASM_FB_H_ */

arch/loongarch/include/asm/fb.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,27 @@
55
#ifndef _ASM_FB_H_
66
#define _ASM_FB_H_
77

8+
#include <linux/compiler.h>
9+
#include <linux/string.h>
10+
11+
static inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n)
12+
{
13+
memcpy(to, (void __force *)from, n);
14+
}
15+
#define fb_memcpy_fromio fb_memcpy_fromio
16+
17+
static inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n)
18+
{
19+
memcpy((void __force *)to, from, n);
20+
}
21+
#define fb_memcpy_toio fb_memcpy_toio
22+
23+
static inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n)
24+
{
25+
memset((void __force *)addr, c, n);
26+
}
27+
#define fb_memset fb_memset_io
28+
829
#include <asm-generic/fb.h>
930

1031
#endif /* _ASM_FB_H_ */

arch/mips/include/asm/fb.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,28 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
1212
}
1313
#define fb_pgprotect fb_pgprotect
1414

15+
/*
16+
* MIPS doesn't define __raw_ I/O macros, so the helpers
17+
* in <asm-generic/fb.h> don't generate fb_readq() and
18+
* fb_write(). We have to provide them here.
19+
*
20+
* TODO: Convert MIPS to generic I/O. The helpers below can
21+
* then be removed.
22+
*/
23+
#ifdef CONFIG_64BIT
24+
static inline u64 fb_readq(const volatile void __iomem *addr)
25+
{
26+
return __raw_readq(addr);
27+
}
28+
#define fb_readq fb_readq
29+
30+
static inline void fb_writeq(u64 b, volatile void __iomem *addr)
31+
{
32+
__raw_writeq(b, addr);
33+
}
34+
#define fb_writeq fb_writeq
35+
#endif
36+
1537
#include <asm-generic/fb.h>
1638

1739
#endif /* _ASM_FB_H_ */

arch/parisc/video/fbdev.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
* Copyright (C) 2001-2002 Thomas Bogendoerfer <[email protected]>
66
*/
77

8+
#include <linux/fb.h>
89
#include <linux/module.h>
910

10-
#include <asm/fb.h>
11-
1211
#include <video/sticore.h>
1312

1413
int fb_is_primary_device(struct fb_info *info)

arch/sparc/include/asm/fb.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
#ifndef _SPARC_FB_H_
33
#define _SPARC_FB_H_
44

5+
#include <linux/io.h>
6+
57
struct fb_info;
68
struct file;
79
struct vm_area_struct;
@@ -16,6 +18,24 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
1618
int fb_is_primary_device(struct fb_info *info);
1719
#define fb_is_primary_device fb_is_primary_device
1820

21+
static inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n)
22+
{
23+
sbus_memcpy_fromio(to, from, n);
24+
}
25+
#define fb_memcpy_fromio fb_memcpy_fromio
26+
27+
static inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n)
28+
{
29+
sbus_memcpy_toio(to, from, n);
30+
}
31+
#define fb_memcpy_toio fb_memcpy_toio
32+
33+
static inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n)
34+
{
35+
sbus_memset_io(addr, c, n);
36+
}
37+
#define fb_memset fb_memset_io
38+
1939
#include <asm-generic/fb.h>
2040

2141
#endif /* _SPARC_FB_H_ */

0 commit comments

Comments
 (0)