linux_dsm_epyc7002/include/video
Archit Taneja 484dc404d2 OMAPDSS: outputs: Create a new entity called outputs
The current OMAPDSS design contains 3 software entities: Overlays, Managers and
Devices. These map to pipelines, overlay managers and the panels respectively in
hardware. One or more overlays connect to a manager to represent a composition,
the manager connects to a device(generally a display) to display the content.

The part of DSS hardware which isn't represented by any of the above entities
are interfaces/outputs that connect to an overlay manager, i.e blocks like DSI,
HDMI, VENC and so on. Currently, an overlay manager directly connects to the
display, and the output to which it is actually connected is ignored. The panel
driver of the display is responsible of calling output specific functions to
configure the output.

Adding outputs as a new software entity gives us the following benefits:

- Have exact information on the possible connections between managers and
  outputs: A manager can't connect to each and every output, there only limited
  hardware links between a manager's video port and some of the outputs.

- Remove hacks related to connecting managers and devices: Currently, default
  links between managers and devices are set in a not so clean way. Matching is
  done via comparing the device type, and the display types supported by the
  manager. This isn't sufficient to establish all the possible links between
  managers, outputs and devices in hardware.

- Make panel drivers more generic: The DSS panel drivers currently call
  interface/output specific functions to configure the hardware IP. When making
  these calls, the driver isn't actually aware of the underlying output. The
  output driver extracts information from the panel's omap_dss_device pointer
  to figure out which interface it is connected to, and then configures the
  corresponding output block. An example of this is when a DSI panel calls
  dsi functions, the dsi driver figures out whether the panel is connected
  to DSI1 or DSI2. This isn't correct, and having output as entities will
  give the panel driver the exact information on which output to configure.
  Having outputs also gives the opportunity to make panel drivers generic
  across different platforms/SoCs, this is achieved as omap specific output
  calls can be replaced by ops of a particular output type.

- Have more complex connections between managers, outputs and devices: OMAPDSS
  currently doesn't support use cases like 2 outputs connect to a single
  device. This can be achieved by extending properties of outputs to connect to
  more managers or devices.

- Represent writeback as an output: The writeback pipeline fits well in OMAPDSS
  as compared to overlays, managers or devices.

Add a new struct to represent outputs. An output struct holds pointers to the
manager and device structs to which it is connected. Add functions which can
register/unregister an output, or look for one. Create an enum which represent
each output instance.

Signed-off-by: Archit Taneja <archit@ti.com>
2012-09-26 16:29:10 +05:30
..
atmel_lcdc.h atmel_lcdfb: implement inverted contrast pwm 2011-03-22 16:23:44 +09:00
aty128.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
auo_k190xfb.h video: auo_k190x: add code shared by controller drivers 2012-04-29 19:35:35 +00:00
broadsheetfb.h broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
cirrus.h cirrusfb: Laguna chipset 8bpp fix 2009-04-01 08:59:27 -07:00
cvisionppc.h
da8xx-fb.h video: da8xx-fb: configure FIFO threshold to reduce underflow errors 2012-07-29 01:11:09 +00:00
edid.h UAPI: Fix nested __KERNEL__ guards in video/edid.h 2011-12-13 09:26:45 +00:00
epson1355.h
exynos_dp.h video: exynos_dp: fix max loop count in EQ sequence of link training 2012-05-08 17:00:53 +00:00
exynos_mipi_dsim.h video: exynos mipi dsi: support reverse panel type 2012-05-13 13:08:23 +00:00
gbe.h
hecubafb.h fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
iga.h
ili9320.h fb: add support for the ILI9320 video display controller 2008-07-24 10:47:40 -07:00
Kbuild include: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kyro.h Fix common misspellings 2011-03-31 11:26:23 -03:00
mach64.h atyfb: fix CONFIG_ namespace violations 2009-02-05 12:56:48 -08:00
maxinefb.h
mbxfb.h mbxfb: Improvements and new features 2007-10-16 09:43:14 -07:00
metronomefb.h [ARM] 5209/1: metronomefb: changes to use platform framebuffer 2008-08-26 17:01:12 +01:00
mipi_display.h fbdev: add a MIPI DSI header 2010-05-24 08:47:38 +09:00
neomagic.h Fix common misspellings 2011-03-31 11:26:23 -03:00
newport.h Merge branch 'master' into for-next 2011-04-26 10:22:59 +02:00
omap-panel-generic-dpi.h OMAP: DSS2: Move panel-generic-dpi.h to include/video/ 2011-05-11 14:08:51 +03:00
omap-panel-n8x0.h OMAPDSS: Add N800 panel driver 2011-09-30 16:17:30 +03:00
omap-panel-nokia-dsi.h OMAPDSS: DSI: implement generic DSI pin config 2012-05-09 10:53:05 +03:00
omap-panel-picodlp.h OMAP: DSS2: Add picodlp panel driver 2011-09-14 18:08:23 +03:00
omap-panel-tfp410.h OMAPDSS: TFP410: rename dvi files to tfp410 2012-05-09 10:51:05 +03:00
omapdss.h OMAPDSS: outputs: Create a new entity called outputs 2012-09-26 16:29:10 +05:30
permedia2.h pm2fb: hardware cursor support for the Permedia2 2007-10-16 09:43:18 -07:00
platform_lcd.h lcd: add platform_lcd driver 2008-07-24 10:47:40 -07:00
pm3fb.h pm3fb: header file cleanup 2007-10-16 09:43:18 -07:00
pmag-ba-fb.h
pmagb-b-fb.h
pxa168fb.h pxa168fb: remove useless vsync/hsync invert flag 2009-12-01 09:02:32 +08:00
radeon.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
s1d13xxxfb.h s1d13xxxfb: drop unused code 2010-12-21 01:05:43 +09:00
sa1100fb.h FB: sa1100: remove global sa1100fb_.*_power function pointers 2012-02-21 11:56:19 +00:00
sgivw.h sgivwfb: Make use of ARRAY_SIZE. 2009-12-04 15:39:52 +01:00
sh_mipi_dsi.h fbdev: sh_mipi_dsi: add extra phyctrl for sh_mipi_dsi_info 2012-03-21 07:24:01 +00:00
sh_mobile_hdmi.h fbdev: sh_mobile_hdmi: add HDMI Control Register support 2012-05-13 13:07:59 +00:00
sh_mobile_lcdc.h fbdev: sh_mobile_lcdc: Implement overlays support 2012-06-20 10:02:54 +02:00
sh_mobile_meram.h sh_mobile_meram: Add direct MERAM allocation API 2012-07-19 02:05:22 +02:00
sisfb.h Fix common misspellings 2011-03-31 11:26:23 -03:00
sstfb.h Fix common misspellings 2011-03-31 11:26:23 -03:00
tdfx.h tdfxfb: move I2C functionality into the tdfxfb 2009-04-07 08:31:08 -07:00
tgafb.h tgafb: actually allocate memory for the pseudo_palette 2007-07-17 10:23:12 -07:00
trident.h tridentfb: add imageblit acceleration for Blade3D family 2008-07-24 10:47:36 -07:00
udlfb.h udlfb: fix hcd_buffer_free panic on unplug/replug 2012-03-01 17:46:27 -08:00
uvesafb.h headers_check fix: video/uvesafb.h 2009-01-31 00:14:52 +05:30
vga.h m68k/video: Create <asm/vga.h> 2012-04-22 20:16:50 +02:00
w100fb.h