1. 03 4月, 2017 3 次提交
    • T
      drm/omap: fix replication logic · be2d68c6
      Tomi Valkeinen 提交于
      DSS uses "replication logic" to convert color components from smaller
      bit widths to bigger bit widths. Without replication logic, the color
      component would be shifted and the least significant bits would be left
      at 0, whereas with replication logic, the least significat bits will be
      filled with the most significant bit.
      
      For some reason omapdrm leaves replication logic always to off, which,
      in the most common case, means that showing 16-bit RGB colors on 24-bit
      display gives a bit darker colors than expected.
      
      The reset value of the replication logic bit is enabled, and it should
      always be set, as there's no practical reason to disable it. This patch
      removes the option to disable it from omapdrm, and always sets it to
      enabled in dispc.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      be2d68c6
    • T
      drm/omap: use dispc_ops · 9f759225
      Tomi Valkeinen 提交于
      Change omapdrm to get dispc_ops and use that to call the dispc functions
      instead or direct function calls.
      
      The change is very straightforward.
      
      The only problem was in omap_crtc_init() which calls pipe2vbl(crtc), and
      at that point of time the crtc->dev link, which is used to get the
      dispc_ops, has not been set up yet. This patch makes omap_crtc_init()
      skip the call to pipe2vbl() and instead calls
      dispc_ops->mgr_get_vsync_irq() directly.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      9f759225
    • T
      drm/omap: move dispc related dss-feat funcs to dispc · c283400a
      Tomi Valkeinen 提交于
      omapdrm still uses a few non-dispc functions: dss_feat_get_num_mgrs(),
      dss_feat_get_num_ovls() and  dss_feat_get_supported_color_modes(). We
      want to provide omapdrm a single dispc_ops function pointer struct so
      that omapdrm will use either the current omapdss or the new omapdss6
      driver depending on the platform.
      
      Those three functions are really dispc functions, but are located in the
      dss_features.c for legacy reasons.
      
      This patch adds similar functionss to the dispc, and changes omapdrm to
      use those new functions. Underneath the functions still call the
      functions from dss_feature.c.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c283400a
  2. 19 12月, 2016 1 次提交
  3. 08 12月, 2016 1 次提交
    • T
      drm/omap: fix primary-plane's possible_crtcs · e43f2c33
      Tomi Valkeinen 提交于
      We set the possible_crtc for all planes to "(1 << priv->num_crtcs) - 1",
      which is fine as the HW planes can be used fro all crtcs. However, when
      we're doing that, we are still incrementing 'num_crtcs', and we'll end
      up with bad possible_crtcs, preventing the use of the primary planes.
      
      This patch passes a possible_crtcs mask to plane init function so that
      we get correct possible_crtc.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      e43f2c33
  4. 02 11月, 2016 3 次提交
  5. 22 10月, 2016 3 次提交
  6. 19 8月, 2016 1 次提交
  7. 09 8月, 2016 1 次提交
  8. 17 5月, 2016 1 次提交
  9. 03 3月, 2016 1 次提交
  10. 31 12月, 2015 2 次提交
  11. 11 12月, 2015 1 次提交
    • V
      drm: Pass 'name' to drm_universal_plane_init() · b0b3b795
      Ville Syrjälä 提交于
      Done with coccinelle for the most part. It choked on
      msm/mdp/mdp5/mdp5_plane.c like so:
      "BAD:!!!!!  enum drm_plane_type type;"
      No idea how to deal with that, so I just fixed that up
      by hand.
      
      Also 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_plane_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.
      
      @@
      typedef uint32_t;
      identifier dev, plane, possible_crtcs, funcs, formats, format_count, type;
      @@
       int drm_universal_plane_init(struct drm_device *dev,
                                    struct drm_plane *plane,
                                    unsigned long possible_crtcs,
                                    const struct drm_plane_funcs *funcs,
                                    const uint32_t *formats,
                                    unsigned int format_count,
                                    enum drm_plane_type type
      +                             ,const char *name, int DOTDOTDOT
                                    )
      { ... }
      
      @@
      identifier dev, plane, possible_crtcs, funcs, formats, format_count, type;
      @@
       int drm_universal_plane_init(struct drm_device *dev,
                                    struct drm_plane *plane,
                                    unsigned long possible_crtcs,
                                    const struct drm_plane_funcs *funcs,
                                    const uint32_t *formats,
                                    unsigned int format_count,
                                    enum drm_plane_type type
      +                             ,const char *name, int DOTDOTDOT
                                    );
      
      @@
      expression E1, E2, E3, E4, E5, E6, E7;
      @@
       drm_universal_plane_init(E1, E2, E3, E4, E5, E6, E7
      +                         ,NULL
                                )
      
      v2: Split crtc and plane changes apart
          Pass NUL for no-name instead of ""
          Leave drm_plane_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/1449670795-2853-1-git-send-email-ville.syrjala@linux.intel.com
      b0b3b795
  12. 05 10月, 2015 1 次提交
  13. 08 9月, 2015 1 次提交
  14. 02 7月, 2015 1 次提交
  15. 13 6月, 2015 15 次提交
  16. 24 3月, 2015 3 次提交
  17. 20 3月, 2015 1 次提交