Re: [PATCH 00/32] OMAPDSS: create compat layer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 15 November 2012 09:28 PM, Tomi Valkeinen wrote:
Hi,

This series is about improving omapdss API for omapdrm.

We have two separate, exclusive, users of omapdss: 1) omapfb + omap_vout and 2)
omapdrm. Because omapfb and omap_vout are independent drivers, we've built
layers in omapdss to manage the two simultaneous callers. These layers are not
needed for omapdrm, as omapdrm is the sole user of omapdss, and these layers in
fact only create trouble for omapdrm.

The simple option to improve omapdrm situation would be to copy the omapdss
code for omapdrm. We are trying to avoid this, as omapdss and the panel drivers
are quite a lot of code together, and most of the code would be used without
change.

Thus this series helps the situation by moving the omapdss code required by
omapfb + omap_vout to separate files, creating a distinct layer used only by
omapfb + omap_vout. We call this layer "compat layer". This compat layer then
uses the core omapdss driver to operate the hardware. omapdrm will use the core
omapdss directly, without any layers in between.

After this series, omapfb, omap_vout and omapdrm can all be compiled at the
same time. Obviously omapdrm and omapfb+omap_vout cannot be run at the same
time (the first one to start will "win"), so compiling them at the same time is
only sensible as modules for testing purposes. Normal users should only compile
one of those.

This series does not make omapdrm use the core omapdss API, that will happen in
a separate series for omapdrm.

The series is based on current omapdss master, and can also be found from:
git://gitorious.org/linux-omap-dss2/linux.git work/apply-test-9

Series looks fine to me. Will test it out.

Archit


  Tomi

Tomi Valkeinen (32):
   OMAPDSS: remove declarations for non-existing functions
   OMAPDSS: DPI: fix crash with dpi_verify_dsi_pll()
   OMAPDSS: don't WARN if there's no DSI device
   OMAPDSS: DISPC: add no_framedone_tv feat
   OMAPDSS: DISPC: use get_framedone_irq in disable_digit_out
   OMAPDSS: DISPC: Remove blocking code from dispc_wb_enable()
   OMAPDSS: cleanup WB enable/is_enabled functions
   OMAPDSS: DISPC: use WARN_ON() in dispc_mgr_go
   OMAPDSS: DISPC: pclk & lclk rates for writeback
   OMAPDSS: DISPC: pass pclk to calc_core_clk()
   OMAPDSS: DISPC: pass pclk & lclk to check_horiz_timing_omap3
   OMAPDSS: DISPC: pass pclk & lclk to calc_scaling
   OMAPDSS: DISPC: pass pclk & lclk to dispc_ovl_calc_scaling
   OMAPDSS: create display-sysfs.c
   OMAPDSS: add dss_get_core_pdev()
   OMAPDSS: add omapdss_compat_init()
   OMAPDSS: move ovl & ovl-mgr init to apply.c
   OMAPDSS: move ovl-mgr function setup to apply.c
   OMAPDSS: move ovl function setup to apply.c
   OMAPDSS: add manager ops
   OMAPDSS: manage framedone irq with mgr ops
   OMAPDSS: move blocking mgr enable/disable to compat layer
   OMAPDSS: move omap_dispc_wait_for_irq_interruptible_timeout to
     dispc-compat.c
   OMAPDSS: move irq handling to dispc-compat
   OMAPDSS: DISPC: add dispc_ovl_check()
   OMAPDSS: DPI: use dispc's check_timings
   OMAPDSS: move display sysfs init to compat layer
   OMAPDSS: separate compat files in the Makefile
   OMAPDSS: export dss_mgr_ops functions
   OMAPDSS: export dss_feat functions
   OMAPDSS: export dispc functions
   OMAPDSS: use omapdss_compat_init() in other drivers

  drivers/media/platform/omap/omap_vout.c  |   17 +-
  drivers/staging/omapdrm/omap_drv.c       |   11 +
  drivers/video/omap2/dss/Makefile         |    6 +-
  drivers/video/omap2/dss/apply.c          |  245 ++++++++-
  drivers/video/omap2/dss/core.c           |   13 +-
  drivers/video/omap2/dss/dispc-compat.c   |  667 +++++++++++++++++++++++
  drivers/video/omap2/dss/dispc-compat.h   |   30 ++
  drivers/video/omap2/dss/dispc.c          |  863 +++++-------------------------
  drivers/video/omap2/dss/display-sysfs.c  |  321 +++++++++++
  drivers/video/omap2/dss/display.c        |  285 +---------
  drivers/video/omap2/dss/dpi.c            |    4 +-
  drivers/video/omap2/dss/dsi.c            |   26 +-
  drivers/video/omap2/dss/dss.h            |   75 +--
  drivers/video/omap2/dss/dss_features.c   |    5 +
  drivers/video/omap2/dss/dss_features.h   |    4 -
  drivers/video/omap2/dss/manager.c        |   39 --
  drivers/video/omap2/dss/output.c         |   65 +++
  drivers/video/omap2/dss/overlay.c        |   17 -
  drivers/video/omap2/dss/rfbi.c           |   12 +-
  drivers/video/omap2/omapfb/omapfb-main.c |    6 +
  include/video/omapdss.h                  |   80 ++-
  21 files changed, 1582 insertions(+), 1209 deletions(-)
  create mode 100644 drivers/video/omap2/dss/dispc-compat.c
  create mode 100644 drivers/video/omap2/dss/dispc-compat.h
  create mode 100644 drivers/video/omap2/dss/display-sysfs.c


--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux