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

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
...@@ -280,7 +280,7 @@ nouveau_framebuffer_new(struct drm_device *dev, ...@@ -280,7 +280,7 @@ nouveau_framebuffer_new(struct drm_device *dev,
return ret; return ret;
} }
static struct drm_framebuffer * struct drm_framebuffer *
nouveau_user_framebuffer_create(struct drm_device *dev, nouveau_user_framebuffer_create(struct drm_device *dev,
struct drm_file *file_priv, struct drm_file *file_priv,
const struct drm_mode_fb_cmd2 *mode_cmd) const struct drm_mode_fb_cmd2 *mode_cmd)
......
...@@ -106,4 +106,7 @@ nouveau_backlight_exit(struct drm_device *dev) { ...@@ -106,4 +106,7 @@ nouveau_backlight_exit(struct drm_device *dev) {
} }
#endif #endif
struct drm_framebuffer *
nouveau_user_framebuffer_create(struct drm_device *, struct drm_file *,
const struct drm_mode_fb_cmd2 *);
#endif #endif
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment