summaryrefslogtreecommitdiffstats
path: root/drivers/video
Commit message (Collapse)AuthorAgeFilesLines
* console/vgacon.c: mark file-local symbol staticThiago Farina2010-03-061-1/+1
| | | | | | | | | warning: symbol 'vgacon_text_mode_force' was not declared. Should it be static? Signed-off-by: Thiago Farina <tfransosi@gmail.com> Acked-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* console: limit the range of VGACON_SOFT_SCROLLBACK_SIZEAmerigo Wang2010-03-061-0/+1
| | | | | | | | | | | | | | | BuraphaLinux reported that we will trigger a mm warning when we CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=65536, this is because mm cann't allocate so many pages. We should limit the range of CONFIG_VGACON_SOFT_SCROLLBACK_SIZE, don't give a user any chance to trigger that. Reported-by: BuraphaLinux Server <buraphalinuxserver@gmail.com> Tested-by: BuraphaLinux Server <buraphalinuxserver@gmail.com> Signed-off-by: WANG Cong <amwang@redhat.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'drm-linus' of ↵Linus Torvalds2010-03-042-1/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (151 commits) vga_switcheroo: disable default y by new rules. drm/nouveau: fix *staging* driver build with switcheroo off. drm/radeon: fix typo in Makefile vga_switcheroo: fix build on platforms with no ACPI drm/radeon: Fix printf type warning in 64bit system. drm/radeon/kms: bump the KMS version number for square tiling support. vga_switcheroo: initial implementation (v15) drm/radeon/kms: do not disable audio engine twice Revert "drm/radeon/kms: disable HDMI audio for now on rv710/rv730" drm/radeon/kms: do not preset audio stuff and start timer when not using audio drm/radeon: r100/r200 ums: block ability for userspace app to trash 0 page and beyond drm/ttm: fix function prototype to match implementation drm/radeon: use ALIGN instead of open coding it drm/radeon/kms: initialize set_surface_reg reg for rs600 asic drm/i915: Use a dmi quirk to skip a broken SDVO TV output. drm/i915: enable/disable LVDS port at DPMS time drm/i915: check for multiple write domains in pin_and_relocate drm/i915: clean-up i915_gem_flush_gpu_write_domain drm/i915: reuse i915_gpu_idle helper drm/i915: ensure lru ordering of fence_list ... Fixed trivial conflicts in drivers/gpu/vga/Kconfig
| * vga_switcheroo: initial implementation (v15)Dave Airlie2010-03-011-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many new laptops now come with 2 gpus, one to be used for low power modes and one for gaming/on-ac applications. These GPUs are typically wired to the laptop panel and VGA ports via a multiplexer unit which is controlled via ACPI methods. 4 combinations of systems typically exist - with 2 ACPI methods. Intel/ATI - Lenovo W500/T500 - use ATPX ACPI method ATI/ATI - some ASUS - use ATPX ACPI Method Intel/Nvidia - - use _DSM ACPI method Nvidia/Nvidia - - use _DSM ACPI method. TODO: This patch adds support for the ATPX method and initial bits for the _DSM methods that need to written by someone with access to the hardware. Add a proper non-debugfs interface - need to get some proper testing first. v2: add power up/down support for both devices on W500 puts i915/radeon into D3 and cuts power to radeon. v3: redo probing methods, no DMI list, drm devices call to register with switcheroo, it tries to find an ATPX method on any device and once there is two devices + ATPX it inits the switcher. v4: ATPX msg handling using buffers - should work on more machines v5: rearchitect after more mjg59 discussion - move ATPX handling to radeon driver. v6: add file headers + initial nouveau bits (to be filled out). v7: merge delayed switcher code. v8: avoid suspend/resume of gpu that is off v9: rearchitect - mjg59 is always right. - move all ATPX code to radeon, should allow simpler DSM also proper ATRM handling v10: add ATRM support for radeon BIOS, add mutex to lock vgasr_priv v11: fix bug in resuming Intel for 2nd time. v12: start fixing up nvidia code blindly. v13: blindly guess at finishing nvidia code v14: remove radeon audio hacks - fix up intel resume more like upstream v15: clean up printks + remove unnecessary igd/dis pointers mount debugfs /sys/kernel/debug/vgaswitcheroo/switch - should exist if ATPX detected + 2 cards. DIS - immediate change to discrete IGD - immediate change to IGD DDIS - delayed change to discrete DIGD - delayed change to IGD ON - turn on not in use OFF - turn off not in use Tested on W500 (Intel/ATI) and T500 (Intel/ATI) Signed-off-by: Dave Airlie <airlied@redhat.com>
| * fb: for framebuffer handover don't exit the loop early.Dave Airlie2010-02-251-1/+0
| | | | | | | | | | | | | | An offb machine has been seen in the fields which adds two offb nodes, so continue scanning the list after removing one. Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linuxLinus Torvalds2010-03-0227-1785/+2110
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (49 commits) OMAP: DSS2: Taal: Fix TE when resuming OMAP: DSS2: Taal: Fix ESD check OMAP: DSS2: OMAPFB: Constify some function parameters OMAP: DSS2: OMAPFB: install omapfb.h OMAP: DSS2: DSI: add error prints OMAP: DSS2: TPO-TD03MTEA1: fix function names OMAP: DSS2: DSI: add dsi_vc_dcs_read_2() helper OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE OMAP: DSS2: DSI: remove external TE support OMAP: DSS2: move timing functions OMAP: DSS2: move set/get_wss() OMAP: DSS2: move enable/disable/suspend/resume OMAP: DSS2: move update() and sync() OMAP: DSS2: move set/get_update_mode() OMAP: DSS2: move enable/get_te() OMAP: DSS2: move get_recommended_bpp() OMAP: DSS2: move get_resolution() OMAP: DSS2: move enable/disable_channel to overlay manager OMAP: DSS2: move wait_vsync() OMAP: DSS2: move get/set_rotate() ...
| * | OMAP: DSS2: Taal: Fix TE when resumingTomi Valkeinen2010-03-021-3/+18
| | | | | | | | | | | | | | | | | | | | | TE was not initialized properly on power on, which broke TE when resuming from suspend. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: Taal: Fix ESD checkTomi Valkeinen2010-03-011-2/+5
| | | | | | | | | | | | | | | | | | Using taal_enable_te() when DSI bus was locked caused a deadlock. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: OMAPFB: Constify some function parametersVille Syrjälä2010-03-011-9/+9
| | | | | | | | | | | | | | | Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: add error printsTomi Valkeinen2010-02-261-13/+34
| | | | | | | | | | | | | | | | | | Add error printing for dsi_vc_dcs_write() and dsi_vc_dcs_read(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: TPO-TD03MTEA1: fix function namesTomi Valkeinen2010-02-261-6/+6
| | | | | | | | | | | | | | | | | | | | | Copy/paste had resulted in wrong function names in TPO TD043MTEA1 panel driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: add dsi_vc_dcs_read_2() helperTomi Valkeinen2010-02-251-0/+16
| | | | | | | | | | | | | | | | | | | | | Add dsi_vc_dcs_read_2() helper function to read two bytes from the DSI peripheral. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATETomi Valkeinen2010-02-242-23/+3
| | | | | | | | | | | | | | | | | | | | | | | | Remove the option for forcing auto-update. Auto-update for manual update displays is no more a DSS feature, so if a particular display devices does have auto-update mode, it should be in display's custom settings. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: remove external TE supportTomi Valkeinen2010-02-241-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move timing functionsTomi Valkeinen2010-02-246-73/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move check/set/get_timings() 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>
| * | OMAP: DSS2: move set/get_wss()Tomi Valkeinen2010-02-242-37/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move set/get_wss() 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>
| * | OMAP: DSS2: move enable/disable/suspend/resumeTomi Valkeinen2010-02-2414-531/+454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move update() and sync()Tomi Valkeinen2010-02-245-500/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move set/get_update_mode()Tomi Valkeinen2010-02-249-194/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move enable/get_te()Tomi Valkeinen2010-02-246-66/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move get_recommended_bpp()Tomi Valkeinen2010-02-246-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move get_recommended_bpp() 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>
| * | OMAP: DSS2: move get_resolution()Tomi Valkeinen2010-02-248-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | OMAP: DSS2: move enable/disable_channel to overlay managerTomi Valkeinen2010-02-248-23/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move wait_vsync()Tomi Valkeinen2010-02-243-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move wait_vsync() 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move get/set_rotate()Tomi Valkeinen2010-02-243-39/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move set/get_mirror()Tomi Valkeinen2010-02-243-31/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move memory_read()Tomi Valkeinen2010-02-243-35/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: move run_test()Tomi Valkeinen2010-02-243-45/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: remove auto-update perf measurementTomi Valkeinen2010-02-241-72/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: change DSI bus_lock to semaphoreTomi Valkeinen2010-02-241-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: fix get_dsi/dispc_clk_source() usageTomi Valkeinen2010-02-232-6/+8
| | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: OMAPFB: fix cleanup on dssdev enable errorTomi Valkeinen2010-02-181-1/+3
| | | | | | | | | | | | | | | | | | If enabling a dss device failed, omapfb didn't exit, leading to crash. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: OMAPFB: fix dssdev cleanup on errorTomi Valkeinen2010-02-181-2/+7
| | | | | | | | | | | | | | | | | | | | | If there was a dss device without a driver and thus omapfb probe failed, ref counts could be left to dss devices. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: fix driver probe error handlingTomi Valkeinen2010-02-181-0/+1
| | | | | | | | | | | | | | | | | | If driver's probe failed, the uninit was not called. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: remove sub-panel systemTomi Valkeinen2010-02-182-62/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The system to allow panel drivers to exists as attached to ctrl drivers did never work very well. It is not useed, and this patch removes it to make the driver cleaner. For now, controller drivers need to include also the panel driver code. In the future a proper mechanism for this should be developed, perhaps by creating busses for controllers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: Check ctx loss count only when starting the first clockTomi Valkeinen2010-02-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When OMAP PM layer is no-op/debug, the PM layer will increment context loss count with every call. This resulted DSS2 to restore context whenever a clock was enabled. This commit checks the context loss count only when the context actually could have been lost, ie. when enabling a clock when no clocks had been previously enabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: remove dsi_vc_print_status()Tomi Valkeinen2010-02-151-21/+0
| | | | | | | | | | | | | | | | | | It was not used. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: configure all DSI VCsTomi Valkeinen2010-02-151-22/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: export dsi_vc_enable_hs()Tomi Valkeinen2010-02-151-5/+8
| | | | | | | | | | | | | | | | | | | | | Rename and export dsi_vc_enable_hs() so that the display drivers can control the mode of the DSI link. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: add helpers for DCS read/writeTomi Valkeinen2010-02-151-0/+30
| | | | | | | | | | | | | | | | | | Add helper functions for most common DCS read and write operations. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: DSI: add dsi_bus_is_locked()Tomi Valkeinen2010-02-151-4/+9
| | | | | | | | | | | | | | | | | | Helper function to clean up the checking of the bus lock. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: improve DSS clk src selectionTomi Valkeinen2010-02-154-18/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: OMAPFB: Add omapfb_update_window prototypeTomi Valkeinen2010-02-151-0/+3
| | | | | | | | | | | | Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: fix irq-stats compilationTomi Valkeinen2010-02-152-3/+3
| | | | | | | | | | | | | | | | | | Fix compilation of the CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS feature. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: OMAPFB: implement OMAPFB_GET_DISPLAY_INFOTomi Valkeinen2010-02-151-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | Previously the only place to get the size of the display was from the DSS's sysfs interface, making, for example, configuring overlays and doing updates on manual displays more difficult. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS: Taal: fix error returns in taal_probe()Aaro Koskinen2010-02-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workqueue creation error branch attempted to destroy a NULL wq, and, in turn, a failed registration does not destroy the newly created workqueue. The problem was reported by a static analysis tool. Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: 3430SDP: remove vdvi regulatorTomi Valkeinen2010-02-121-35/+0
| | | | | | | | | | | | | | | | | | | | | The regulator is now enabled by DSS driver, and thus the panel driver doesn't need to touch it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | OMAP: DSS2: enable VDDS_DSI when using DPITomi Valkeinen2010-02-125-17/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | omapfb: lcd_ams_delta: add support for contrast controlJanusz Krzysztofik2010-02-121-4/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch extends the Amstrad Delta LCD panel driver with optional support for changing contrast using standard LCD class device API instead of setting it silently to a default value at panel enable. It also allows for lowering power consumption by turning off OMAP_PWL_CLK_ENABLE via lcd_ops.set_power callback. Created and tested against linux-omap for-next, commit 155a75d9725e66e5ec8a383822957dee52427057. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | omapfb: Fix 12-bit display (RGB444 color mode) handlingJanusz Krzysztofik2010-02-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for RGB444 (12-bit) pixel format has been introduced into omapfb/lcdc by Mark Underwood on 2006-05-26 (commit f74edb6668aad9fc8e81585861b18f996c78a574) in preparation for Amstrad Delta (E3) videophone LCD display support. Before the Amstrad Delta LCD patch by Jonathan McDowell was applied (on 2006-08-04, commit 8d22fb2ea004cdb6379b54c1a8fd1546cfe40ed7), omapfb and lcdc code was changed substantially (commit e563dc81aa01bd8bbb01bc53975a15c398715f62 dated 2006-06-26) in a way that broke Mark's 12-bit display support. Than, a patch by Jonathan, that supposed to correct the problem, was introduced immediatelly (on 2006-08-04, commit e10a75b49e7a57ae17c28b705153c70eba15a8ef). As a result, the Amstrad Delta display was working correctly at boot time, with fbset reporting: geometry 480 320 480 320 16 ... rgba 4/8,4/4,4/0,0/0 However, after first framebuffer reinitialization, colors were no longer being displayed correctly and fbset was reporting: rgba 5/11,6/5,5/0,0/0 The patch tries to correct the issue by setting plane->color_mode depending on panel->bpp, not var->bits_per_pixel. Created and tested on Amstrad Delta against linux-2.6.33-rc3. Signed-off-by: Janusz Krzysztofik <jkrzysz@tis.icnet.pl> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
OpenPOWER on IntegriCloud