1. 02 Jul, 2015 5 commits
    • Tomi Valkeinen's avatar
      drm/omap: fix align_pitch() for 24 bits per pixel · d642d3ac
      Tomi Valkeinen authored
      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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      d642d3ac
    • Tomi Valkeinen's avatar
      drm/omap: fix omap_gem_put_paddr() error handling · 393a949f
      Tomi Valkeinen authored
      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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      393a949f
    • Tomi Valkeinen's avatar
      drm/omap: fix omap_framebuffer_unpin() error handling · 9c368506
      Tomi Valkeinen authored
      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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      9c368506
    • Tomi Valkeinen's avatar
      drm/omap: increase DMM transaction timeout · 96cbd142
      Tomi Valkeinen authored
      The DMM driver uses a timeout of 1 ms to wait for DMM transaction to
      finish. While DMM should always finish the operation within that time,
      the timeout is rather strict. Small misbehavior of the system (e.g. an
      irq taking too long) could trigger the timeout.
      
      As the DMM is a critical piece of code for display memory management,
      let's increase the timeout to 100 ms so that we are less likely to fail
      a memory allocation in case of system misbehaviors. 100 ms is just a
      guess of a reasonably large timeout. The HW should accomplish the task
      in less than 1 ms.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      96cbd142
    • Tomi Valkeinen's avatar
      drm/omap: check that plane is inside crtc · c423bc85
      Tomi Valkeinen authored
      DRM allows planes to be partially off-screen, but DSS hardware does not.
      This patch adds the necessary check to reject plane configs if the plane
      is not fully inside the crtc.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      c423bc85
  2. 24 Jun, 2015 1 commit
  3. 12 Jun, 2015 34 commits