diff options
author | Dave Airlie <airlied@redhat.com> | 2017-05-17 22:57:06 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-05-17 22:57:06 -0400 |
commit | e98c58e55f68f8785aebfab1f8c9a03d8de0afe1 (patch) | |
tree | 8357e8fda6efb0867ac39fc6b9211a579721d00a /drivers/gpu/drm/drm_atomic_helper.c | |
parent | 2ea659a9ef488125eb46da6eb571de5eae5c43f6 (diff) | |
parent | 9cf8f5802f39d9991158b29033c852bccfc3a4d4 (diff) |
Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next
UAPI Changes:
- Return -ENODEV instead of -ENXIO when creating cma fb w/o valid gem (Daniel)
- Add aspect ratio and custom scaling propertis to connector state (Maarten)
Cross-subsystem Changes:
- None
Core Changes:
- Add Laurent as bridge reviewer and Andrzej as bridge maintainer (Archit)
- Maintain new STM driver through -misc (Yannick)
- Misc doc improvements (as is tradition) (Daniel)
- Add driver-private objects to atomic state (Dhinakaran)
- Deprecate preclose hook in modern drivers (use postclose) (Daniel)
- Add hwmode to vblank struct. This fixes mode access in irq context and reduced
a bunch of boilerplate (Daniel)
Driver Changes:
- vc4: Add out-fence support to vc4 V3D rendering (Eric)
- stm: Add stm32f429 display hw and am-480272h3tmqw-t01h panel support (Yannick)
- vc4: Remove 256MB cma limit from vc4 (Eric)
- dw-hdmi: Disable audio when inactive, instead of always enabled (Romain)
- zte: Add support for VGA to the ZTE driver (Shawn)
- i915: Track DP MST bandwidth and check it in atomic_check (Dhinakaran)
- vgem: Enable gem dmabuf import iface to facilitate ion testing (Laura)
- vc4: Add support for Cygnus (new dt compat string + couple bug fixes) (Eric)
- pl111: Add driver for pl111 CLCD display controller (Eric/Tom)
- vgem: Subclass drm_device instead of standalone platform device (Chris)
Cc: Archit Taneja <architt@codeaurora.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Yannick Fertre <yannick.fertre@st.com>
Cc: Romain Perier <romain.perier@collabora.com>
Cc: Navare, Manasi D <manasi.d.navare@intel.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Tom Cooksey <tom.cooksey@arm.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
* tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc: (72 commits)
drm: add missing declaration to drm_blend.h
drm/dp: Wait up all outstanding tx waiters
drm/dp: Read the tx msg state once after checking for an event
drm/prime: Forward declare struct device
drm/vblank: Lock down vblank->hwmode more
drm/vblank: drop the mode argument from drm_calc_vbltimestamp_from_scanoutpos
drm/vblank: Add FIXME comments about moving the vblank ts hooks
drm/vblank: Switch to bool in_vblank_irq in get_vblank_timestamp
drm/vblank: Switch drm_driver->get_vblank_timestamp to return a bool
drm/vgem: Convert to a struct drm_device subclass
gpu: drm: gma500: remove dead code
drm/sti: Adjust two checks for null pointers in sti_hqvdp_probe()
drm/sti: Fix typos in a comment line
drm/sti: Fix a typo in a comment line
drm/sti: Replace 17 seq_puts() calls by seq_putc()
drm/sti: Reduce function calls for sequence output at five places
drm/sti: use seq_puts to display a string
drm: Nerf the preclose callback for modern drivers
drm/exynos: Merge pre/postclose hooks
drm/tegra: switch to postclose
...
Diffstat (limited to 'drivers/gpu/drm/drm_atomic_helper.c')
-rw-r--r-- | drivers/gpu/drm/drm_atomic_helper.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 8be9719284b0..6426339427a4 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c | |||
@@ -1070,8 +1070,8 @@ EXPORT_SYMBOL(drm_atomic_helper_commit_modeset_enables); | |||
1070 | * | 1070 | * |
1071 | * Note that @pre_swap is needed since the point where we block for fences moves | 1071 | * Note that @pre_swap is needed since the point where we block for fences moves |
1072 | * around depending upon whether an atomic commit is blocking or | 1072 | * around depending upon whether an atomic commit is blocking or |
1073 | * non-blocking. For async commit all waiting needs to happen after | 1073 | * non-blocking. For non-blocking commit all waiting needs to happen after |
1074 | * drm_atomic_helper_swap_state() is called, but for synchronous commits we want | 1074 | * drm_atomic_helper_swap_state() is called, but for blocking commits we want |
1075 | * to wait **before** we do anything that can't be easily rolled back. That is | 1075 | * to wait **before** we do anything that can't be easily rolled back. That is |
1076 | * before we call drm_atomic_helper_swap_state(). | 1076 | * before we call drm_atomic_helper_swap_state(). |
1077 | * | 1077 | * |
@@ -2032,6 +2032,8 @@ void drm_atomic_helper_swap_state(struct drm_atomic_state *state, | |||
2032 | struct drm_plane *plane; | 2032 | struct drm_plane *plane; |
2033 | struct drm_plane_state *old_plane_state, *new_plane_state; | 2033 | struct drm_plane_state *old_plane_state, *new_plane_state; |
2034 | struct drm_crtc_commit *commit; | 2034 | struct drm_crtc_commit *commit; |
2035 | void *obj, *obj_state; | ||
2036 | const struct drm_private_state_funcs *funcs; | ||
2035 | 2037 | ||
2036 | if (stall) { | 2038 | if (stall) { |
2037 | for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) { | 2039 | for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) { |
@@ -2092,6 +2094,9 @@ void drm_atomic_helper_swap_state(struct drm_atomic_state *state, | |||
2092 | state->planes[i].state = old_plane_state; | 2094 | state->planes[i].state = old_plane_state; |
2093 | plane->state = new_plane_state; | 2095 | plane->state = new_plane_state; |
2094 | } | 2096 | } |
2097 | |||
2098 | __for_each_private_obj(state, obj, obj_state, i, funcs) | ||
2099 | funcs->swap_state(obj, &state->private_objs[i].obj_state); | ||
2095 | } | 2100 | } |
2096 | EXPORT_SYMBOL(drm_atomic_helper_swap_state); | 2101 | EXPORT_SYMBOL(drm_atomic_helper_swap_state); |
2097 | 2102 | ||
@@ -3517,7 +3522,8 @@ EXPORT_SYMBOL(drm_atomic_helper_connector_destroy_state); | |||
3517 | * | 3522 | * |
3518 | * Implements support for legacy gamma correction table for drivers | 3523 | * Implements support for legacy gamma correction table for drivers |
3519 | * that support color management through the DEGAMMA_LUT/GAMMA_LUT | 3524 | * that support color management through the DEGAMMA_LUT/GAMMA_LUT |
3520 | * properties. | 3525 | * properties. See drm_crtc_enable_color_mgmt() and the containing chapter for |
3526 | * how the atomic color management and gamma tables work. | ||
3521 | */ | 3527 | */ |
3522 | int drm_atomic_helper_legacy_gamma_set(struct drm_crtc *crtc, | 3528 | int drm_atomic_helper_legacy_gamma_set(struct drm_crtc *crtc, |
3523 | u16 *red, u16 *green, u16 *blue, | 3529 | u16 *red, u16 *green, u16 *blue, |