02 Aug, 2010
10 commits
-
This patch improves the recovery of the MPC's I2C bus from errors like bus
hangs resulting in timeouts:
1. make the bus timeout configurable, as it depends on the bus clock and
the attached slave chip(s); default is still 1 second;
2. detect any of the cases indicated by the CF, BB and RXAK MSR flags if a
timeout occurs, and add a missing (required) MAL reset;
3. use a more reliable method to fixup the bus if a hang has been detected.
The sequence is sent 9 times which seems to be necessary if a slave
"misses" more than one clock cycle. For 400 kHz bus speed, the fixup is
also ~70us (81us vs. 150us) faster.Tested on a custom Lite5200b derived board, with a Dallas RTC, AD sensors
and NXP IO expander chips attached to the i2c.Changes vs. v1:
- use improved bus fixup sequence for all chips (not only the 5200)
- calculate real clock from defaults if no clock is given in the device tree
- better description (I hope) of the changes.I didn't split the changes in this file into three parts as recommended by
Grant, as they actually belong together (i.e. they address one single
problem, just in three places of one single source file).Signed-off-by: Albrecht Dreß
[grant.likely@secretlab.ca: fixup for ->node to ->dev.of_node transition]
Signed-off-by: Grant Likely -
* Add tft display module compatibility for new
hardware modulesSigned-off-by: Adrian Alonso
Signed-off-by: Grant Likely -
Adds support for encoding display mode information
in the device tree using verbatim EDID block.If the EDID entry in the DIU node is present, the
driver will build mode database using EDID data
and allow setting the display modes from this database.
Otherwise display mode will be set using mode
entries from driver's internal database as usual.This patch also updates device tree bindings.
Signed-off-by: Anatolij Gustschin
Acked-by: Timur Tabi
Signed-off-by: Grant Likely -
Update compatible and interrupt properties description.
Furthermore an example for the MPC5121 has been added.Signed-off-by: Anatolij Gustschin
Acked-by: Timur Tabi
Signed-off-by: Grant Likely -
MPC5121 DIU configuration/setup as initialized by the boot
loader currently will get lost while booting Linux. As a
result displaying the boot splash is not possible through
the boot process.To prevent this we reserve configured DIU frame buffer
address range while booting and preserve AOI descriptor
and gamma table so that DIU continues displaying through
the whole boot process. On first open from user space
DIU frame buffer driver releases the reserved frame
buffer area and continues to operate as usual.Signed-off-by: John Rigby
Signed-off-by: Anatolij Gustschin
Acked-by: Timur Tabi
Signed-off-by: Grant Likely -
Some DIU structures will be used in platform code in
subsequent MPC5121 DIU patch, so we move this header
to be able to include it elsewhere.Signed-off-by: Anatolij Gustschin
Acked-by: Timur Tabi
Signed-off-by: Grant Likely -
On MPC5121e Rev 2.0 re-configuring the DIU area descriptor
by writing new descriptor address doesn't always work.
As a result, DIU continues to display using old area descriptor
even if the new one has been written to the descriptor register of
the plane.Add the code from Freescale MPC5121EADS BSP for writing descriptor
addresses properly. This fixes the problem for Rev 2.0 silicon.Signed-off-by: Anatolij Gustschin
Signed-off-by: Grant Likely -
Allows using clk_get()/clk_enable()/clk_disable() for VIU
clock in the v4l2 video driver.Signed-off-by: Hongjun Chen
Signed-off-by: Anatolij Gustschin
Signed-off-by: Grant Likely -
Adds IFM PDM360NG device tree and platform code.
Currently following is supported:
- Spansion S29GL512P 256 MB NOR flash
- ST Micro NAND 1 GiB flash
- DIU, please use "fbcon=map:5 video=fslfb:800x480-32@60"
at the kernel command line to enable PrimeView PM070WL3
Display support.
- FEC
- I2C
- RTC, EEPROM
- MSCAN
- PSC UART, please pass "console=tty0 console=ttyPSC5,115200"
on the kernel command line.
- SPI, ADS7845 Touchscreen
- USB0/1 Host
- USB0 OTG Host/Device
- VIU, Overlay/Capture supportSigned-off-by: Markus Fischer
Signed-off-by: Wolfgang Grandegger
Signed-off-by: Michael Weiss
Signed-off-by: Detlev Zundel
Signed-off-by: Anatolij Gustschin
Signed-off-by: Grant Likely -
Allow board selection in a drop-down board sub-menu
like many other platforms do.Before the patch:
...
[ ] Freescale MPC5121E ADS
[ ] Generic support for simple MPC5121 based boards
[ ] 52xx-based boards
...Patched:
...
[*] 512x-based boards
[ ] Freescale MPC5121E ADS
[ ] Generic support for simple MPC5121 based boards
[ ] 52xx-based boards
...This is a cleanup before adding new board selection entry.
Signed-off-by: Anatolij Gustschin
Signed-off-by: Grant Likely
25 Jul, 2010
1 commit
-
On the MPC5200B, make very high baud rates (e.g. 3 MBaud) accessible and
achieve a higher precision for high baud rates in general. This is done by
selecting the appropriate prescaler (/4 or /32). As to keep the code clean,
the getuartclk method has been dropped, and all calculations are done in a
new set_baudrate method.Notes: only "fsl,mpc5200b-psc-uart" compatible devices benefit from these
improvements.Tested on a custom 5200B based board, from 110 baud up to 3 MBaud, and with
both "fsl,mpc5200b-psc-uart" and "fsl,mpc5200-psc-uart" devices.
Also tested on the mpc5121ads board.Signed-off-by: Albrecht Dreß
[agust: fixed mpc5121 prescaler comment]
Signed-off-by: Anatolij Gustschin
Signed-off-by: Grant Likely
23 Jul, 2010
7 commits
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: synaptics - relax capability ID checks on newer hardware
Input: twl40300-keypad - fix handling of "all ground" rows
Input: gamecon - reference correct pad in gc_psx_command()
Input: gamecon - reference correct input device in NES mode
Input: w90p910_keypad - change platfrom driver name to 'nuc900-kpi'
Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table
Input: qt2160 - rename kconfig symbol name -
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
drm/radeon/kms: add quirk to make HP DV5000 laptop resume
drm/radeon/kms: fix RADEON_INFO_CRTC_FROM_ID info ioctl
Fix ttm_page_alloc.c build breakage
drm/radeon/kms: fix legacy LVDS dpms sequence
drm/radeon/kms: drop taking lock around crtc lookup. -
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: talitos - fix bug in sg_copy_end_to_buffer -
…/frob/linux-2.6-roland
* 'x86/auditsyscall' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
x86: auditsyscall: fix fastpath return value after reschedule -
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
sysrq,kdb: Use __handle_sysrq() for kdb's sysrq function
debug_core,kdb: fix kgdb_connected bit set in the wrong place
Fix merge regression from external kdb to upstream kdb
repair gdbstub to match the gdbserial protocol specification
kdb: break out of kdb_ll() when command is terminated -
Fix the security problem in the CIFS filesystem DNS lookup code in which a
malicious redirect could be installed by a random user by simply adding a
result record into one of their keyrings with add_key() and then invoking a
CIFS CFS lookup [CVE-2010-2524].This is done by creating an internal keyring specifically for the caching of
DNS lookups. To enforce the use of this keyring, the module init routine
creates a set of override credentials with the keyring installed as the thread
keyring and instructs request_key() to only install lookup result keys in that
keyring.The override is then applied around the call to request_key().
This has some additional benefits when a kernel service uses this module to
request a key:(1) The result keys are owned by root, not the user that caused the lookup.
(2) The result keys don't pop up in the user's keyrings.
(3) The result keys don't come out of the quota of the user that caused the
lookup.The keyring can be viewed as root by doing cat /proc/keys:
2a0ca6c3 I----- 1 perm 1f030000 0 0 keyring .dns_resolver: 1/4
It can then be listed with 'keyctl list' by root.
# keyctl list 0x2a0ca6c3
1 key in keyring:
726766307: --alswrv 0 0 dns_resolver: foo.bar.comSigned-off-by: David Howells
Reviewed-and-Tested-by: Jeff Layton
Acked-by: Steve French
Signed-off-by: Linus Torvalds
22 Jul, 2010
17 commits
-
Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=29062Reported-by: Andres Cimmarusti
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
Older firmwares fixed the middle byte of the Synaptics capabilities
query to 0x47, but starting with firmware 7.5 the middle byte
represents submodel ID, sometimes also called "dash number".Reported-and-tested-by: Miroslav Šulc
Signed-off-by: Dmitry Torokhov -
In the CONFIG_AUDITSYSCALL fast-path for x86 64-bit system calls,
we can pass a bad return value and/or error indication for the
system call to audit_syscall_exit(). This happens when
TIF_NEED_RESCHED was set as the system call returned, so we went
out to schedule() and came back to the exit-audit fast-path. The
fix is to reload the user return value register from the pt_regs
before using it for audit_syscall_exit().Both the 32-bit kernel's fast path and the 64-bit kernel's 32-bit
system call fast paths work slightly differently, so that they
always leave the fast path entirely to reschedule and don't return
there, so they don't have the analogous bugs.Reported-by: Alexander Viro
Signed-off-by: Roland McGrath -
The kdb code should not toggle the sysrq state in case an end user
wants to try and resume the normal kernel execution.Signed-off-by: Jason Wessel
Acked-by: Dmitry Torokhov -
Immediately following an exit from the kdb shell the kgdb_connected
variable should be set to zero, unless there are breakpoints planted.
If the kgdb_connected variable is not zeroed out with kdb, it is
impossible to turn off kdb.This patch is merely a work around for now, the real fix will check
for the breakpoints.Signed-off-by: Jason Wessel
-
In the process of merging kdb to the mainline, the kdb lsmod command
stopped printing the base load address of kernel modules. This is
needed for using kdb in conjunction with external tools such as gdb.Simply restore the functionality by adding a kdb_printf for the base
load address of the kernel modules.Signed-off-by: Jason Wessel
-
The gdbserial protocol handler should return an empty packet instead
of an error string when ever it responds to a command it does not
implement.The problem cases come from a debugger client sending
qTBuffer, qTStatus, qSearch, qSupported.The incorrect response from the gdbstub leads the debugger clients to
not function correctly. Recent versions of gdb will not detach correctly as a result of this behavior.Signed-off-by: Jason Wessel
Signed-off-by: Dongdong Deng -
Without this patch the "ll" linked-list traversal command won't
terminate when you hit q/Q.Signed-off-by: Martin Hicks
Signed-off-by: Jason Wessel -
Return the crtc_id, not the counter value. They are not
necessarily the same.Cc: Jerome Glisse
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
The commit 1e8655f87333def92bb8215b423adc65403b08a5
drm/ttm: Fix build on architectures without AGPlooks at TTM_HAS_AGP before it has been set in ttm_bo_driver.h
Move the conditional inclusion of *after* we have included
ttm_bo_driver.hSigned-of-by: Tony Luck
Signed-off-by: Dave Airlie -
Add delay after turning off the LVDS encoder.
Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=16389Tested-by: Jan Kreuzer
Signed-off-by: Alex Deucher
Cc: stable@kernel.org
Signed-off-by: Dave Airlie -
We only add/remove crtcs at driver load, you cannot remove when
the GPU is running a CS packet since the fd is open, when
GPU hotplugging on radeons actually is needed all this locking
needs a review and I've started re-working kms core locking to deal
with this better. But for now avoid long delays in CS processing when
hotplug detect is happening in a different thread.this fixes a regression introduced with hotplug detection.
Signed-off-by: Dave Airlie
-
* 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
pcmcia: fix 'driver ... did not release config properly' warning -
* 'shrinker' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev:
mm: add context argument to shrinker callback to remaining shrinkers -
* 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ASoC: Select wm_hubs automatically for WM8994
ASoC: Remove duplicate AUX definition from WM8776
ASoC:: remove a redundant snd_soc_unregister_codec call in wm8988_register
ASoC: wm8727: add a missing return in wm8727_platform_probe
ASoC: fsi: fixup wrong value setting order of TDM
ASoC: fsi: fixup clock inversion operation -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
math-emu: correct test for downshifting fraction in _FP_FROM_INT()
perf: Add DWARF register lookup for sparc
MAINTAINERS: Add SBUS driver path to sparc entry.
drivers/sbus: Remove unnecessary casts of private_data
sparc: remove homegrown L1_CACHE_ALIGN macro
sparc64: fix the build error due to smp_kgdb_capture_client()
sparc64: Fix maybe_change_configuration() PCR setting.
arch/sparc/kernel: Eliminate what looks like a NULL pointer dereference
sparc64: Update defconfig.
sunsu: Fix use after free in su_remove().
sunserial: Don't call add_preferred_console() when console= is specified.
sparc32: Kill none_mask, it's bogus. -
Pointed out by Lucas who found the new one in a comment in
setup_percpu.c. And then I fixed the others that I grepped
for.Reported-by: Lucas
Signed-off-by: Linus Torvalds
21 Jul, 2010
5 commits
-
Up to 2.6.34 pcmcia_release_irq() reset p_dev->_irq to 0 after releasing
the irq. The IRQ is now released in pcmcia_disable_device(), however
p_dev->_irq is not reset, triggering a warning in pcmcia_device_remove().Signed-off-by: Patrick McHardy
Signed-off-by: Andrew Morton
Signed-off-by: Dominik Brodowski -
Add the shrinkers missed in the first conversion of the API in
commit 7f8275d0d660c146de6ee3017e1e2e594c49e820 ("mm: add context argument to
shrinker callback").Signed-off-by: Dave Chinner
-
The Nokia RX51 board code (arch/arm/mach-omap2/board-rx51-peripherals.c)
defines a key map for the matrix keypad keyboard. The hardware seems to
use all of the 8 rows and 8 columns of the keypad, although not all
possible locations are used.The TWL4030 supports keypads with at most 8 rows and 8 columns. Most keys
are defined with a row and column number between 0 and 7, exceptKEY(0xff, 2, KEY_F9),
KEY(0xff, 4, KEY_F10),
KEY(0xff, 5, KEY_F11),which represent keycodes that should be emitted when entire row is
connected to the ground. since the driver handles this case as if we
had an extra column in the key matrix. Unfortunately we do not allocate
enough space and end up owerwriting some random memory.Reported-and-tested-by: Laurent Pinchart
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov -
Otherwise we won't see any events from the gamepad.
Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16408Reported-and-tested-by: Eugene Yudin
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov -
We moved input devices from 'struct gc' to individial pads (struct
gc-pad), but gc_nes_process_packet() was still trying to use old
ones and crashing.Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov