mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 11:33:36 -04:00
drm/virtio: New fence for every plane update
Having a fence linked to a virtio_gpu_framebuffer in the plane update sequence would cause conflict when several planes referencing the same framebuffer (e.g. Xorg screen covering multi-displays configured for an extended mode) and those planes are updated concurrently. So it is needed to allocate a fence for every plane state instead of the framebuffer. Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> [dmitry.osipenko@collabora.com: rebase, fix up, edit commit message] Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241020230803.247419-2-dmitry.osipenko@collabora.com
This commit is contained in:
committed by
Dmitry Osipenko
parent
30f86b8f86
commit
d3c55b8ab6
@@ -194,6 +194,13 @@ struct virtio_gpu_framebuffer {
|
||||
#define to_virtio_gpu_framebuffer(x) \
|
||||
container_of(x, struct virtio_gpu_framebuffer, base)
|
||||
|
||||
struct virtio_gpu_plane_state {
|
||||
struct drm_plane_state base;
|
||||
struct virtio_gpu_fence *fence;
|
||||
};
|
||||
#define to_virtio_gpu_plane_state(x) \
|
||||
container_of(x, struct virtio_gpu_plane_state, base)
|
||||
|
||||
struct virtio_gpu_queue {
|
||||
struct virtqueue *vq;
|
||||
spinlock_t qlock;
|
||||
|
||||
Reference in New Issue
Block a user