mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
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: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
5f674a5c46
commit
839ca903f1
3 changed files with 779 additions and 89 deletions
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue