- 05 8月, 2010 2 次提交
-
-
由 Ville Syrjälä 提交于
Print an error message if dsi_calc_clock_rates() fails just like it's done when dispc_calc_clock_rates() fails. Signed-off-by: NVille Syrjälä <ville.syrjala@nokia.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Ville Syrjälä 提交于
Do not leave the free running pixel clock enabled if the DSI PLL reset times out. Signed-off-by: NVille Syrjälä <ville.syrjala@nokia.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 03 8月, 2010 6 次提交
-
-
由 Tomi Valkeinen 提交于
Using nanoseconds as arguments to functions that set the DSI timeouts was perhaps not so good idea. The timeouts are based on different DSI clocks, so the possible range for the timeouts vary greatly depending on the clocks. Also, the multipliers used with the timeouts cause big gaps in the timeout range, meaning that the nanosecond based functions could cause the timeout to be quite far from the intended value. This patch changes the functions to take the plain tick values with the multiplier enable/disable bits, and sets the TA/LP_RX/HS_TX timeouts to maximum. While the timeouts could be much lower, the fact is that when TA/LP_RX/HS_TX timeout happens, we are in an error situation and not in a hurry anyway. STOP_STATE_COUNTER is a different matter, but it is only used at initialization time, and won't normally affect the performance. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Check if the peripheral answered something, and if so, dump the data and return an error. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Change dsi_vc_dcs_read_2() data parameter to two u8 parameters to make the byte-order clear. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Using the shared workqueue led to to a deadlock in the case where the display was unblanked via keyboard. What happens is something like this: - User presses a key context 1: - drivers/char/keyboard.c calls schedule_console_callback() - fb_unblank takes the console semaphore - dsi bus lock is taken, and frame transfer is started (dsi bus lock is left on) - Unblank code tries to set the panel backlight, which tries to take dsi bus lock, but is blocked while the frame transfer is going on context 2, shared workqueue, console_callback in drivers/char/vt.c: - Tries to take console semaphore - Blocks, as console semaphore is being held by context 1 - No other shared workqueue work can be run context 3, HW irq, caused by FRAMEDONE interrupt: - Interrupt handler schedules framedone-work in shared workqueue - Framedone-work is never ran, as the shared workqueue is blocked. This means that the unblank thread stays blocked, which means that context 2 stays blocked. While I think the real problem is in keyboard/virtual terminal code, using a private workqueue in the DSI driver is perhaps safer and more robust than using the shared one. The DSI works should not be delayed more than a millisecond or so, and even if the private workqueue gives us no hard promise of doing so, it's still safer bet than the shared workqueue. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
dsi_vc_flush_receive_data() is meant to dump data when something has gone wrong, and thus we should use DSSERR, not DSSDBG. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
For some reason screen updates of certain odd widths seem to be triggering HS TX timeouts on OMAP 3430, even if bigger updates do not. The reason for this is unknown, but increasing the timeout removes the problem with no (so far) noticeable problems. I haven't seen this problem on OMAP 3630. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 26 2月, 2010 2 次提交
-
-
由 Tomi Valkeinen 提交于
Add error printing for dsi_vc_dcs_write() and dsi_vc_dcs_read(). Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Add dsi_vc_dcs_read_2() helper function to read two bytes from the DSI peripheral. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 24 2月, 2010 13 次提交
-
-
由 Tomi Valkeinen 提交于
With the reworked model, DSI driver doesn't need to know anything about external TE lines. Thus we can remove ext_te support, and only leave the DSI TE trigger support. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move enable/disable/suspend/resume 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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move update() and sync() from omap_dss_device to omap_dss_driver. Also, update was hardcoded to use virtual channel 0. This patch adds a parameter that specifies the VC. This is part of a larger patch-set, which moves the control from omapdss driver to the display driver. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move set/get_update_mode() 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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move enable/get_te() 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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move enable/disable_channel() from omap_dss_device to overlay manager. This is part of a larger patch-set, which moves the control from omapdss driver to the display driver. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move get/set_rotate() 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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move set/get_mirror() 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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move memory_read() 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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Move run_test() 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: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Remove performance measurement for auto-update. Auto-update and thus performance measurement cannot be supported after the driver change where the control is moved to display drivers. This is part of a larger patch-set, which moves the control from omapdss driver to the display driver. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Physical DSI bus is protected by a mutex. This patch changed the mutex to a semaphore, so that we can lock and unlock the bus_lock from different threads. This is needed as the update process is started by user space program, and thus the lock is acquired in that context, but the lock can be released in different context, a work thread via irq. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 23 2月, 2010 1 次提交
-
-
由 Tomi Valkeinen 提交于
After changing the selection of DSI and DISPC clock source the users of get_dsi/dispc_clk_source() functions were left unchanged. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 15 2月, 2010 6 次提交
-
-
由 Tomi Valkeinen 提交于
It was not used. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Instead of configuring only VC0 to be usable, configure all four VCs similarly. This is needed to utilize the other VCs. Setting the FIFO sizes evenly for all VCs, regardless of how many VCs are actually used, is not optimal. However, this affects only cases when larger amounts of data are written or read via L4, meaning that normal use cases are not affected. At some point this could be optimized better to suit different use cases. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Rename and export dsi_vc_enable_hs() so that the display drivers can control the mode of the DSI link. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Add helper functions for most common DCS read and write operations. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Helper function to clean up the checking of the bus lock. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
dss_select_clk_source() was rather confusing. Selecting the source with enums is much clearer. The clk source selection is also stored into memory, so that we know what is the selected source, even when clocks are off. This is important during setup, as we need to what clocks to turn on before the clocks are turned on. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 12 2月, 2010 1 次提交
-
-
由 Tomi Valkeinen 提交于
It looks like on OMAP3 some DSS pins need VDDS_DSI to function properly. This has not been confirmed from TI, but looking at figure 15-1 "Display subsystem highlight" from the TRM, some data pins come near the DSI and SDI blocks. This is not very hard evidence, but the fact remains that with the power on, pixels are ok, and with the power off, pixels are not ok. It may also be that VDDS_SDI is needed to power some pins, but as normally both VDDS_SDI and VDDS_DSI come from the same power source, this hasn't been shown. It seems that a single driver can only get a regulator once. This patch solves it by getting all the required regulators in one place, and from which the submodules then get the regulators they need. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 11 1月, 2010 1 次提交
-
-
由 Tomi Valkeinen 提交于
Loops checking for certain condition were rather inconsistent. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com> Reported-by: NJuha Leppanen <juha_motorsportcom@luukku.com>
-
- 08 1月, 2010 4 次提交
-
-
由 Tomi Valkeinen 提交于
DSI driver didn't check if the panel driver actually implements enable_te(). Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Collect interrupt statistics, printable via debugfs: debugfs/omapdss/dispc_irq debugfs/omapdss/dsi_irq The counters are reset when printed. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
由 Tomi Valkeinen 提交于
- dsi_vc_send_short() needs to use dest_per for the peripheral id - dsi_vc_send_null() was always using channel id 0 Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-
- 09 12月, 2009 1 次提交
-
-
由 Tomi Valkeinen 提交于
DSI (Display Serial Interface) driver implements MIPI DSI interface. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
-