1. 02 6月, 2017 5 次提交
  2. 03 4月, 2017 2 次提交
    • J
      drm/omap: Major omap_modeset_init() cleanup · e8e13b15
      Jyri Sarha 提交于
      Cleanup overly complex omap_modeset_init(). The function is trying to
      support many unusual configuration, that have never been tested and
      are not supported by other parts of the dirver.
      
      After cleanup the init function creates exactly one connector,
      encoder, crtc, and primary plane per each connected dss-device. Each
      connector->encoder->crtc chain is expected to be separate and each
      crtc is connect to a single dss-channel. If the configuration does not
      match the expectations or exceeds the available resources, the
      configuration is rejected.
      Signed-off-by: NJyri Sarha <jsarha@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      e8e13b15
    • 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
  3. 25 2月, 2017 1 次提交
  4. 09 2月, 2017 1 次提交
  5. 27 1月, 2017 1 次提交
  6. 19 12月, 2016 10 次提交
  7. 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
  8. 02 11月, 2016 1 次提交
  9. 06 6月, 2016 4 次提交
  10. 03 6月, 2016 1 次提交
  11. 17 5月, 2016 1 次提交
  12. 03 3月, 2016 3 次提交
  13. 08 2月, 2016 1 次提交
  14. 31 12月, 2015 3 次提交
  15. 24 11月, 2015 1 次提交
  16. 06 10月, 2015 1 次提交
    • T
      drm/irq: Use unsigned int pipe in public API · 88e72717
      Thierry Reding 提交于
      This continues the pattern started in commit cc1ef118 ("drm/irq:
      Make pipe unsigned and name consistent"). This is applied to the public
      APIs and driver callbacks, so pretty much all drivers need to be updated
      to match the new prototypes.
      
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Jianwei Wang <jianwei.wang.chn@gmail.com>
      Cc: Alison Wang <alison.wang@freescale.com>
      Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      88e72717
  17. 02 7月, 2015 3 次提交
    • T
      drm/omap: fix align_pitch() for 24 bits per pixel · d642d3ac
      Tomi Valkeinen 提交于
      align_pitch() uses ALIGN() to ensure the pitch is aligned to SGX's
      requirement of 8 pixels. However, ALIGN() expects the alignment value to
      be a power of two, which is not the case for 24 bits per pixels.
      
      Use roundup() instead, which works for all alignments.
      
      This fixes the error seen with 24 bits per pixel modes:
      
      "buffer pitch (2176 bytes) is not a multiple of pixel size (3 bytes)"
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      d642d3ac
    • T
      drm/omap: fix omap_gem_put_paddr() error handling · 393a949f
      Tomi Valkeinen 提交于
      If tiler_unpin() call in omap_gem_put_paddr() fails,
      omap_gem_put_paddr() will immediately stop processing and return an
      error.
      
      This patch remoes that error checking, and also removes
      omap_gem_put_paddr()'s return value, because:
      
       * The caller of omap_gem_put_paddr() can do nothing if an error
         happens, so it's pointless to return an error value
      
       * If tiler_unpin() fails, the GEM object will possibly be left in an
         undefined state, where the DMM mapping may have been removed, but the
         GEM object still thinks everything is as it should be, leading to
         crashes later.
      
       * There's no point in returning an error from a "free" call, as the
         caller can do nothing about it. So it's better to clean up as much as
         possible.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      393a949f
    • T
      drm/omap: fix omap_framebuffer_unpin() error handling · 9c368506
      Tomi Valkeinen 提交于
      omap_framebuffer_unpin() check the return value of omap_gem_put_paddr()
      and return immediately if omap_gem_put_paddr() fails.
      
      This patch removes the check for the return value, and also removes the
      return value of omap_framebuffer_unpin(), because:
      
       * Nothing checks the return value of omap_framebuffer_unpin(), and even
         something did check it, there's nothing the caller can do to handle
         the error.
      
       * If a omap_gem_put_paddr() fails, the framebuffer's other planes will
         be left unreleased. So it's better to call omap_gem_put_paddr() for
         all the planes, even if one would fail.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      9c368506