1. 13 11月, 2012 1 次提交
    • T
      OMAPFB: use dma_alloc_attrs to allocate memory · 0049fb26
      Tomi Valkeinen 提交于
      Use dma_alloc_attrs to allocate memory instead of omap specific vram
      allocator. After this we can remove the omap vram allocator.
      
      There are some downsides to this change:
      
      1) dma_alloc_attrs doesn't let us allocate at certain physical address.
      However, this should not be a problem as this feature of vram allocator
      is only used when reserving the framebuffer that was initialized by the
      bootloader, and we don't currently support "passing" a framebuffer from
      the bootloader to the kernel anyway.
      
      2) dma_alloc_attrs, as of now, always ioremaps the allocated area, and
      we don't need the ioremap when using VRFB. This patch uses
      DMA_ATTR_NO_KERNEL_MAPPING for the allocation, but the flag is currently
      not operational.
      
      3) OMAPFB_GET_VRAM_INFO ioctl cannot return real values anymore. I
      changed the ioctl to return 64M for all the values, which, I hope, the
      applications will interpret as "there's enough vram".
      
      4) "vram" kernel parameter to define how much ram to reserve for video
      use no longer works. The user needs to enable CMA and use "cma"
      parameter.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      0049fb26
  2. 26 9月, 2012 1 次提交
    • A
      OMAPFB: remove manager->device references · 4249e61e
      Archit Taneja 提交于
      With the introduction of output entities, managers will now connect to outputs.
      Use the helper op for overlays named get_device. This will abstract away the
      information on how to get the device from an overlay.
      
      Using the helper function will reduce the number of pointer dereferences a user
      of OMAPDSS needs to do and reduce risk of a NULL dereference.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      4249e61e
  3. 22 5月, 2012 1 次提交
    • T
      OMAPFB: remove compiler warnings when CONFIG_BUG=n · 4a75cb85
      Tomi Valkeinen 提交于
      If CONFIG_BUG is not enabled, BUG() does not stop the execution. Many
      places in code expect the execution to stop, and this causes compiler
      warnings about uninitialized variables and returning from a non-void
      function without a return value.
      
      This patch fixes the warnings by initializing the variables and
      returning properly after BUG() lines. However, the behaviour is still
      undefined after the BUG, but this is the choice the user makes when
      using CONFIG_BUG=n.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      4a75cb85
  4. 13 1月, 2012 1 次提交
  5. 02 12月, 2011 1 次提交
    • T
      OMAPDSS: APPLY: rewrite overlay enable/disable · aaa874a9
      Tomi Valkeinen 提交于
      Overlays are currently enabled and disabled with a boolean in the struct
      omap_overlay_info. The overlay info is set with ovl->set_overlay_info(),
      and made into use with mgr->apply().
      
      This doesn't work properly, as the enable/disable status may affect also
      other overlays, for example when using fifo-merge. Thus the enabling and
      disabling of the overlay needs to be done outside the normal overlay
      configuration.
      
      This patch achieves that by doing the following things:
      
      1) Add function pointers to struct omap_overlay: enable(), disable() and
      is_enabled(). These are used to do the obvious. The functions may block.
      
      2) Move the "enabled" field from struct omap_overlay to ovl_priv_data.
      
      3) Add a new route for settings to be applied to the HW, called
      "extra_info". The status of the normal info and extra_info are tracked
      separately.
      
      The point here is to allow the normal info to be changed and
      applied in non-blocking matter, whereas the extra_info can only be
      changed when holding the mutex. This makes it possible to, for example,
      set the overlay enable flag, apply it, and wait until the HW has taken
      the flag into use.
      
      This is not possible if the enable flag would be in the normal info, as
      a new value for the flag could be set at any time from the users of
      omapdss.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      aaa874a9
  6. 01 7月, 2011 2 次提交
    • T
      OMAP: DSS2: OMAPFB: Implement auto-update mode · 27cc213e
      Tomi Valkeinen 提交于
      Implement auto-update mode for manual-update displays. omapfb driver
      uses a delayed work to update the display with a constant rate.
      
      The update mode can be changed via OMAPFB_SET_UPDATE_MODE ioctl, which
      previously called omapdss but is now handled inside omapfb, and a new
      sysfs file, "update_mode".
      
      The update interval is by default 20 times per second, but can be
      changed via "auto_update_freq" module parameter. There is also a new
      module parameter "auto_update", which will make omapfb start manual
      update displays in auto-update mode.
      
      This auto-update mode can be used for testing if the userspace does not
      support manual update displays properly. However, it is a very
      inefficient solution, and should be considered more as a hack for
      testing than something that could be used as a long term solution.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      27cc213e
    • T
      OMAP: DSS2: OMAPFB: Add struct to store per-display data · 065a40bd
      Tomi Valkeinen 提交于
      Create a new struct omapfb_display_data to contain omapfb's private
      per-display data. Move the bpp override there.
      
      This struct will be used to hold auto/manual update state of a display
      in the following patches.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      065a40bd
  7. 11 5月, 2011 2 次提交
  8. 03 8月, 2010 6 次提交
  9. 24 2月, 2010 1 次提交
  10. 15 2月, 2010 1 次提交
  11. 09 12月, 2009 1 次提交