summaryrefslogtreecommitdiffstats
path: root/drivers/video
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '3.15/dss-dt' into 3.15/fbdevTomi Valkeinen2014-03-2021-44/+938
|\ | | | | | | Merge OMAP DSS DT support
| * OMAPDSS: acx565akm: Add DT supportSebastian Reichel2014-03-191-1/+32
| | | | | | | | | | | | | | | | | | Add DT support for panel-sony-acx565akm Signed-off-by: Sebastian Reichel <sre@debian.org> [tomi.valkeinen@ti.com: some modifications] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: connector-analog-tv: Add DT supportTomi Valkeinen2014-03-191-2/+41
| | | | | | | | | | | | | | Add DT support for connector-analog-tv. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: hdmi-connector: Add DT supportTomi Valkeinen2014-03-191-0/+30
| | | | | | | | | | | | | | Add DT support for hdmi-connector. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: encoder-tpd12s015: Add DT supportTomi Valkeinen2014-03-191-0/+56
| | | | | | | | | | | | | | Add DT support for encoder-tpd12s015. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: connector-dvi: Add DT supportTomi Valkeinen2014-03-191-0/+43
| | | | | | | | | | | | | | Add DT support for connector-dvi. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: encoder-tfp410: Add DT supportTomi Valkeinen2014-03-191-1/+42
| | | | | | | | | | | | | | Add DT support for encoder-tfp410. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: panel-dsi-cm: Add DT supportTomi Valkeinen2014-03-191-4/+56
| | | | | | | | | | | | | | Add DT support for panel-dsi-cm. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: Add DT support to DSITomi Valkeinen2014-03-191-1/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the code to make the DSI driver work with device tree on OMAP3 and OMAP4. A minor hack is needed at the moment in the DSI driver: the DSS driver needs to know the ID number of a DSI device, as clocks are routed in different ways to the DSI devices. At the moment we don't have any proper way to manage this, so this patchs adds a simple lookup table that is used to deduce the ID from the DSI device's base address. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: Add DT support to VENCTomi Valkeinen2014-03-191-0/+61
| | | | | | | | | | | | | | | | | | | | Add DT support to VENC. In contrast to non-DT version, the DT version gets the invert-polarity and connector type via venc's endpoint, not from the connector. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: Add DT support to HDMITomi Valkeinen2014-03-191-0/+6
| | | | | | | | | | | | | | | | Add DT support to HDMI driver. The only thing needed for DT support here is the of_match_table. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: Add DT support to DISPCTomi Valkeinen2014-03-191-0/+8
| | | | | | | | | | | | | | Add DT support to DISPC. Only thing needed here is the of_match_table. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: Add DT support to DSSTomi Valkeinen2014-03-194-0/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DT support for DSS. Contrary to the non-DT version, the DSS in DT mode contains DPI and SDI outputs, which better reflects the hardware. The non-DT code will be removed after all boards have been converted to DT, so there's no need to change the non-DT code to act the same way. The code for DPI and SDI needs to be refined later to make it possible to add multiple DPI ports. For now, handling just a single DPI port is enough for all the boards. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: Improve regulator names for DTTomi Valkeinen2014-03-193-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regulator names used for DSS components are somewhat ugly for DT use. As we're just adding DT support, it's simple to change the regulator names. This patch makes the DSS driver get the regulators with somewhat cleaner names when bootin with DT. For example, this allows us to define HDMI's VDDA regulator in the DT data as: vdda-supply = <...>; instead of vdda_hdmi_dac-supply = <...>; Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: add of helpersTomi Valkeinen2014-03-192-1/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | Add helpers to get ports and endpoints from DT data. These helpers parse v4l2 style ports and endpoints, but compared to the v4l2 helpers, these allow iterating ports and endpoints separately. This is a temporary solution until we get generic code to parse the ports and endpoints. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPFB: search for default display with DT aliasTomi Valkeinen2014-03-191-1/+22
| | | | | | | | | | | | | | | | | | Improve the search for the default display in two ways: * compare the given display name to the display's alias * if no display name is given, look for "display0" DT alias Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPFB: clean up default display searchTomi Valkeinen2014-03-191-17/+29
| | | | | | | | | | | | | | | | Separate the code for finding the default display into a function for clarity and to make it easier to extend it in the future. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: get dssdev->alias from DT aliasTomi Valkeinen2014-03-191-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently create a "displayX" style alias name for all displays, using a number that is incremented for each registered display. With the new DSS device model there is no clear order in which the displays are registered, and thus the numbering is somewhat random. This patch improves the behavior for DT case so that if the displays have been assigned DT aliases, those aliases will be used as DSS aliases. This means that "display0" is always the one specified in the DT alias, and thus display0 can be used as default display in case the user didn't specify a default display. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * OMAPDSS: add 'label' support for DTTomi Valkeinen2014-03-191-0/+9
| | | | | | | | | | | | | | | | | | Add support to get the label (i.e. a "nickname") for a display from the DT data. If there is no label defined, use the display's alias (e.g. 'display0') as a name. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
| * video: Kconfig: Allow more broad selection of the imxfb framebuffer driver.Denis Carikli2014-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without that patch, a user can't select the imxfb driver when the i.MX25 and/or the i.MX27 device tree board are selected and that no boards that selects IMX_HAVE_PLATFORM_IMX_FB are compiled in. Cc: Eric Bénard <eric@eukrea.com> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-fbdev@vger.kernel.org Signed-off-by: Denis Carikli <denis@eukrea.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * video: exynos: Fix S6E8AX0 LCD driver build errorSachin Kamat2014-02-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | Enable S6E8AX0 LCD driver only if LCD_CLASS_DEVICE is a built-in driver. Else we get the following errors due to missing symbols: drivers/built-in.o: In function `s6e8ax0_probe': :(.text+0x51aec): undefined reference to `lcd_device_register' :(.text+0x51c44): undefined reference to `lcd_device_unregister' Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * OMAPDSS: fix fck field typesTomi Valkeinen2014-02-112-2/+2
| | | | | | | | | | | | | | | | | | | | 'fck' field in dpi and sdi clock calculation struct is 'unsigned long long', even though it should be 'unsigned long'. This hasn't caused any issues so far. Fix the field's type. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * OMAPDSS: DISPC: decimation rounding fixTomi Valkeinen2014-02-111-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver uses DIV_ROUND_UP when calculating decimated width & height. For example, when decimating with 3, the width is calculated as: width = DIV_ROUND_UP(width, decim_x); This yields bad results for some values. For example, 800/3=266.666..., which is rounded to 267. When the input width is set to 267, and pixel increment is set to 3, this causes the dispc to read a line of 801 pixels, i.e. it reads a wrong pixel at the end of the line. Even more pressing, the above rounding causes a BUG() in pixinc(), as the value of 801 is used to calculate row increment, leading to a bad value being passed to pixinc(). This patch fixes the decimation by removing the DIV_ROUND_UP()s when calculating width and height for decimation. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | Video: atmel: avoid the id of fix screen info is overwrittenBo Shen2014-03-191-1/+1
| | | | | | | | | | | | | | | | | | Correct passing parameter sequence, which will avoid the id of fix screen info is overwritten. Signed-off-by: Bo Shen <voice.shen@atmel.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: imxfb: Add DT default contrast control register property.Denis Carikli2014-03-171-0/+3
| | | | | | | | | | | | | | Signed-off-by: Denis Carikli <denis@eukrea.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Grant Likely <grant.likely@linaro.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: atmel_lcdfb: ensure the hardware is initialized with the correct modeAntoine Ténart2014-03-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If no driver takeover the atmel_lcdfb, the lcd won't be in a working state since atmel_lcdfb_set_par() will never be called. Enabling a driver which does, like fbcon, will call the function and put atmel_lcdfb in a working state. Fixes: b985172b328a (video: atmel_lcdfb: add device tree suport) Signed-off-by: Antoine Ténart <antoine.tenart@free-electrons.com> Reported-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | fbdev: vesafb: add dev->remove() callbackDavid Herrmann2014-03-071-1/+12
| | | | | | | | | | | | | | | | | | | | | | If x86-sysfb platform-devices are removed from a system, we should properly unload vesafb. Otherwise, we end up releasing the parent while our vesa framebuffer is still running. This currently works just fine, but will cause problems on handover to real hw. So add the ->remove() callback and unregister vesafb. Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | fbdev: efifb: add dev->remove() callbackDavid Herrmann2014-03-071-1/+12
| | | | | | | | | | | | | | | | | | | | | | If x86-sysfb platform-devices are removed from a system, we should properly unload efifb. Otherwise, we end up releasing the parent while our efi framebuffer is still running. This currently works just fine, but will cause problems on handover to real hw. So add the ->remove() callback and unregister efifb. Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: pxa3xx-gcu: switch to devres functionsDaniel Mack2014-03-071-74/+39
| | | | | | | | | | | | | | | | Switch to devres allocators to clean up the error unwinding paths. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: pxa3xx-gcu: provide an empty .open callDaniel Mack2014-03-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | This is necessary in order to make the core set file->private_data to miscdev in use. We need that information later to dereference the container of the device, so we can get access to our private struct from other callbacks. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: pxa3xx-gcu: pass around struct device *Daniel Mack2014-03-071-27/+29
| | | | | | | | | | | | | | | | | | | | Instead of passing around struct platform_device, use struct device. That saves one level of dereference. Also, call platform devices pdev, and provide a shortcut for &pdev->dev. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: pxa3xx-gcu: rename some symbolsDaniel Mack2014-03-071-27/+21
| | | | | | | | | | | | | | | | | | Prefix some functions with more specific names. While at it, kill some stray newlines and other coding style related minor things. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | sisfb: fix 1280x720 resolution supportDan Carpenter2014-03-071-0/+1
| | | | | | | | | | | | | | It uses the wrong mode index because there is no break statement. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: fbdev: uvesafb: Remove impossible code path in uvesafb_init_infoWang YanQing2014-03-061-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Because uvesafb_vbe_init will fail when get zero avaiable modes, and we have checked the return value of uvesafb_vbe_init_mode, so it is impossible to pass NULL as mode into uvesafb_init_info. [ This patch fix warning report by fengguang.wu@intel.com "drivers/video/fbdev/uvesafb.c:1509 uvesafb_init_info() error: we previously assumed 'mode' could be null" ] Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: fbdev: uvesafb: Remove redundant NULL check in uvesafb_removeWang YanQing2014-03-061-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Because uvesafb_par is allocated as part of fb_info in uvesafb_probe, so we don't need to do NULL check for both fb_info and uvesafb_par in uvesafb_remove. [ This patch also fix a warning report by fengguang.wu@intel.com "drivers/video/fbdev/uvesafb.c:1815 uvesafb_remove() warn: variable dereferenced before check 'par'" ] Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | fbdev: FB_OPENCORES should depend on HAS_DMAGeert Uytterhoeven2014-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If NO_DMA=y: drivers/built-in.o: In function `ocfb_remove': ocfb.c:(.text+0x27fee): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `ocfb_probe': ocfb.c:(.text+0x28418): undefined reference to `dma_alloc_coherent' ocfb.c:(.text+0x284d2): undefined reference to `dma_free_coherent' Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | OMAPDSS: convert pixel clock to common videomode styleTomi Valkeinen2014-03-0521-96/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | omapdss has its own video-timings struct, but we want to move the common videomode. The first step is to change the omapdss's pixelclock unit from kHz to Hz. Also, omapdss uses "pixel_clock" field name, whereas the common videomode uses "pixelclock" field name. This patch changes the field name also, as that makes it easy to spot any non-converted pixel_clock uses. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | OMAPDSS: Remove unused get_context_loss_count supportTomi Valkeinen2014-02-282-18/+0
| | | | | | | | | | | | | | | | The omapdss driver no longer uses get_context_loss_count call, so we can remove it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
* | OMAPDSS: use DISPC register to detect context lossTomi Valkeinen2014-02-281-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of relying on the OMAP specific omap_pm_get_dev_context_loss_count() to detect register context loss, we can achieve the same in a much simpler way by just observing the DISPC registers. We always set DISPC's load mode to LOAD_FRAME_ONLY, which is not the reset value. Thus we can just observe the load mode to see if we have lost register context. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
* | video: da8xx-fb: Use "SIMPLE_DEV_PM_OPS" macroManish Badarkhe2014-02-281-12/+10
| | | | | | | | | | | | | | | | Update driver to use SIMPLE_DEV_PM_OPS macro for power management suspend and resume operations. Signed-off-by: Manish Badarkhe <badarkhe.manish@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: imxfb: Convert to SIMPLE_DEV_PM_OPSAlexander Shiyan2014-02-281-38/+21
| | | | | | | | | | | | | | | | | | Instead of assigning the pm_ops fields individually we can simply use SIMPLE_DEV_PM_OPS. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: imxfb: Resolve mismatch between backlight/contrastAlexander Shiyan2014-02-281-94/+30
| | | | | | | | | | | | | | | | | | | | | | Currently, driver uses backlight class to control contrast value. This is not correct. This patch resolves this issue by removing backlight class from the driver and replace handling of LCDC PWM Contrast Control Register by contrast control through LCD class. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: imxfb: Use module_platform_driver()Alexander Shiyan2014-02-281-39/+26
| | | | | | | | | | | | | | | | | | | | We have no reason to call fb_get_options() when registering module, so move this call in the probe() and convert the driver to use module_platform_driver() macro. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: imxfb: Remove unused fields from platform data structureAlexander Shiyan2014-02-281-47/+17
| | | | | | | | | | | | | | | | | | | | | | | | Some fields in platform data structure is never used by boards. This patch removes these fields and as a result optimizes private driver structure a bit. Additionally patch removes backligh_power() callback, so if it will be needed in the future, this feature should be added as pwm{gpio,etc.}-regulator to the board code or in the DTS. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: s6e8ax0: Use devm_* APIsSachin Kamat2014-02-141-9/+4
| | | | | | | | | | | | | | devm_* APIs make the cleanup paths simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: exynos: Remove OF dependency for Exynos DPSachin Kamat2014-02-141-1/+1
| | | | | | | | | | | | | | | | | | OF dependency can be removed as the driver does not actually depend on it at all. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: xilinxfb: Move xilinxfb_platform_data directly to the driverMichal Simek2014-02-111-1/+14
| | | | | | | | | | | | | | | | No reason to have separate file in header in include/linux folder if this is purely driver specific structure. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | video: imxfb: Use regulator API with LCD class for poweringAlexander Shiyan2014-02-111-9/+62
| | | | | | | | | | | | | | | | | | This patch replaces custom lcd_power() callback with regulator API over LCD class. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | tgafb: avoid restriction on modes with line length not a multiple of 64Mikulas Patocka2014-02-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In tgafb there is a restriction that prevents the user from setting a videomode with line length not a multiple of 64 bytes (for example, 800x600 is not allowed). The reason for this restriction it that functions copyarea_line_8bpp and copyarea_line_32bpp can not handle a line length that is not a multiple of 64 bytes. This patch removes this restriction on mode setting and makes sure that the functions copyarea_line_8bpp and copyarea_line_32bpp are called only if line length is a multiple of 64 bytes. If we set a mode 800x600, the functions copyarea_line_8bpp and copyarea_line_32bpp are not used, generic functions for copying are used instead and it works just fine. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | tgafb: fix data copyingMikulas Patocka2014-02-111-213/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The functions for data copying copyarea_foreward_8bpp and copyarea_backward_8bpp are buggy, they produce screen corruption. This patch fixes the functions and moves the logic to one function "copyarea_8bpp". For simplicity, the function only handles copying that is aligned on 8 pixes. If we copy an unaligned area, generic function cfb_copyarea is used. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Cc: stable@vger.kernel.org Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
OpenPOWER on IntegriCloud