Skip to content

Commit 43ed3c6

Browse files
committed
Merge tag 'drm-misc-next-2021-06-01' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.14: UAPI Changes: * Use DRM driver names for fbdev Cross-subsystem Changes: Core Changes: * Fix leaked DMA handles * Improve documentation around DRM_CLIENT_CAP_* * Cleanups * dp_mst: Use kHz as link-rate unit during init * fourcc: Remove drm_gem_format_name() and drm_format_name_buf * gem-cma: Fix mmap for buffers with write combining * ttm: Don't override pre-set vm_ops; ttm_bo_mmap() removal and cleanups Driver Changes: * drm/amdgpu: Fix hot unplug during suspend; Implement mmap as GEM object function; Use %p4cc format-string modifier; Cleanups * drm/bridge: Cdns: Fix PM reference leak, Cleanups; Lt8912b: Fix Coccinelle warnings; Fix Kconfig dependencies; Fixes and cleanups * drm/hisilicon/kirin: Cleanups * drm/nouveau: Implement mmap as GEM object function * drm/radeon: Implement mmap as GEM object function * drm/rockchip: Remove generic drivers during init; Add scaling for RK3036 win1; Fix missing registers for RK3066 and 3188; Add alpha support for RK3036, RK3066, RK3126 and RK3188; Fixes and cleanups * drm/simpledrm: Use %p4cc: format-string modifier * drm/vmwgfx: Cleanups * fbdev/matrox: Use modern module_init() Signed-off-by: Dave Airlie <[email protected]> From: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/YLZOKiYE6XFmE/[email protected]
2 parents 5522e9f + 2e290c8 commit 43ed3c6

File tree

149 files changed

+1809
-945
lines changed

Some content is hidden

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

149 files changed

+1809
-945
lines changed

Documentation/devicetree/bindings/display/brcm,bcm2835-vec.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
const: brcm,bcm2835-vec
14+
enum:
15+
- brcm,bcm2711-vec
16+
- brcm,bcm2835-vec
1517

1618
reg:
1719
maxItems: 1
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/bridge/google,cros-ec-anx7688.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ChromeOS EC ANX7688 HDMI to DP Converter through Type-C Port
8+
9+
maintainers:
10+
- Nicolas Boichat <[email protected]>
11+
- Enric Balletbo i Serra <[email protected]>
12+
13+
description: |
14+
ChromeOS EC ANX7688 is a display bridge that converts HDMI 2.0 to
15+
DisplayPort 1.3 Ultra-HDi (4096x2160p60). It is an Analogix ANX7688 chip
16+
which is connected to and operated by the ChromeOS Embedded Controller
17+
(See google,cros-ec.yaml). It is accessed using I2C tunneling through
18+
the EC and therefore its node should be a child of an EC I2C tunnel node
19+
(See google,cros-ec-i2c-tunnel.yaml).
20+
21+
properties:
22+
compatible:
23+
const: google,cros-ec-anx7688
24+
25+
reg:
26+
maxItems: 1
27+
description: I2C address of the device.
28+
29+
ports:
30+
$ref: /schemas/graph.yaml#/properties/ports
31+
32+
properties:
33+
port@0:
34+
$ref: /schemas/graph.yaml#/properties/port
35+
description: Video port for HDMI input.
36+
37+
port@1:
38+
$ref: /schemas/graph.yaml#/properties/port
39+
description: USB Type-c connector.
40+
41+
required:
42+
- port@0
43+
- port@1
44+
45+
required:
46+
- compatible
47+
- reg
48+
- ports
49+
50+
additionalProperties: false
51+
52+
examples:
53+
- |
54+
i2c_tunnel_b: i2c-tunnel1 {
55+
compatible = "google,cros-ec-i2c-tunnel";
56+
google,remote-bus = <1>;
57+
#address-cells = <1>;
58+
#size-cells = <0>;
59+
60+
anx7688: anx7688@2c {
61+
compatible = "google,cros-ec-anx7688";
62+
reg = <0x2c>;
63+
64+
ports {
65+
#address-cells = <1>;
66+
#size-cells = <0>;
67+
port@0 {
68+
reg = <0>;
69+
anx7688_in: endpoint {
70+
remote-endpoint = <&hdmi0_out>;
71+
};
72+
};
73+
port@1 {
74+
reg = <1>;
75+
anx7688_out: endpoint {
76+
remote-endpoint = <&typec_connector>;
77+
};
78+
};
79+
};
80+
};
81+
};
82+

Documentation/devicetree/bindings/display/faraday,tve200.txt

Lines changed: 0 additions & 54 deletions
This file was deleted.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/faraday,tve200.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Faraday TV Encoder TVE200
8+
9+
maintainers:
10+
- Linus Walleij <[email protected]>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- const: faraday,tve200
16+
- items:
17+
- const: cortina,gemini-tvc
18+
- const: faraday,tve200
19+
20+
reg:
21+
maxItems: 1
22+
23+
interrupts:
24+
minItems: 1
25+
26+
clock-names:
27+
items:
28+
- const: PCLK
29+
- const: TVE
30+
31+
clocks:
32+
minItems: 2
33+
34+
resets:
35+
minItems: 1
36+
37+
port:
38+
$ref: /schemas/graph.yaml#/properties/port
39+
40+
required:
41+
- compatible
42+
- reg
43+
- interrupts
44+
- clock-names
45+
- clocks
46+
47+
additionalProperties: false
48+
49+
examples:
50+
- |
51+
#include <dt-bindings/clock/cortina,gemini-clock.h>
52+
#include <dt-bindings/interrupt-controller/irq.h>
53+
#include <dt-bindings/reset/cortina,gemini-reset.h>
54+
display-controller@6a000000 {
55+
compatible = "faraday,tve200";
56+
reg = <0x6a000000 0x1000>;
57+
interrupts = <13 IRQ_TYPE_EDGE_RISING>;
58+
resets = <&syscon GEMINI_RESET_TVC>;
59+
clocks = <&syscon GEMINI_CLK_GATE_TVC>,
60+
<&syscon GEMINI_CLK_TVC>;
61+
clock-names = "PCLK", "TVE";
62+
63+
port {
64+
display_out: endpoint {
65+
remote-endpoint = <&panel_in>;
66+
};
67+
};
68+
};

