54540d41aaad0ed3245d3e99db014ab03a219c5a |
|
13-Dec-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: APPLY: move simple_check functions The functions dss_ovl_simple_check() and dss_mgr_simple_check() are not really part of the apply mechanism, and can be moved to overlay.c and manager.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
6ac48d1e3ac788ad1d54895acd83be26cefb4fe9 |
|
08-Dec-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: APPLY: move check functions The functions dss_ovl_check, dss_mgr_check_zorder, dss_mgr_check in apply.c are not really part of the apply mechanism, and can be moved to overlay.c and manager.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
c1a9febfafa2a9a9ac09b2de4c80aa96b41a03d1 |
|
16-Nov-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: APPLY: move ovl->info to apply.c struct omap_overlayr contains info and info_dirty fields, both of which should be internal to apply.c. This patch moves those fields into ovl_priv data, and names them user_info and user_info_dirty. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
aaa874a985158383c4b394c687c716ef26288741 |
|
15-Nov-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: APPLY: rewrite overlay enable/disable 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: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
5738b633136a41923b4ba75e6b1a160d08539c99 |
|
15-Nov-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: remove ovl/mgr check-code temporarily DSS currently tries to check that the given overlay and overlay manager settings are acceptable, but the code does not work quite properly. Things may change between the check and the actual use of the settings. Furthermore, the following patches will rewrite how settings are configured and managed, and trying to keep the (broken) settings checking working during the rewrite would be very difficult. This patch removes the checking code, and a working version of checking will be added back after the settings rewrite has been done. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
f77b30700e5c0a6b5220b3a964bf6c40d5e71416 |
|
14-Nov-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: APPLY: move ovl funcs to apply.c apply.c will handle the management of dispc in the future patches. This patch moves overlay related functions to apply.c so that they will have access to the private data and functions of apply.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
07e327c9c18b382656bf455051759be8182627ae |
|
05-Nov-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: store overlays in a list for each manager Current way of handling overlay-manager links is a bit strange: each manager has a static array, containing pointers to all the overlays (even those used by other managers). The overlays contain a pointer to the manager being used. This patch makes the system a bit saner: each manager has a linked list of overlays, and only the overlays linked to that manager are in the list. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
58452341265844d830ef5d0e705ee7577461bc45 |
|
05-Nov-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: store overlays in an array Overlays are stored in a linked list. There's no need for this list, as an array would do just as fine. This patch changes the code to use an array for overlays. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
550a8f646c76f27ede10265b8e4c9d54c9f4af27 |
|
04-Nov-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: remove unneeded dss_ovl_wait_for_go() There's an unnecessary wrapper function, dss_ovl_wait_for_go(), which does nothing else than call dss_mgr_wait_for_go_ovl(). The dss_ovl_wait_for_go() function can be removed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
b952b553d23912b0b4a496b3e695db5e60c7a99a |
|
31-Oct-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAPDSS: remove L4_EXAMPLE code Some old example code has been left lying around. Remove the example code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
54128701ecccbeb6f740030e0cc5f8e5701fe8ee |
|
08-Sep-2011 |
Archit Taneja <archit@ti.com> |
OMAPDSS: DISPC: zorder support for DSS overlays Add zorder support on OMAP4, this feature allows deciding the visibility order of the overlays based on the zorder value provided as an overlay info parameter or a sysfs attribute of the overlay object. Use the overlay cap OMAP_DSS_OVL_CAP_ZORDER to determine whether zorder is supported for the overlay or not. Use dss feature FEAT_ALPHA_FREE_ZORDER if the caps are not available. Ensure that all overlays that are enabled and connected to the same manager have different zorders. Swapping zorders of 2 enabled overlays currently requires disabling one of the overlays. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
b8c095b4d62f90ed8da0cca7116125863b1d8bef |
|
13-Sep-2011 |
Archit Taneja <archit@ti.com> |
OMAPDSS: DISPC: VIDEO3 pipeline support Add support for VIDEO3 pipeline on OMAP4: - Add VIDEO3 pipeline information in dss_features and omapdss.h - Add VIDEO3 pipeline register coefficients in dispc.h - Create a new overlay structure corresponding to VIDEO3. - Make changes in dispc.c for VIDEO3 Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
e3a26aecc0ea5ce1c2bd567439d66a0699ea7774 |
|
15-Aug-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: string parsing cleanups Use strtobool and kstrto* functions when parsing sysfs inputs. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
f6dc815098bde08c09fd1219e0f77663f8a9a6c7 |
|
15-Aug-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Add GLOBAL_ALPHA & PRE_MULT_ALPHA to ovl caps Add OMAP_DSS_OVL_CAP_GLOBAL_ALPHA and OMAP_DSS_OVL_CAP_PRE_MULT_ALPHA to overlay capabilities. Use these instead of FEAT_GLOBAL_ALPHA, FEAT_GLOBAL_ALPHA_VID1 and FEAT_PRE_MULT_ALPHA in code. Remove FEAT_GLOBAL_ALPHA_VID1 and FEAT_PRE_MULT_ALPHA which are no longer used. FEAT_GLOBAL_ALPHA is still used to decide if the HW has global alpha register. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Archit Taneja <archit@ti.com>
|
67019db86450b8b279a8c4be6f138e716f9bfdca |
|
15-Aug-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Add overlay caps to DSS features Add support to define overlay capabilities into dss_features. The features are set to overlay->caps at initialization time. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Archit Taneja <archit@ti.com>
|
4a9e78abb76a2f1ddccab7098bdf73a2f095aaa6 |
|
15-Aug-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Remove support for non-DISPC overlays Remove support for non-DISPC overlays and overlay managers. The support to possibly have non-DISPC overlays and managers was made to make it possible to use CPU and/or sDMA to update RFBI or DSI command mode displays. It is ok to remove the support, because: - No one has used the feature. - Display update without DISPC is very slow, so it is debatable if the update would even be usable. - Removal cleans up code. - If such a feature is needed later, it is better implemented outside omapdss driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Archit Taneja <archit@ti.com>
|
8fa8031c542986746ed4dfbd1eb52358bc86000b |
|
15-Aug-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Handle manager change in apply Currently when changing the manager of an overlay, set_manager() directly calls dispc to set the overlay's destination. Change this to be more in line with other overlay configurations, and this will also remove the need to have dispc clocks enabled when calling set_manager(). A new field is added to overlay struct, "manager_changed". This is similar to "display_changed" field in manager struct, and is used to inform apply that the manager has changed and thus write to the registers is needed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
4fbafaf371be780ed2cd73a520dfeafa1ea73e24 |
|
27-May-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Use PM runtime & HWMOD support Use PM runtime and HWMOD support to handle enabling and disabling of DSS modules. Each DSS module will have get and put functions which can be used to enable and disable that module. The functions use pm_runtime and hwmod opt-clocks to enable the hardware. Acked-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
332e9d70518b55a70068739bc7ea134e1d8a269b |
|
27-May-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Add new FEAT definitions for features missing from OMAP2 OMAP2 doesn't have CPR, PRELOAD nor FIR_COEF_V registers. Add new feature definitions for those, and check the feature before accessing those registers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
e3502ce97f2d2d183735d9fae76b081a634ffd85 |
|
04-Apr-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Convert simple/strict_strto* to kstrto* Convert simple/strict_strto* functions to kstrto* functions. Only simple cases are converted. simple_strto* uses are still left to places where it is used to parse numbers from a list of numbers. These need some other solution than kstrto*. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
d792eecd9a3e3df7c38b64a954d10ccdc665ec38 |
|
20-May-2010 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: remove non-working msleep(40) workaround The sleep workaround for the problem described in the comment doesn't really work. This patch removes the workaround, and improves the comment about the bug, and proposes an userspace workaround. omap_dss_set_manager() is called 6 times when loading omapdss and omapfb, which means that 40ms * 6 = 240ms was spent sleeping when booting up. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
a0b38cc4d35e095f14ab0f486135f8a619ebfc14 |
|
11-May-2011 |
Tomi Valkeinen <tomi.valkeinen@ti.com> |
OMAP: DSS2: Move display.h to include/video/ arch/arm/plat-omap/include/plat/display.h is an include for the OMAP DSS driver. A more logical place for it is in include/video. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
b119601d4e226e42a067ff33116774d79dd9afbc |
|
08-Mar-2011 |
Mythri P K <mythripk@ti.com> |
OMAP4: DSS2: Add display type HDMI to DSS2 Adding display type HDMI in dss_features, overlay and the manager so that HDMI type of display will be recognized. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
6af9cd1431db952a7f9f8931497c9989a48b07df |
|
31-Jan-2011 |
Archit Taneja <archit@ti.com> |
OMAP2PLUS: DSS2: Generalize naming of PRCM related clock enums in DSS driver enum dss_clock structure is replaced with generic names that could be used across OMAP2420, 2430, 3xxx, 44xx platforms. Signed-off-by: Sumit Semwal <sumit.semwal@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
18faa1b68a54ff976dd03bfd9ace2c4ef4f7315c |
|
02-Dec-2010 |
Sumit Semwal <sumit.semwal@ti.com> |
OMAP: DSS2: Introduce omap_channel as an omap_dss_device parameter, add new overlay manager. A panel connects to one of the overlay managers of DSS through some interface block. On OMAP4, specifying the type of the display is not sufficient to conclude which manager the panel should be connected to. Hence, a new member 'channel' is introduced in omap_dss_device structure to determine which manager the panel uses. The dss_recheck_connections() called in dss_driver_probe() uses this channel parameter to set the correct manager to the corresponding omap_dss_device. The channel parameter is used only once to ensure the correct managers are set for each panel. The parameter dssdev->manager->id will take care of ensuring that the panel and then the interface driver configures the correct DISPC channel. Also, add a new Overlay Manager in manager.c, make other changes needed for LCD2 channel. Signed-off-by: Sumit Semwal <sumit.semwal@ti.com> Signed-off-by: Mukund Mittal <mmittal@ti.com> Signed-off-by: Samreen <samreen@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
fd28a39071cee34ec59021f620f6dfca5f89ac9b |
|
04-Nov-2010 |
Rajkumar N <rajkumar.nagarajan@ti.com> |
OMAP3630: DSS2: Enable Pre-Multiplied Alpha Support Enable dss to process color formats with pre-mulitplied alpha. With this we can have alpha values defined for each pixel and hence can have different blending values for each pixel. sysfs entry has been created for this and pre-multiplied alpha support is turned off by default. Signed-off-by: Sudeep Basavaraj <sudeep.basavaraj@ti.com> Signed-off-by: Rajkumar N <rajkumar.nagarajan@ti.com> Signed-off-by: Samreen <samreen@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
a0acb5574b01f1a82dc5d863b4d89d84397aeafa |
|
15-Sep-2010 |
Archit Taneja <archit@ti.com> |
OMAP: DSS2: Use dss_features framework on DSS2 code Calls init functions of dss_features during dss_probe, and the following features are made omapxxxx independent: - number of managers, overlays - supported color modes for each overlay - supported displays for each manager - global aplha, and restriction of global alpha for video1 pipeline - The register field ranges : FIRHINC, FIRVINC, FIFOHIGHTHRESHOLD FIFOLOWTHRESHOLD and FIFOSIZE Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
f3c77d6332d979b74364ce2f3fc027ff6c0e00d1 |
|
02-Aug-2010 |
Archit Taneja <archit@ti.com> |
OMAP: DSS2: Replace strncmp() with sysfs_streq() in overlay_manager_store() The function overlay_manager_store currently fails if the sysfs input is a prefix string of an existing overlay manager name. This occurs because strncmp compares the two strings only till the length of the input sysfs string. So a sysfs input "lcd" will match manager name "lcd2" which is incorrect behavior. The use of sysfs_streq here will prevent this false positive match to occur. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
5a0e3ad6af8660be21ca98a971cd00f331318c05 |
|
24-Mar-2010 |
Tejun Heo <tj@kernel.org> |
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
|
52cf25d0ab7f78eeecc59ac652ed5090f69b619e |
|
19-Jan-2010 |
Emese Revfy <re.emese@gmail.com> |
Driver core: Constify struct sysfs_ops in struct kobj_type Constify struct sysfs_ops. This is part of the ops structure constification effort started by Arjan van de Ven et al. Benefits of this constification: * prevents modification of data that is shared (referenced) by many other structure instances at runtime * detects/prevents accidental (but not intentional) modification attempts on archs that enforce read-only kernel data at runtime * potentially better optimized code as the compiler can assume that the const data cannot be changed * the compiler/linker move const data into .rodata and therefore exclude them from false sharing Signed-off-by: Emese Revfy <re.emese@gmail.com> Acked-by: David Teigland <teigland@redhat.com> Acked-by: Matt Domsch <Matt_Domsch@dell.com> Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com> Acked-by: Hans J. Koch <hjk@linutronix.de> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> Acked-by: Jens Axboe <jens.axboe@oracle.com> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
96adceceedefff9b849d25ff582bc6f516903994 |
|
11-Jan-2010 |
Tomi Valkeinen <tomi.valkeinen@nokia.com> |
OMAP: DSS2: move get_resolution() Move get_resolution() from omap_dss_device to omap_dss_driver. This is part of a larger patch-set, which moves the control from omapdss driver to the display driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|
eed07e0ed5367aede8d32758524f2dc2d252a291 |
|
07-Aug-2009 |
Tomi Valkeinen <tomi.valkeinen@nokia.com> |
OMAP: DSS2: Add more core files Add more core files to DSS2. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
|