1. 03 3月, 2016 5 次提交
    • T
      drm/omap: Add dispc_mgr_get_supported_outputs() · 7b9cb5ee
      Tomi Valkeinen 提交于
      We are removing the use of the 'struct omap_overlay_manager' from
      omapdrm, and one part of that is removing the use of
      mgr->supported_outputs field.
      
      This patch adds dispc_mgr_get_supported_outputs() function which can be
      used instead of mgr->supported_outputs. omap_crtc.c is changed to use
      the new function.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      7b9cb5ee
    • T
      drm/omap: fix crtc->plane property delegation · 6bdad6cf
      Tomi Valkeinen 提交于
      Before universal planes we had to have plane specific properties for the
      crtc too, as on the hardware level a crtc uses a plane. In other words,
      e.g. 'zorder' property was added to both planes and crtcs, and
      omap_crtc.c would delegate the property set/get to the primary plane.
      
      However, the delegation was a bit too generic, delegating all property
      set/get calls to planes. Thus it's possible to set, say, FB_ID, on a
      crtc, which gets redirected to  the primary plane.
      
      This is not standard, and shouldn't be allowed. To keep backward
      compatibility, we still need to redirect the properties we supported
      earlier for crtcs, namely 'zorder' and 'rotation'.
      
      This patch redirects only the allowed properties from crtcs to planes.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      6bdad6cf
    • T
      drm/omap: increase vblank wait timeout · 61f3c40b
      Tomi Valkeinen 提交于
      omap_crtc_wait_pending() waits until the config changes have been taken
      into use, usually at next vblank. The wait-timeout used is 50ms, which
      usually is enough, but in some rare cases not.
      
      As time wait-timeout is just a safety measure for cases where something
      is broken, we can just as well increase the timeout considerably.
      
      This patch makes the timeout 250ms.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      61f3c40b
    • J
      drm/omap: drm_atomic_get_plane_state() may return ERR_PTR · a7696ea7
      Jyri Sarha 提交于
      drm_atomic_get_plane_state() may return ERR_PTR. Handle
      drm_atomic_get_plane_state() return values right in
      omap_crtc_atomic_set_property().
      Signed-off-by: NJyri Sarha <jsarha@ti.com>
      Acked-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      a7696ea7
    • T
      drm/omap: HDMI: change enable/disable to avoid sync-losts · 4e4b53ce
      Tomi Valkeinen 提交于
      We occasionally see DISPC sync-lost errors when enabling and disabling
      HDMI. Sometimes we get only a few, which get handled (ignored) by the
      driver, but sometimes there's a flood of the errors which doesn't seem
      to stop.
      
      The HW team has root caused this to the order in which HDMI and DISPC
      are enabled/disabled. Currently we enable HDMI first, and then DISPC,
      and vice versa when disabling. HW team's suggestion is to do it the
      other way around.
      
      This patch changes the order, but this has two side effects as the pixel
      clock is produced by HDMI, and the clock is not running when we
      enable/disable DISPC:
      
      * When enabling DISPC first, we don't get vertical sync events
      * When disabling DISPC last, we don't get FRAMEDONE event
      
      At the moment we use both of those to verify that DISPC has been
      enabled/disabled properly. Thus this patch also needs to change the
      omapdrm and omapdss which handle the DISPC side.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      4e4b53ce
  2. 11 12月, 2015 1 次提交
    • V
      drm: Pass 'name' to drm_crtc_init_with_planes() · f9882876
      Ville Syrjälä 提交于
      Done with coccinelle for the most part. However, it thinks '...' is
      part of the semantic patch, so I put an 'int DOTDOTDOT' placeholder
      in its place and got rid of it with sed afterwards.
      
      I didn't convert drm_crtc_init() since passing the varargs through
      would mean either cpp macros or va_list, and I figured we don't
      care about these legacy functions enough to warrant the extra pain.
      
      @@
      identifier dev, crtc, primary, cursor, funcs;
      @@
       int drm_crtc_init_with_planes(struct drm_device *dev,
                                     struct drm_crtc *crtc,
                                     struct drm_plane *primary, struct drm_plane *cursor,
                                     const struct drm_crtc_funcs *funcs
      +                              ,const char *name, int DOTDOTDOT
                                     )
      { ... }
      
      @@
      identifier dev, crtc, primary, cursor, funcs;
      @@
       int drm_crtc_init_with_planes(struct drm_device *dev,
                                     struct drm_crtc *crtc,
                                     struct drm_plane *primary, struct drm_plane *cursor,
                                     const struct drm_crtc_funcs *funcs
      +                              ,const char *name, int DOTDOTDOT
                                     );
      
      @@
      expression E1, E2, E3, E4, E5;
      @@
       drm_crtc_init_with_planes(E1, E2, E3, E4, E5
      +                          ,NULL
                                 )
      
      v2: Split crtc and plane changes apart
          Pass NULL for no-name instead of ""
          Leave drm_crtc_init() alone
      v3: Add ', or NULL...' to @name kernel doc (Jani)
          Annotate the function with __printf() attribute (Jani)
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1449670771-2751-1-git-send-email-ville.syrjala@linux.intel.com
      f9882876
  3. 19 10月, 2015 1 次提交
  4. 06 8月, 2015 1 次提交
  5. 13 6月, 2015 32 次提交