]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
Merge tag 'du-next-20190318' of git://linuxtv.org/pinchartl/media into drm-next
authorDave Airlie <airlied@redhat.com>
Mon, 25 Mar 2019 00:55:43 +0000 (10:55 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 25 Mar 2019 00:55:57 +0000 (10:55 +1000)
Renesas display drivers changes for v5.2:

- Display writeback (includes VSP changes and DRM/KMS API changes)
(All v4l patches acked by Mauro)
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190318153613.GE12707@pendragon.ideasonboard.com
1  2 
drivers/gpu/drm/drm_atomic_helper.c

index 3b7eb58817f01d261b6dc1dc3168c84d801dd340,f89641216a449c3d7bb36b24411d6243c5ce524e..dc8ae98071b4e2cacce1b3de735e221d709329de
@@@ -495,7 -495,7 +495,7 @@@ mode_fixup(struct drm_atomic_state *sta
  static enum drm_mode_status mode_valid_path(struct drm_connector *connector,
                                            struct drm_encoder *encoder,
                                            struct drm_crtc *crtc,
 -                                          struct drm_display_mode *mode)
 +                                          const struct drm_display_mode *mode)
  {
        enum drm_mode_status ret;
  
@@@ -534,7 -534,7 +534,7 @@@ mode_valid(struct drm_atomic_state *sta
                struct drm_crtc *crtc = conn_state->crtc;
                struct drm_crtc_state *crtc_state;
                enum drm_mode_status mode_status;
 -              struct drm_display_mode *mode;
 +              const struct drm_display_mode *mode;
  
                if (!crtc || !encoder)
                        continue;
@@@ -2261,10 -2261,21 +2261,21 @@@ EXPORT_SYMBOL(drm_atomic_helper_commit_
  int drm_atomic_helper_prepare_planes(struct drm_device *dev,
                                     struct drm_atomic_state *state)
  {
+       struct drm_connector *connector;
+       struct drm_connector_state *new_conn_state;
        struct drm_plane *plane;
        struct drm_plane_state *new_plane_state;
        int ret, i, j;
  
+       for_each_new_connector_in_state(state, connector, new_conn_state, i) {
+               if (!new_conn_state->writeback_job)
+                       continue;
+               ret = drm_writeback_prepare_job(new_conn_state->writeback_job);
+               if (ret < 0)
+                       return ret;
+       }
        for_each_new_plane_in_state(state, plane, new_plane_state, i) {
                const struct drm_plane_helper_funcs *funcs;