Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 839ca903 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/kms/nv50: transition to atomic interfaces internally



This commit implements the atomic commit interfaces, and implements the
legacy modeset and page flipping interfaces on top of them.

There's two major changes in behavior from before:

- We're now making use of interlocks between core and satellite EVO
  channels, which greatly improves our ability to keep their states
  synchronised.
- DPMS is now implemented as a full modeset to either tear down the
  entire pipe (or bring it back up).  This choice was made mostly
  to ease the initial implementation, but I'm also not sure what we
  gain by bring backing the old behaviour.  We shall see.

This does NOT currently expose the atomic ioctl by default, due to
limited testing having been performed.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 5f674a5c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -280,7 +280,7 @@ nouveau_framebuffer_new(struct drm_device *dev,
	return ret;
}

static struct drm_framebuffer *
struct drm_framebuffer *
nouveau_user_framebuffer_create(struct drm_device *dev,
				struct drm_file *file_priv,
				const struct drm_mode_fb_cmd2 *mode_cmd)
+3 −0
Original line number Diff line number Diff line
@@ -106,4 +106,7 @@ nouveau_backlight_exit(struct drm_device *dev) {
}
#endif

struct drm_framebuffer *
nouveau_user_framebuffer_create(struct drm_device *, struct drm_file *,
				const struct drm_mode_fb_cmd2 *);
#endif
+775 −88

File changed.

Preview size limit exceeded, changes collapsed.