drm/msm/atomic: fix issue with gnome-shell wayland
The gnome-shell wayland compositor triggers a setcrtc with an fb that is still being rendered, triggering the call to _wait_fence_interruptable(). But a NULL timeout means "don't wait, return -EBUSY if not ready", which in turn causes the setcrtc to fail. Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
e172d10a9c
commit
be7a7b8997
|
@ -178,6 +178,7 @@ int msm_atomic_commit(struct drm_device *dev,
|
|||
{
|
||||
int nplanes = dev->mode_config.num_total_plane;
|
||||
int ncrtcs = dev->mode_config.num_crtc;
|
||||
struct timespec timeout;
|
||||
struct msm_commit *c;
|
||||
int i, ret;
|
||||
|
||||
|
@ -250,7 +251,9 @@ int msm_atomic_commit(struct drm_device *dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
ret = msm_wait_fence_interruptable(dev, c->fence, NULL);
|
||||
jiffies_to_timespec(jiffies + msecs_to_jiffies(1000), &timeout);
|
||||
|
||||
ret = msm_wait_fence_interruptable(dev, c->fence, &timeout);
|
||||
if (ret) {
|
||||
WARN_ON(ret); // TODO unswap state back? or??
|
||||
commit_destroy(c);
|
||||
|
|
Loading…
Reference in New Issue