drivers/gpu/drm/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ config DRM_FBDEV_EMULATION
9999
bool "Enable legacy fbdev support for your modesetting driver"
100100
depends on DRM
101101
select DRM_KMS_HELPER
102-
select DRM_KMS_FB_HELPER
103102
select FB
104103
select FB_CFB_FILLRECT
105104
select FB_CFB_COPYAREA

drivers/gpu/drm/amd/amdgpu/amdgpu.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,7 +1078,7 @@ struct amdgpu_device {
10781078
uint32_t ras_hw_enabled;
10791079
uint32_t ras_enabled;
10801080

1081-
bool in_pci_err_recovery;
1081+
bool no_hw_access;
10821082
struct pci_saved_state *pci_state;
10831083

10841084
struct amdgpu_reset_control *reset_cntl;
@@ -1101,7 +1101,9 @@ static inline struct amdgpu_device *amdgpu_ttm_adev(struct ttm_device *bdev)
11011101

11021102
int amdgpu_device_init(struct amdgpu_device *adev,
11031103
uint32_t flags);
1104-
void amdgpu_device_fini(struct amdgpu_device *adev);
1104+
void amdgpu_device_fini_hw(struct amdgpu_device *adev);
1105+
void amdgpu_device_fini_sw(struct amdgpu_device *adev);
1106+
11051107
int amdgpu_gpu_wait_for_idle(struct amdgpu_device *adev);
11061108

11071109
void amdgpu_device_vram_access(struct amdgpu_device *adev, loff_t pos,
@@ -1321,6 +1323,8 @@ void amdgpu_driver_lastclose_kms(struct drm_device *dev);
13211323
int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv);
13221324
void amdgpu_driver_postclose_kms(struct drm_device *dev,
13231325
struct drm_file *file_priv);
1326+
void amdgpu_driver_release_kms(struct drm_device *dev);
1327+
13241328
int amdgpu_device_ip_suspend(struct amdgpu_device *adev);
13251329
int amdgpu_device_suspend(struct drm_device *dev, bool fbcon);
13261330
int amdgpu_device_resume(struct drm_device *dev, bool fbcon);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev)
170170
}
171171
}
172172

173-
void amdgpu_amdkfd_device_fini(struct amdgpu_device *adev)
173+
void amdgpu_amdkfd_device_fini_sw(struct amdgpu_device *adev)
174174
{
175175
if (adev->kfd.dev) {
176176
kgd2kfd_device_exit(adev->kfd.dev);

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev,
142142
const void *ih_ring_entry);
143143
void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev);
144144
void amdgpu_amdkfd_device_init(struct amdgpu_device *adev);
145-
void amdgpu_amdkfd_device_fini(struct amdgpu_device *adev);
145+
void amdgpu_amdkfd_device_fini_sw(struct amdgpu_device *adev);
146146
int amdgpu_amdkfd_submit_ib(struct kgd_dev *kgd, enum kgd_engine_type engine,
147147
uint32_t vmid, uint64_t gpu_addr,
148148
uint32_t *ib_cmd, uint32_t ib_len);

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

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1768,6 +1768,15 @@ static ssize_t amdgpu_atombios_get_vbios_version(struct device *dev,
17681768
static DEVICE_ATTR(vbios_version, 0444, amdgpu_atombios_get_vbios_version,
17691769
NULL);
17701770

1771+
static struct attribute *amdgpu_vbios_version_attrs[] = {
1772+
&dev_attr_vbios_version.attr,
1773+
NULL
1774+
};
1775+
1776+
const struct attribute_group amdgpu_vbios_version_attr_group = {
1777+
.attrs = amdgpu_vbios_version_attrs
1778+
};
1779+
17711780
/**
17721781
* amdgpu_atombios_fini - free the driver info and callbacks for atombios
17731782
*
@@ -1787,7 +1796,6 @@ void amdgpu_atombios_fini(struct amdgpu_device *adev)
17871796
adev->mode_info.atom_context = NULL;
17881797
kfree(adev->mode_info.atom_card_info);
17891798
adev->mode_info.atom_card_info = NULL;
1790-
device_remove_file(adev->dev, &dev_attr_vbios_version);
17911799
}
17921800

17931801
/**
@@ -1804,7 +1812,6 @@ int amdgpu_atombios_init(struct amdgpu_device *adev)
18041812
{
18051813
struct card_info *atom_card_info =
18061814
kzalloc(sizeof(struct card_info), GFP_KERNEL);
1807-
int ret;
18081815

18091816
if (!atom_card_info)
18101817
return -ENOMEM;
@@ -1836,12 +1843,6 @@ int amdgpu_atombios_init(struct amdgpu_device *adev)
18361843
amdgpu_atombios_allocate_fb_scratch(adev);
18371844
}
18381845

1839-
ret = device_create_file(adev->dev, &dev_attr_vbios_version);
1840-
if (ret) {
1841-
DRM_ERROR("Failed to create device file for VBIOS version\n");
1842-
return ret;
1843-
}
1844-
18451846
return 0;
18461847
}
18471848

0 commit comments

Comments
 (0)