Commit graph

17 commits

Author SHA1 Message Date
Jyri Sarha acc3a231d3 drm/omapdrm: Add gamma table support to DSS dispc
Add gamma table support to DSS dispc.

DSS driver initializes the default gamma table at component bind time
and holds a copy of all gamma tables in its internal data structure.

Each call to dispc_mgr_set_gamma() updates the internal table and
triggers write to the HW, if it is enabled. The tables are restored to
HW in PM resume callback. The drivers internal data structure match
the HW tables in size and in number of significant bits per color
component. The dispc_mgr_set_gamma() converts the size of any given
table for the internal data structure using linear interpolation.
Default gamma table is restored if NULL is given in place of gamma
lut.

dispc_mgr_gamma_size() gives HW gamma table size for the channel and
returns 0 if gamma table is not supported by the HW or the DSS driver.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-06-07 17:10:49 +03:00
Peter Ujfalusi 26038aad25 drm/omap: Remove the video/omapdss.h and move it's content to local header file
Move the contents of the video/omapdss.h header file to omapdrm/dss local
header file and remove the original global header. The omapfb stach is
using video/omapfb_dss.h so this change will complete the separation of the
two driver implementation.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
2016-06-03 16:06:40 +03:00
Tomi Valkeinen 3bce5f4310 drm/omap: remove dispc_ovl_check()
dispc_ovl_check() is not used anywhere, so it can be removed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:24 +02:00
Tomi Valkeinen 3421899893 drm/omap: convert dss_mgr_unregister_framedone_handler to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_unregister_framedone_handler() to accept 'enum
omap_channel' instead of 'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:23 +02:00
Tomi Valkeinen af235e31e9 drm/omap: convert dss_mgr_register_framedone_handler to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_register_framedone_handler() to accept 'enum
omap_channel' instead of 'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:23 +02:00
Tomi Valkeinen 1f03f93480 drm/omap: convert dss_mgr_start_update to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_start_update() to accept 'enum omap_channel' instead of
'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:23 +02:00
Tomi Valkeinen 705fd454a9 drm/omap: convert dss_mgr_disable to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_disable() to accept 'enum omap_channel' instead of
'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:23 +02:00
Tomi Valkeinen 85a8c62250 drm/omap: convert dss_mgr_enable to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_enable() to accept 'enum omap_channel' instead of
'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:23 +02:00
Tomi Valkeinen bb772e1abf drm/omap: convert dss_mgr_set_lcd_config to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_set_lcd_config() to accept 'enum omap_channel' instead
of 'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:22 +02:00
Tomi Valkeinen 5c6ff3cd45 drm/omap: convert dss_mgr_set_timings to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_set_timings() to accept 'enum omap_channel' instead of
'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:22 +02:00
Tomi Valkeinen bdac3bb946 drm/omap: convert dss_mgr_disconnect to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_disconnect() to accept 'enum omap_channel' instead of
'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:22 +02:00
Tomi Valkeinen 1b07b0664a drm/omap: convert dss_mgr_connect to accept omap_channel
We are removing uses of 'struct omap_overlay_manager'. This patch
changes dss_mgr_connect() to accept 'enum omap_channel' instead of
'struct omap_overlay_manager'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:22 +02:00
Tomi Valkeinen e5cbb6e8ea drm/omap: convert dss_mgr_ops to use omap_channel
We are removing the use of 'struct omap_overlay_manager' from omapdrm.
This patch changes the function pointers in 'dss_mgr_ops' to get 'enum
omap_channel' parameter instead of 'struct omap_overlay_manager'.

The change is very straightforward, as we still use 'struct
omap_overlay_manager' inside the function implementations where needed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:22 +02:00
Tomi Valkeinen 7b9cb5eeb4 drm/omap: Add dispc_mgr_get_supported_outputs()
We are removing the use of the 'struct omap_overlay_manager' from
omapdrm, and one part of that is removing the use of
mgr->supported_outputs field.

This patch adds dispc_mgr_get_supported_outputs() function which can be
used instead of mgr->supported_outputs. omap_crtc.c is changed to use
the new function.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:21 +02:00
Tomi Valkeinen caaecd9abe drm/omap: move dss_mgr_* declarations to omapdrm/omapfb
This patch continues the work to create private versions of the
omapdss.h header for omapdrm and omapfb. This one moves the dss_mgr_*
function declarations.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:21 +02:00
Tomi Valkeinen 564c7c7510 drm/omap: move struct dss_mgr_ops to omapdrm/omapfb
This patch continues the work to create private versions of the
omapdss.h header for omapdrm and omapfb. This one moves 'struct dss_mgr_ops'.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:21 +02:00
Tomi Valkeinen 35a339acca drm/omap, omapfb: move exported dispc function declarations to omapdrm/omapfb
omapdrm and omapfb still share the same include/video/omapdss.h. We need
to change that so that we can proceed with omapdrm work.

However, it's not trivial to make separate omapfb and omapdrm versions
of omapdss.h, as that file is also included in other places like arch
code, audio code and omap_vout code. So we'll do it piece by piece.

This patch makes private versions of all the dispc function declarations
that are in omapdss.h. For omapdrm we create a new file,
drivers/gpu/drm/omapdrm/dss/omapdss.h, which will contain headers meant
to be visible outside omapdss.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-03-03 17:38:21 +02:00