1. 22 10月, 2016 1 次提交
  2. 07 6月, 2016 1 次提交
    • J
      drm/omapdrm: Implement gamma_lut atomic crtc properties · 492a426a
      Jyri Sarha 提交于
      Implement gamma_lut atomic crtc properties, set crtc gamma size to 256
      for all crtcs and use drm_atomic_helper_legacy_gamma_set() as
      gamma_set func. The tv-out crtc has 1024 element gamma table (with
      10bit precision) in HW, but current Xorg server does not accept
      anything else but 256 elements so that is used for all CRTCs. The dss
      dispc API converts table of any length for HW and uses linear
      interpolation in the process. The default gamma table is restored
      if gamma_lut property is deleted.
      Signed-off-by: NJyri Sarha <jsarha@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      492a426a
  3. 05 3月, 2016 1 次提交
  4. 03 3月, 2016 9 次提交
    • T
      drm/omap: remove last uses of omap_overlay_manager · 751d2e18
      Tomi Valkeinen 提交于
      We have now removed all uses of 'struct omap_overlay_manager', so we can
      now remove the last places where it is set.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      751d2e18
    • T
      drm/omap: add dispc_channel_connected field to omap_dss_device · 49239503
      Tomi Valkeinen 提交于
      We want to remove the 'struct omap_overlay_manager' from
      omap_dss_device. At the moment that field is used, among some other
      uses, to see if the omap_dss_device is connected to an overlay manager.
      
      To make it possible to remove the 'struct omap_overlay_manager' field,
      this patch adds 'bool dispc_channel_connected' field to track the
      connected-or-not status.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      49239503
    • T
      drm/omap: convert dss_mgr_ops to use omap_channel · e5cbb6e8
      Tomi Valkeinen 提交于
      We are removing the use of 'struct omap_overlay_manager' from omapdrm.
      This patch changes the function pointers in 'dss_mgr_ops' to get 'enum
      omap_channel' parameter instead of 'struct omap_overlay_manager'.
      
      The change is very straightforward, as we still use 'struct
      omap_overlay_manager' inside the function implementations where needed.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      e5cbb6e8
    • T
      drm/omap: remove crtc->mgr field · 3a924138
      Tomi Valkeinen 提交于
      In order to remove uses of 'struct omap_overlay_manager' from omapdrm,
      this patch removes the crtc->mgr field.
      
      To accomplish that, a new static array is added along the current
      'omap_crtcs' static array, which is used to store the output device
      connected to a crtc.
      
      Optimally we'd use the struct omap_crtc to store this information, but
      at the time when omap_crtc_dss_connect() is called, we don't yet have
      the omap_crtc instances. This might possibly be fixed later, but for now
      the static array does the job.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      3a924138
    • 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
  5. 08 2月, 2016 1 次提交
  6. 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
  7. 19 10月, 2015 1 次提交
  8. 06 8月, 2015 1 次提交
  9. 13 6月, 2015 24 次提交