summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2012-03-13fbdev: sh_mobile_lcdc: Return display connection state in display_onLaurent Pinchart4-6/+16
Return true if the display is connected and false otherwise. Set the fb info state to FBINFO_STATE_SUSPENDED in the sh_mobile_lcdc driver when the display is not connected. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Remove fb_info parameter to display_on operationLaurent Pinchart4-13/+6
The parameter is unused, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13sh_mobile_hdmi: Use sh_mobile_lcdc_entity::channel to access fb_infoLaurent Pinchart1-68/+12
The fb_info parameter passed to the display_on operation will be removed, don't use it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13sh_mobile_lcdc: Add an lcdc channel pointer to sh_mobile_lcdc_entityLaurent Pinchart2-1/+6
The field will be used by the transmitter drivers to access sh_mobile_lcdc_chan fields such as fb_info. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Merge board_cfg and lcd_size_cfg into panel_cfgLaurent Pinchart1-18/+17
Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Move brightness ops to sh_mobile_lcdc_bl_infoLaurent Pinchart1-4/+2
Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Remove board configuration board_data fieldLaurent Pinchart1-9/+7
The field is unused, remove it. Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Remove board configuration owner fieldLaurent Pinchart1-6/+2
The field is unused, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_hdmi: Don't hook up into board_cfg display operationsLaurent Pinchart1-31/+6
The display_on/off operations are now accessed through the sh_mobile_lcdc_entity operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mipi_dsi: Don't hook up into board_cfg display operationsLaurent Pinchart1-51/+5
The display_on/off operations are now accessed through the sh_mobile_lcdc_entity operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Handle HDMI/MIPI transmitter device directlyLaurent Pinchart2-5/+28
Pass a pointer to the transmitter device through platform data, retrieve the corresponding sh_mobile_lcdc_entity structure in the probe method and call the transmitter display_on/off methods directly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mipi_dsi: Implement sh_mobile_lcdc_entity interfaceLaurent Pinchart1-15/+51
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_hdmi: Implement sh_mobile_lcdc_entity interfaceLaurent Pinchart1-8/+31
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Add sh_mobile_lcdc_entity definitionLaurent Pinchart1-2/+16
The sh_mobile_lcdc_entity structure will be used to abstract operations performed by transceivers (such as MIPI/DSI and HDMI). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13sh_mobile_hdmi: Remove platform data lcd_dev fieldLaurent Pinchart1-12/+5
The field is used to print debug messages only. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_hdmi: Don't access LCDC channel in notifier callbackLaurent Pinchart1-4/+4
Instead of relying on info->par being a pointer to an LCDC channel, cast the notifier block pointer to an sh_hdmi pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Create functions to turn the display on/offLaurent Pinchart1-25/+28
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Don't pass struct device aroundLaurent Pinchart1-20/+21
Pass a pointer to a struct sh_mobile_lcdc_priv instead, which stores a pointer to the device. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Move pm runtime enable to probe()Laurent Pinchart1-18/+16
The pm_runtime_enable() and pm_runtime_resume() calls don't belong to sh_mobile_lcdc_setup_clocks(). Move them to the probe function. Remove the unneeded pm_runtime_resume() call. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Mark init-only symbols with __devinit(const)Laurent Pinchart1-2/+2
default_720p and sh_mobile_lcdc_check_interface are used at device initialization time only. Mark them as __devinitconst and __devinit respectively. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-13fbdev: sh_mobile_lcdc: Reorder code into sectionsLaurent Pinchart1-190/+231
Make the driver more readable by reordering code and splitting it into logical sections. Reorder the headers alphabetically. No modification to the code have been performed. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-03-08video:uvesafb: notice user when we failed to save hardware stateWang YanQing1-3/+11
uvesafb_open may failed to save hardware state when kmalloc failed in uvesafb_vbe_state_save, we should check this and notice user. Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-03-08video:uvesafb: Fix oops that uvesafb try to execute NX-protected pageWang YanQing1-2/+10
This patch fixes the oops below [ 81.560602] uvesafb: NVIDIA Corporation, GT216 Board - 0696a290, Chip Rev , OEM: NVIDIA, VBE v3.0 [ 81.609384] uvesafb: protected mode interface info at c000:d350 [ 81.609388] uvesafb: pmi: set display start = c00cd3b3, set palette = c00cd40e [ 81.609390] uvesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5 3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da [ 81.614558] uvesafb: VBIOS/hardware doesn't support DDC transfers [ 81.614562] uvesafb: no monitor limits have been set, default refresh rate will be used [ 81.614994] uvesafb: scrolling: ypan using protected mode interface, yres_virtual=4915 [ 81.744147] kernel tried to execute NX-protected page - exploit attempt? (uid: 0) [ 81.744153] BUG: unable to handle kernel paging request at c00cd3b3 [ 81.744159] IP: [<c00cd3b3>] 0xc00cd3b2 [ 81.744167] *pdpt = 00000000016d6001 *pde = 0000000001c7b067 *pte = 80000000000cd163 [ 81.744171] Oops: 0011 [#1] SMP [ 81.744174] Modules linked in: uvesafb(+) cfbcopyarea cfbimgblt cfbfillrect [ 81.744178] [ 81.744181] Pid: 3497, comm: modprobe Not tainted 3.3.0-rc4NX+ #71 Acer Aspire 4741 /Aspire 4741 [ 81.744185] EIP: 0060:[<c00cd3b3>] EFLAGS: 00010246 CPU: 0 [ 81.744187] EIP is at 0xc00cd3b3 [ 81.744189] EAX: 00004f07 EBX: 00000000 ECX: 00000000 EDX: 00000000 [ 81.744191] ESI: f763f000 EDI: f763f6e8 EBP: f57f3a0c ESP: f57f3a00 [ 81.744192] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 81.744195] Process modprobe (pid: 3497, ti=f57f2000 task=f748c600 task.ti=f57f2000) [ 81.744196] Stack: [ 81.744197] f82512c5 f759341c 00000000 f57f3a30 c124a9bc 00000001 00000001 000001e0 [ 81.744202] f8251280 f763f000 f7593400 00000000 f57f3a40 c12598dd f5c0c000 00000000 [ 81.744206] f57f3b10 c1255efe c125a21a 00000006 f763f09c 00000000 c1c6cb60 f7593400 [ 81.744210] Call Trace: [ 81.744215] [<f82512c5>] ? uvesafb_pan_display+0x45/0x60 [uvesafb] [ 81.744222] [<c124a9bc>] fb_pan_display+0x10c/0x160 [ 81.744226] [<f8251280>] ? uvesafb_vbe_find_mode+0x180/0x180 [uvesafb] [ 81.744230] [<c12598dd>] bit_update_start+0x1d/0x50 [ 81.744232] [<c1255efe>] fbcon_switch+0x39e/0x550 [ 81.744235] [<c125a21a>] ? bit_cursor+0x4ea/0x560 [ 81.744240] [<c129b6cb>] redraw_screen+0x12b/0x220 [ 81.744245] [<c128843b>] ? tty_do_resize+0x3b/0xc0 [ 81.744247] [<c129ef42>] vc_do_resize+0x3d2/0x3e0 [ 81.744250] [<c129efb4>] vc_resize+0x14/0x20 [ 81.744253] [<c12586bd>] fbcon_init+0x29d/0x500 [ 81.744255] [<c12984c4>] ? set_inverse_trans_unicode+0xe4/0x110 [ 81.744258] [<c129b378>] visual_init+0xb8/0x150 [ 81.744261] [<c129c16c>] bind_con_driver+0x16c/0x360 [ 81.744264] [<c129b47e>] ? register_con_driver+0x6e/0x190 [ 81.744267] [<c129c3a1>] take_over_console+0x41/0x50 [ 81.744269] [<c1257b7a>] fbcon_takeover+0x6a/0xd0 [ 81.744272] [<c12594b8>] fbcon_event_notify+0x758/0x790 [ 81.744277] [<c10929e2>] notifier_call_chain+0x42/0xb0 [ 81.744280] [<c1092d30>] __blocking_notifier_call_chain+0x60/0x90 [ 81.744283] [<c1092d7a>] blocking_notifier_call_chain+0x1a/0x20 [ 81.744285] [<c124a5a1>] fb_notifier_call_chain+0x11/0x20 [ 81.744288] [<c124b759>] register_framebuffer+0x1d9/0x2b0 [ 81.744293] [<c1061c73>] ? ioremap_wc+0x33/0x40 [ 81.744298] [<f82537c6>] uvesafb_probe+0xaba/0xc40 [uvesafb] [ 81.744302] [<c12bb81f>] platform_drv_probe+0xf/0x20 [ 81.744306] [<c12ba558>] driver_probe_device+0x68/0x170 [ 81.744309] [<c12ba731>] __device_attach+0x41/0x50 [ 81.744313] [<c12b9088>] bus_for_each_drv+0x48/0x70 [ 81.744316] [<c12ba7f3>] device_attach+0x83/0xa0 [ 81.744319] [<c12ba6f0>] ? __driver_attach+0x90/0x90 [ 81.744321] [<c12b991f>] bus_probe_device+0x6f/0x90 [ 81.744324] [<c12b8a45>] device_add+0x5e5/0x680 [ 81.744329] [<c122a1a3>] ? kvasprintf+0x43/0x60 [ 81.744332] [<c121e6e4>] ? kobject_set_name_vargs+0x64/0x70 [ 81.744335] [<c121e6e4>] ? kobject_set_name_vargs+0x64/0x70 [ 81.744339] [<c12bbe9f>] platform_device_add+0xff/0x1b0 [ 81.744343] [<f8252906>] uvesafb_init+0x50/0x9b [uvesafb] [ 81.744346] [<c100111f>] do_one_initcall+0x2f/0x170 [ 81.744350] [<f82528b6>] ? uvesafb_is_valid_mode+0x66/0x66 [uvesafb] [ 81.744355] [<c10c6994>] sys_init_module+0xf4/0x1410 [ 81.744359] [<c1157fc0>] ? vfsmount_lock_local_unlock_cpu+0x30/0x30 [ 81.744363] [<c144cb10>] sysenter_do_call+0x12/0x36 [ 81.744365] Code: f5 00 00 00 32 f6 66 8b da 66 d1 e3 66 ba d4 03 8a e3 b0 1c 66 ef b0 1e 66 ef 8a e7 b0 1d 66 ef b0 1f 66 ef e8 fa 00 00 00 61 c3 <60> e8 c8 00 00 00 66 8b f3 66 8b da 66 ba d4 03 b0 0c 8a e5 66 [ 81.744388] EIP: [<c00cd3b3>] 0xc00cd3b3 SS:ESP 0068:f57f3a00 [ 81.744391] CR2: 00000000c00cd3b3 [ 81.744393] ---[ end trace 18b2c87c925b54d6 ]--- Signed-off-by: Wang YanQing <udknight@gmail.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@vger.kernel.org
2012-03-08udlfb: Fix invalid return codes in edid sysfs entry store functionOlivier Sobrie1-8/+11
Return a negative errno instead of zero in the write function of the sysfs entry in case of error. Also add a check on the return value of dlfb_setup_modes(). Signed-off-by: Olivier Sobrie <olivier@sobrie.be> Acked-by: Bernie Thompson <bernie@plugable.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-03-06video: s3c-fb: Add support EXYNOS5 FIMDJingoo Han1-5/+47
This patch adds s3c_fb_driverdata s3c_fb_data_exynos5 for EXYNOS5 and adds extended timing control setting. EXYNOS5 FIMD needs extended setting for video timing control. Additional bits are added to VIDTCON2, VIDWxxADD2, VIDOSDxA and VIDOSDxB registers in order to set timing value for lager resolution. Also, address offset of VIDTCONx registers is changed from 0x0 to 0x20000, thus variable type should be changed to int type to handle the address offset of VIDTCONx registers for EXYNOS5 FIMD. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-03-06pxafb: do console locking before calling fb_blank()Vasily Khoruzhick1-1/+5
Otherwise we hit WARN_CONSOLE_UNLOCKED in do_unblank_screen Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-03-06Merge commit 'v3.3-rc6' into fbdev-nextFlorian Tobias Schandinat126-727/+940
2012-03-06Merge pull request #1 from bernieplug/fbdev-nextFlorian Tobias Schandinat1-68/+95
udlfb patches for fbdev-next
2012-03-04Merge tag 'scsi-fixes' of ↵Linus Torvalds1-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 SCSI fixes from James Bottomley: "There's just a single fix in here: the osd max device number fix." * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576
2012-03-04Merge tag 'parisc-fixes' of ↵Linus Torvalds1-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 PARISC fixes from James Bottomley: "This is a set of build fixes to get the cross compiled architecture testbeds building again" * tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6: [PARISC] don't unconditionally override CROSS_COMPILE for 64 bit. [PARISC] include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h [PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional
2012-03-04udlfb: Add module_param to allow forcing pixel_limitBen Collins1-0/+12
Some user scenarios need to prioritize performance over maxiumum resolution. Also, some devices may have bad vendor descriptors, and this allows the user to set a pixel limit that matches their specific device to avoid blank screens on higher resolution monitors. 700000 minimum for DL-115, 2360000 maximum for DL-195 Signed-off-by: Ben Collins <bcollins@ubuntu.com> Signed-off-by: Bernie Thompson <bernie@plugable.com>
2012-03-04udlfb: Make sure to get correct endian keys from vendor descriptorBen Collins1-1/+1
The driver was not using le16_to_cpu when reading keys from the vendor descriptor, causing incorrect parsing. Mainly, sku_pixel_limit was not being parsed on big-endian systems. This would result in a blank screen on big-endian CPUs where the DL chips's max mode was smaller than the monitor's native mode. Signed-off-by: Ben Collins <bcollins@ubuntu.com> Signed-off-by: Bernie Thompson <bernie@plugable.com>
2012-03-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds1-0/+1
Pull from Herbert Xu: "This push fixes a bug in mv_cesa that causes all hash operations that supply data on a final operation to fail." * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: mv_cesa - fix final callback not ignoring input data
2012-03-03Merge tag 'hwmon-for-linus' of ↵Linus Torvalds1-14/+75
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging hhwmon fixes for 3.3-rc6 from Guenter Roeck: These patches are necessary for correct operation and management of F75387. * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (f75375s) Catch some attempts to write to r/o registers hwmon: (f75375s) Properly map the F75387 automatic modes to pwm_enable hwmon: (f75375s) Make pwm*_mode writable for the F75387 hwmon: (f75375s) Fix writes to the pwm* attribute for the F75387
2012-03-03Merge tag 'fbdev-fixes-for-3.3-2' of git://github.com/schandinat/linux-2.6Linus Torvalds5-10/+35
fbdev fixes for 3.3 from Florian Tobias Schandinat It includes: - two fixes for OMAP HDMI - one fix to make new OMAP functions behave as they are supposed to - one Kconfig dependency fix - two fixes for viafb for modesetting on VX900 hardware * tag 'fbdev-fixes-for-3.3-2' of git://github.com/schandinat/linux-2.6: OMAPDSS: APPLY: make ovl_enable/disable synchronous OMAPDSS: panel-dvi: Add Kconfig dependency on I2C viafb: fix IGA1 modesetting on VX900 viafb: select HW scaling on VX900 for IGA2 OMAPDSS: HDMI: hot plug detect fix OMAPDSS: HACK: Ensure DSS clock domain gets out of idle when HDMI is enabled
2012-03-03hwmon: (f75375s) Catch some attempts to write to r/o registersNikolaus Schulz1-0/+27
It makes no sense to attempt to manually configure the fan in auto mode, or set the duty cycle directly in closed loop mode. The corresponding registers are then read-only. If the user tries it nonetheless, error out with EINVAL instead of silently doing nothing. Signed-off-by: Nikolaus Schulz <mail@microschulz.de> [guenter.roeck@ericsson.com: Minor formatting cleanup] Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
2012-03-02hwmon: (f75375s) Properly map the F75387 automatic modes to pwm_enableNikolaus Schulz1-8/+34
The F75387 supports automatic fan control using either PWM duty cycle or RPM speed values. Make the driver detect the latter mode, and expose the different modes in sysfs as per pwm_enable, so that the user can switch between them. The interpretation of the pwm_enable attribute for the F75387 is adjusted to be a superset of those values used for similar Fintek chips which do not support automatic duty mode, with 2 mapping to automatic speed mode, and moving automatic duty mode to the new value 4. Toggling the duty mode via pwm_enable is currently denied for the F75387, as the chip then simply reinterprets the fan configuration register values according to the new mode, switching between RPM and PWM units, which makes this a dangerous operation. This patch introduces a new pwm mode into the driver. This is necessary because the new mode (automatic pwm mode, 4) may already be enabled by the BIOS, and the driver should not break existing functionality. This was seen on at least one board. Signed-off-by: Nikolaus Schulz <mail@microschulz.de> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
2012-03-02Merge git://www.linux-watchdog.org/linux-watchdogLinus Torvalds5-31/+41
Watchdog updates from Wim Van Sebroeck: * git://www.linux-watchdog.org/linux-watchdog: watchdog: fix GETTIMEOUT ioctl in booke_wdt watchdog: update maintainers git entry watchdog: Fix typo in pnx4008_wdt.c watchdog: Fix typo in Kconfig watchdog: fix error in probe() of s3c2410_wdt (reset at booting) watchdog: hpwdt: clean up set_memory_x call for 32 bit
2012-03-02Merge tag 'for-linus' of ↵Linus Torvalds1-3/+3
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull from Mark Brown: "A simple, driver specific fix. This device isn't widely used outside of Marvell reference boards most of which are probably used with their BSPs rather than with mainline so low risk." * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: fix the ldo configure according to 88pm860x spec
2012-03-02Merge branch 'i2c-embedded/for-3.3' of ↵Linus Torvalds1-3/+10
git://git.pengutronix.de/git/wsa/linux-2.6 i2c bugfix from Wolfram Sang: "This patch fixes a wrong assumption in the mxs-i2c-driver about a command queue being done. Without it, we have seen races when the bus was under load." * 'i2c-embedded/for-3.3' of git://git.pengutronix.de/git/wsa/linux-2.6: i2c: mxs: only flag completion when queue is completely done
2012-03-02Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds8-45/+59
DRM fixes from Dave Airlie: intel: fixes for output regression on 965GM, an oops and a machine hang radeon: uninitialised var (that gcc didn't warn about for some reason) + a couple of correctness fixes. exynos: fixes for various things, drop some chunks of unused code. * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon/kms/vm: fix possible bug in radeon_vm_bo_rmv() drm/radeon: fix uninitialized variable drm/radeon/kms: fix radeon_dp_get_modes for LVDS bridges (v2) drm/i915: Remove use of the autoreported ringbuffer HEAD position drm/i915: Prevent a machine hang by checking crtc->active before loading lut drm/i915: fix operator precedence when enabling RC6p drm/i915: fix a sprite watermark computation to avoid divide by zero if xpos<0 drm/i915: fix mode set on load pipe. (v2) drm/exynos: exynos_drm.h header file fixes drm/exynos: added panel physical size. drm/exynos: added postclose to release resource. drm/exynos: removed exynos_drm_fbdev_recreate function. drm/exynos: fixed page flip issue. drm/exynos: added possible_clones setup function. drm/exynos: removed pageflip_event_list init code when closed. drm/exynos: changed priority of mixer layers. drm/exynos: Fix typo in exynos_mixer.c
2012-03-02udlfb: fix hcd_buffer_free panic on unplug/replugBernie Thompson1-66/+80
Fix race conditions with unplug/replug behavior, in particular take care not to hold up USB probe/disconnect for long-running framebuffer operations and rely on usb to handle teardown. Fix for kernel panic reported with new F17 multiseat support. Reported-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Bernie Thompson <bernie@plugable.com>
2012-03-02udlfb: Improve debugging printouts with refresh rateMartin Decky1-1/+2
It is not very helpful to print a list of the same resolutions without the refresh rate. Signed-off-by: Bernie Thompson <bernie@plugable.com>
2012-03-01Merge tag 'for-linus' of git://github.com/rustyrussell/linuxLinus Torvalds1-11/+22
Merge virtio pull request from Rusty Russell. * tag 'for-linus' of git://github.com/rustyrussell/linux: virtio: balloon: leak / fill balloon across S4
2012-03-01virtio: balloon: leak / fill balloon across S4Amit Shah1-11/+22
commit e562966dbaf49e7804097cd991e5d3a8934fc148 added support for S4 to the balloon driver. The freeze function did nothing to free the pages, since reclaiming the pages from the host to immediately give them back (if S4 was successful) seemed wasteful. Also, if S4 wasn't successful, the guest would have to re-fill the balloon. On restore, the pages were supposed to be marked freed and the free page counters were incremented to reflect the balloon was totally deflated. However, this wasn't done right. The pages that were earlier taken away from the guest during a balloon inflation operation were just shown as used pages after a successful restore from S4. Just a fancy way of leaking lots of memory. Instead of trying that, just leak the balloon on freeze and fill it on restore/thaw paths. This works properly now. The optimisation to not leak can be added later on after a bit of refactoring of the code. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-03-01Merge branch 'fbdev-for-linus' into fbdev-nextFlorian Tobias Schandinat2-1/+7
2012-03-01OMAPDSS: APPLY: make ovl_enable/disable synchronousTomi Valkeinen1-0/+6
ovl->enable/disable are meant to be synchronous so that they can handle the configuration of fifo sizes. The current kernel doesn't configure fifo sizes yet, and so the code doesn't need to block to function (from omapdss driver's perspective). However, for the users of omapdss a non-blocking ovl->disable is confusing, because they don't know when the memory area is not used any more. Furthermore, when the fifo size configuration is added in the next merge window, the change from non-blocking to blocking could cause side effects to the users of omapdss. So by making the functions block already will keep them behaving in the same manner. And, while not the main purpose of this patch, this will also remove the compile warning: drivers/video/omap2/dss/apply.c:350: warning: 'wait_pending_extra_info_updates' defined but not used Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-03-01OMAPDSS: panel-dvi: Add Kconfig dependency on I2CTomi Valkeinen1-1/+1
panel-dvi uses i2c, but the Kconfig didn't have dependency on I2C. Add it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-29Merge tag 'fixes-3.3-rc6' of ↵Linus Torvalds1-9/+3
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Arnd Bergmann says: "Another set of arm-soc bug fixes on top of v3.3-rc5. The few larger bits are all for devices that still need to get set up in board code. Only three platforms are in this set of fixes: omap2+, pxa and lpc32xx." * tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits) ARM: LPC32xx: serial.c: Fixed loop limit ARM: LPC32xx: serial.c: HW bug workaround ARM: LPC32xx: irq.c: Clear latched event ARM: LPC32xx: Fix interrupt controller init ARM: LPC32xx: Fix irq on GPI_28 ARM: OMAP2: fix mailbox init code ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators ARM: OMAP1: Fix out-of-bounds array access for Innovator OMAP3 EVM: remove out-of-bounds array access of gpio_leds ARM: OMAP: Fix build error when mmc_omap is built as module ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module pxa/hx4700: add platform device and I2C info for AK4641 codec arch/arm/mach-pxa/: included linux/gpio.h twice arch/arm/mach-mmp/: some files include some headers twice ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe ARM: pxa: fix including linux/gpio.h twice ARM: pxa: fix mixed declarations and code in sharpsl_pm ARM: pxa: fix wrong parsing gpio event on spitz ARM: OMAP2+: usb-host: fix compile warning ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback ...
2012-02-29drm/radeon/kms/vm: fix possible bug in radeon_vm_bo_rmv()Sebastian Biemueller1-1/+1
The bo is removed from the list at the top of radeon_vm_bo_rmv(), but then the list is used in radeon_vm_bo_update_pte() to look up the vm. remove the bo_list entry at the end of the function instead. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jerome Glisse <j.glisse@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>