- 05 10月, 2011 3 次提交
-
-
由 Timur Tabi 提交于
The function which is supposed to provide screen blanking support doesn't actually do anything, so the framebuffer layer thinks the screen has been blanked when it really isn't. Remove the code completely for now. A side-effect of this change is that the framebuffer console blanking now works correctly. Presumably this is because the console now receives -EINVAL instead of '0' when it asks the driver to blank the screen, so the console does it manually now. A signficant refactoring of the driver is planned, and proper hardware blanking support will added afterwards. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Move several macros and structures from the Freescale DIU driver's header file into the source file, because they're only used by that file. Also delete a few unused macros. The diu and diu_ad structures cannot be moved because they're being used by the MPC5121 platform file. A future patch eliminate the need for the platform file to access these structs, so they'll be moved also. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Use the _IOx macros to define the ioctl commands, instead of hard-coded numbers. Unfortunately, the original definitions of MFB_SET_PIXFMT and MFB_GET_PIXFMT used the wrong value for the size, so these macros have new values now. To avoid breaking binary compatibility with older applications, we retain support for the original values, but the driver displays a warning message if they're used. Also remove the FBIOGET_GWINFO and FBIOPUT_GWINFO ioctls. FBIOPUT_GWINFO was never implemented, and FBIOGET_GWINFO was never used by any application. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 04 10月, 2011 2 次提交
-
-
-
由 Manjunathappa, Prakash 提交于
Revised LCD controller in upcoming TI SoC which is an updated version of LCDC IP that was found on TI's DA850 SoC supports 2048*2048 resolution. Below are the encoding details: Width: Pixels Per Line = {pplmsb, ppllsb, 4'b1111} + 1 Where pplmsb:1bit==>Raster Timing0[3], ppllsb:6bits==>Raster Timing0[9:4]. And encoded value can range from 16 to 2048 in multiples of 16. Height: Lines Per Panel = {lpp_b10, lpp} Where lpp:10bits==>Raster Timing1[9:0], lpp_b10:1bit==>Raster Timing2[26]. And encoded value can range from 1 to 2048, programmable range is 0 to 2047. Patch is verified on emulation platform of upcoming SoC for updated feature and on DA850 platform to make sure nothing existing breaks. Signed-off-by: NManjunathappa, Prakash <prakash.pm@ti.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 03 10月, 2011 4 次提交
-
-
由 Manuel Lauss 提交于
Removes some bitrot from the au1100fb driver and fix it up so it works again. Signed-off-by: NManuel Lauss <manuel.lauss@googlemail.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Wolfram Stering 提交于
When blanking an already blanked framebuffer, a kernel NULL pointer dereference occurred, because mx3fb driver handles all kinds of screen blanking (normal, vsync suspend, powerdown) in the same way. Certain programs (Xorg X11 server) first do a normal blank, followed by a powerdown blank, which triggered the bug. Add an additional safeguard and make sdc_disable_channel() safe against multiple calls independent of other logic. Signed-off-by: NMichael Thalmeier <michael.thalmeier@hale.at> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Yong Zhang 提交于
Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: NYong Zhang <yong.zhang0@gmail.com> Acked-by: NDavid Brown <davidb@codeaurora.org> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Dan Carpenter 提交于
Having "edid" as char caused a problem in ufx_read_edid() where we compared "edid[i] != 0xFF". Because of the type difference, the condition was never true and the error checking failed. Also I added a __user notation to silence a sparse complaint. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 19 9月, 2011 13 次提交
-
-
由 Timur Tabi 提交于
If there was ever any code that used MEM_ALLOC_THRESHOLD, it was removed a long time ago. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
The video buffer is not uncached memory-mapped I/O, so don't tag the virtual address as __iomem. It's also not a u8*. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Uninstalling the framebuffers in reverse order is unnecessary and makes the for-loop awkward. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
We were forgetting to unmap the video memory if fsl_diu_check_var() fails. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
It makes no sense to limit the size of a strncpy() to the length of the source string. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Use the name "fsl-diu-fb" in the Freescale DIU framebuffer driver during registrations. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Clean up the local variable usage in request_irq_local() and allocate_buf(). This streamlines the code without affecting functionality. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
The framebuffer layer already uses the first video mode defined in the fb_videomode array as a default, so there's no need to duplicate the first entry into a stand-alone structure. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Implement various improvements to the way the Freescale DIU framebuffer driver access the device tree. 1) Use of_iomap() instead of of_address_to_resource() and ioremap() 2) Use be32_to_cpup() instead of directly dereferencing the device_node pointer. 3) Rename variable 'ofdev' to 'pdev' to avoid any confusion that it's a platform_device pointer, not an of_device pointer (of_device no longer exists). Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Fix this compilation warning in the Freescale DIU framebuffer driver: warning: 'dummy_ad_addr' may be used uninitialized in this function Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Remove some unused ioctl commands, and treat those commands as unsupported instead of ignored. Also remove struct mfb_alpha, which isn't used by any ioctl. It may have been once intended for MFB_SET_ALPHA, but that ioctl uses a different data structure. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Remove debug printk messages (they don't help in debugging), replace printk(KERN_xxx with its pr_xxx or dev_xxx equivalent, and add a couple missing error messages. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Fix various indentation and line length problems in the Freescale DIU framebuffer driver. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 15 9月, 2011 3 次提交
-
-
由 Steve Glendinning 提交于
Signed-off-by: NSteve Glendinning <steve.glendinning@smsc.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Ajay Kumar 提交于
This patch: -- Adds s3c_fb_driverdata for S5P64X0, which supports 3 windows. -- Also, register "s5p64x0-fb" type driver_data. Signed-off-by: NAjay Kumar <ajaykumar.rs@samsung.com> Acked-by: NJingoo Han <jg1.han@samsung.com> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Fix the incorrect indentation in functions fb_try_mode() and fb_find_mode(). Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 06 9月, 2011 9 次提交
-
-
由 Laurent Pinchart 提交于
The function duplicates code found in sh_mobile_check_var(). Remove sh_mobile_lcdc_set_bpp() and call sh_mobile_check_var() instead. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Laurent Pinchart 提交于
Move channel initialization to sh_mobile_lcdc_channel_init() and call the function from sh_mobile_lcdc_probe(). This makes the code more readable and prepares it for fix/var initialization rework. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Laurent Pinchart 提交于
Reorder probe/remove functions to avoid forward declarations. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Laurent Pinchart 提交于
Instead of updating the fixed screen information line length manually after calling fb_set_var() in sh_mobile_fb_reconfig(), update the field in the .fb_set_par() operation handler. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Laurent Pinchart 提交于
We must not use any information in the passed var besides xoffset, yoffset and vmode as otherwise applications might abuse it. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Laurent Pinchart 提交于
Implement .fb_set_par to support frame buffer format changes at runtime. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Laurent Pinchart 提交于
Instead of failing when the requested fb_var_screeninfo parameters are not supported, adjust the parameters according to the hardware capabilities. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Laurent Pinchart 提交于
When ICBs are unregistered and later reused they need to be reset to avoid data corruption. Set the WBF, WF and RF bits to make sure ICBs get reset properly. Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Steve Glendinning 提交于
This patch adds framebuffer suport for SMSC's UFX6000 (USB 2.0) and UFX7000 (USB 3.0) display adapters. Signed-off-by: NSteve Glendinning <steve.glendinning@smsc.com> Acked-by: NGreg Kroah-Hartman <gregkh@suse.de> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 03 9月, 2011 4 次提交
-
-
由 Bruno Prémont 提交于
Following on Herton's patch "fb: avoid possible deadlock caused by fb_set_suspend" which moves lock_fb_info() out of fb_set_suspend() to its callers, correct sh-mobile's locking around call to fb_set_suspend() and the same sort of deaklocks with console_lock() due to order of taking the lock. console_lock() must be taken while fb_info is already locked and fb_info must be locked while calling fb_set_suspend(). Signed-off-by: NBruno Prémont <bonbons@linux-vserver.org> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@kernel.org
-
A lock ordering issue can cause deadlocks: in framebuffer/console code, all needed struct fb_info locks are taken before acquire_console_sem(), in places which need to take console semaphore. But fb_set_suspend is always called with console semaphore held, and inside it we call lock_fb_info which gets the fb_info lock, inverse locking order of what the rest of the code does. This causes a real deadlock issue, when we write to state fb sysfs attribute (which calls fb_set_suspend) while a framebuffer is being unregistered by remove_conflicting_framebuffers, as can be shown by following show blocked state trace on a test program which loads i915 and runs another forked processes writing to state attribute: Test process with semaphore held and trying to get fb_info lock: .. fb-test2 D 0000000000000000 0 237 228 0x00000000 ffff8800774f3d68 0000000000000082 00000000000135c0 00000000000135c0 ffff880000000000 ffff8800774f3fd8 ffff8800774f3fd8 ffff880076ee4530 00000000000135c0 ffff8800774f3fd8 ffff8800774f2000 00000000000135c0 Call Trace: [<ffffffff8141287a>] __mutex_lock_slowpath+0x11a/0x1e0 [<ffffffff814142f2>] ? _raw_spin_lock_irq+0x22/0x40 [<ffffffff814123d3>] mutex_lock+0x23/0x50 [<ffffffff8125dfc5>] lock_fb_info+0x25/0x60 [<ffffffff8125e3f0>] fb_set_suspend+0x20/0x80 [<ffffffff81263e2f>] store_fbstate+0x4f/0x70 [<ffffffff812e7f70>] dev_attr_store+0x20/0x30 [<ffffffff811c46b4>] sysfs_write_file+0xd4/0x160 [<ffffffff81155a26>] vfs_write+0xc6/0x190 [<ffffffff81155d51>] sys_write+0x51/0x90 [<ffffffff8100c012>] system_call_fastpath+0x16/0x1b .. modprobe process stalled because has the fb_info lock (got inside unregister_framebuffer) but waiting for the semaphore held by the test process which is waiting to get the fb_info lock: .. modprobe D 0000000000000000 0 230 218 0x00000000 ffff880077a4d618 0000000000000082 0000000000000001 0000000000000001 ffff880000000000 ffff880077a4dfd8 ffff880077a4dfd8 ffff8800775a2e20 00000000000135c0 ffff880077a4dfd8 ffff880077a4c000 00000000000135c0 Call Trace: [<ffffffff81411fe5>] schedule_timeout+0x215/0x310 [<ffffffff81058051>] ? get_parent_ip+0x11/0x50 [<ffffffff814130dd>] __down+0x6d/0xb0 [<ffffffff81089f71>] down+0x41/0x50 [<ffffffff810629ac>] acquire_console_sem+0x2c/0x50 [<ffffffff812ca53d>] unbind_con_driver+0xad/0x2d0 [<ffffffff8126f5f7>] fbcon_event_notify+0x457/0x890 [<ffffffff814144ff>] ? _raw_spin_unlock_irqrestore+0x1f/0x50 [<ffffffff81058051>] ? get_parent_ip+0x11/0x50 [<ffffffff8141836d>] notifier_call_chain+0x4d/0x70 [<ffffffff8108a3b8>] __blocking_notifier_call_chain+0x58/0x80 [<ffffffff8108a3f6>] blocking_notifier_call_chain+0x16/0x20 [<ffffffff8125dabb>] fb_notifier_call_chain+0x1b/0x20 [<ffffffff8125e6ac>] unregister_framebuffer+0x7c/0x130 [<ffffffff8125e8b3>] remove_conflicting_framebuffers+0x153/0x180 [<ffffffff8125eef3>] register_framebuffer+0x93/0x2c0 [<ffffffffa0331112>] drm_fb_helper_single_fb_probe+0x252/0x2f0 [drm_kms_helper] [<ffffffffa03314a3>] drm_fb_helper_initial_config+0x2f3/0x6d0 [drm_kms_helper] [<ffffffffa03318dd>] ? drm_fb_helper_single_add_all_connectors+0x5d/0x1c0 [drm_kms_helper] [<ffffffffa037b588>] intel_fbdev_init+0xa8/0x160 [i915] [<ffffffffa0343d74>] i915_driver_load+0x854/0x12b0 [i915] [<ffffffffa02f0e7e>] drm_get_pci_dev+0x19e/0x360 [drm] [<ffffffff8141821d>] ? sub_preempt_count+0x9d/0xd0 [<ffffffffa0386f91>] i915_pci_probe+0x15/0x17 [i915] [<ffffffff8124481f>] local_pci_probe+0x5f/0xd0 [<ffffffff81244f89>] pci_device_probe+0x119/0x120 [<ffffffff812eccaa>] ? driver_sysfs_add+0x7a/0xb0 [<ffffffff812ed003>] driver_probe_device+0xa3/0x290 [<ffffffff812ed1f0>] ? __driver_attach+0x0/0xb0 [<ffffffff812ed29b>] __driver_attach+0xab/0xb0 [<ffffffff812ed1f0>] ? __driver_attach+0x0/0xb0 [<ffffffff812ebd3e>] bus_for_each_dev+0x5e/0x90 [<ffffffff812ecc2e>] driver_attach+0x1e/0x20 [<ffffffff812ec6f2>] bus_add_driver+0xe2/0x320 [<ffffffffa03aa000>] ? i915_init+0x0/0x96 [i915] [<ffffffff812ed536>] driver_register+0x76/0x140 [<ffffffffa03aa000>] ? i915_init+0x0/0x96 [i915] [<ffffffff81245216>] __pci_register_driver+0x56/0xd0 [<ffffffffa02f1264>] drm_pci_init+0xe4/0xf0 [drm] [<ffffffffa03aa000>] ? i915_init+0x0/0x96 [i915] [<ffffffffa02e84a8>] drm_init+0x58/0x70 [drm] [<ffffffffa03aa094>] i915_init+0x94/0x96 [i915] [<ffffffff81002194>] do_one_initcall+0x44/0x190 [<ffffffff810a066b>] sys_init_module+0xcb/0x210 [<ffffffff8100c012>] system_call_fastpath+0x16/0x1b .. fb-test2 which reproduces above is available on kernel.org bug #26232. To solve this issue, avoid calling lock_fb_info inside fb_set_suspend, and move it out to where needed (callers of fb_set_suspend must call lock_fb_info before if needed). So far, the only place which needs to call lock_fb_info is store_fbstate, all other places which calls fb_set_suspend are suspend/resume hooks that should not need the lock as they should be run only when processes are already frozen in suspend/resume. References: https://bugzilla.kernel.org/show_bug.cgi?id=26232Signed-off-by: NHerton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@kernel.org
-
由 Manuel Lauss 提交于
it's annoying and takes up way too much space in dmesg. Signed-off-by: NManuel Lauss <manuel.lauss@googlemail.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Anatolij Gustschin 提交于
Increase delay when polling for tx status. This fixes the unreliable video decoder i2c register access. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 01 9月, 2011 2 次提交
-
-
由 Tomi Valkeinen 提交于
The standard timings parses uses 1:1 dimensions when the ratio in the EDID data is 0. However, for EDID 1.3 and later the dimensions are 16:10 when the ratio is 0. Pass the version and revision numbers to get_std_timing() which can then make the right decision about dimensions. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Axel Lin 提交于
Since commit aa3831cf "ARM: Consolidate the clkdev header files", the header file arch/arm/mach-nuc93x/include/mach/clkdev.h is removed. This patch fixes below build error: drivers/video/nuc900fb.c:42:25: error: mach/clkdev.h: No such file or directory make[2]: *** [drivers/video/nuc900fb.o] Error 1 make[1]: *** [drivers/video] Error 2 make: *** [drivers] Error 2 Signed-off-by: NAxel Lin <axel.lin@gmail.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-