Skip to content

Commit 79fb229

Browse files
committed
Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v6.7-rc1: UAPI Changes: - drm_file owner is now updated during use, in the case of a drm fd opened by the display server for a client, the correct owner is displayed. - Qaic gains support for the QAIC_DETACH_SLICE_BO ioctl to allow bo recycling. Cross-subsystem Changes: - Disable boot logo for au1200fb, mmpfb and unexport logo helpers. Only fbcon should manage display of logo. - Update freescale in MAINTAINERS. - Add some bridge files to bridge in MAINTAINERS. - Update gma500 driver repo in MAINTAINERS to point to drm-misc. Core Changes: - Move size computations to drm buddy allocator. - Make drm_atomic_helper_shutdown(NULL) a nop. - Assorted small fixes in drm_debugfs, DP-MST payload addition error handling. - Fix DRM_BRIDGE_ATTACH_NO_CONNECTOR handling. - Handle bad (h/v)sync_end in EDID by clipping to htotal. - Build GPUVM as a module. Driver Changes: - Simple drivers don't need to cache prepared result. - Call drm_atomic_helper_shutdown() in shutdown/unbind for a whole lot more drm drivers. - Assorted small fixes in amdgpu, ssd130x, bridge/it6621, accel/qaic, nouveau, tc358768. - Add NV12 for komeda writeback. - Add arbitration lost event to synopsis/dw-hdmi-cec. - Speed up s/r in nouveau by not restoring some big bo's. - Assorted nouveau display rework in preparation for GSP-RM, especially related to how the modeset sequence works and the DP sequence in relation to link training. - Update anx7816 panel. - Support NVSYNC and NHSYNC in tegra. - Allow multiple power domains in simple driver. Signed-off-by: Dave Airlie <[email protected]> From: Maarten Lankhorst <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents f107ff7 + 78f5446 commit 79fb229

File tree

156 files changed

+4652
-2800
lines changed

Some content is hidden

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

156 files changed

+4652
-2800
lines changed

Documentation/accel/qaic/qaic.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,16 @@ DRM_IOCTL_QAIC_PART_DEV
123123
AIC100 device and can be used for limiting a process to some subset of
124124
resources.
125125

126+
DRM_IOCTL_QAIC_DETACH_SLICE_BO
127+
This IOCTL allows userspace to remove the slicing information from a BO that
128+
was originally provided by a call to DRM_IOCTL_QAIC_ATTACH_SLICE_BO. This
129+
is the inverse of DRM_IOCTL_QAIC_ATTACH_SLICE_BO. The BO must be idle for
130+
DRM_IOCTL_QAIC_DETACH_SLICE_BO to be called. After a successful detach slice
131+
operation the BO may have new slicing information attached with a new call
132+
to DRM_IOCTL_QAIC_ATTACH_SLICE_BO. After detach slice, the BO cannot be
133+
executed until after a new attach slice operation. Combining attach slice
134+
and detach slice calls allows userspace to use a BO with multiple workloads.
135+
126136
Userspace Client Isolation
127137
==========================
128138

Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ properties:
1717
- analogix,anx7808
1818
- analogix,anx7812
1919
- analogix,anx7814
20+
- analogix,anx7816
2021
- analogix,anx7818
2122

2223
reg:

MAINTAINERS

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6908,7 +6908,9 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
69086908
F: Documentation/devicetree/bindings/display/bridge/
69096909
F: drivers/gpu/drm/bridge/
69106910
F: drivers/gpu/drm/drm_bridge.c
6911+
F: drivers/gpu/drm/drm_bridge_connector.c
69116912
F: include/drm/drm_bridge.h
6913+
F: include/drm/drm_bridge_connector.h
69126914

69136915
DRM DRIVERS FOR EXYNOS
69146916
M: Inki Dae <[email protected]>
@@ -6932,10 +6934,12 @@ F: Documentation/devicetree/bindings/display/fsl,dcu.txt
69326934
F: Documentation/devicetree/bindings/display/fsl,tcon.txt
69336935
F: drivers/gpu/drm/fsl-dcu/
69346936

6935-
DRM DRIVERS FOR FREESCALE IMX
6937+
DRM DRIVERS FOR FREESCALE IMX 5/6
69366938
M: Philipp Zabel <[email protected]>
69376939
69386940
S: Maintained
6941+
T: git git://anongit.freedesktop.org/drm/drm-misc
6942+
T: git git://git.pengutronix.de/git/pza/linux
69396943
F: Documentation/devicetree/bindings/display/imx/
69406944
F: drivers/gpu/drm/imx/ipuv3/
69416945
F: drivers/gpu/ipu-v3/
@@ -6954,7 +6958,7 @@ DRM DRIVERS FOR GMA500 (Poulsbo, Moorestown and derivative chipsets)
69546958
M: Patrik Jakobsson <[email protected]>
69556959
69566960
S: Maintained
6957-
T: git git://github.com/patjak/drm-gma500
6961+
T: git git://anongit.freedesktop.org/drm/drm-misc
69586962
F: drivers/gpu/drm/gma500/
69596963

69606964
DRM DRIVERS FOR HISILICON

drivers/accel/qaic/qaic.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
#define QAIC_DBC_OFF(i) ((i) * QAIC_DBC_SIZE + QAIC_DBC_BASE)
2828

2929
#define to_qaic_bo(obj) container_of(obj, struct qaic_bo, base)
30+
#define to_qaic_drm_device(dev) container_of(dev, struct qaic_drm_device, drm)
31+
#define to_drm(qddev) (&(qddev)->drm)
32+
#define to_accel_kdev(qddev) (to_drm(qddev)->accel->kdev) /* Return Linux device of accel node */
3033

3134
extern bool datapath_polling;
3235

@@ -137,6 +140,8 @@ struct qaic_device {
137140
};
138141

139142
struct qaic_drm_device {
143+
/* The drm device struct of this drm device */
144+
struct drm_device drm;
140145
/* Pointer to the root device struct driven by this driver */
141146
struct qaic_device *qdev;
142147
/*
@@ -146,8 +151,6 @@ struct qaic_drm_device {
146151
* device is the actual physical device
147152
*/
148153
s32 partition_id;
149-
/* Pointer to the drm device struct of this drm device */
150-
struct drm_device *ddev;
151154
/* Head in list of users who have opened this drm device */
152155
struct list_head users;
153156
/* Synchronizes access to users list */
@@ -158,8 +161,6 @@ struct qaic_bo {
158161
struct drm_gem_object base;
159162
/* Scatter/gather table for allocate/imported BO */
160163
struct sg_table *sgt;
161-
/* BO size requested by user. GEM object might be bigger in size. */
162-
u64 size;
163164
/* Head in list of slices of this BO */
164165
struct list_head slices;
165166
/* Total nents, for all slices of this BO */
@@ -221,7 +222,8 @@ struct qaic_bo {
221222
*/
222223
u32 queue_level_before;
223224
} perf_stats;
224-
225+
/* Synchronizes BO operations */
226+
struct mutex lock;
225227
};
226228

227229
struct bo_slice {
@@ -277,6 +279,7 @@ int qaic_execute_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *f
277279
int qaic_partial_execute_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv);
278280
int qaic_wait_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv);
279281
int qaic_perf_stats_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv);
282+
int qaic_detach_slice_bo_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv);
280283
void irq_polling_work(struct work_struct *work);
281284

282285
#endif /* _QAIC_H_ */

0 commit comments

Comments
 (0)