Marc Zyngier [Mon, 8 Apr 2013 15:47:18 +0000 (16:47 +0100)]
ARM: KVM: add architecture specific hook for capabilities
Most of the capabilities are common to both arm and arm64, but
we still need to handle the exceptions.
Introduce kvm_arch_dev_ioctl_check_extension, which both architectures
implement (in the 32bit case, it just returns 0).
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Fri, 12 Apr 2013 18:12:07 +0000 (19:12 +0100)]
ARM: KVM: perform HYP initilization for hotplugged CPUs
Now that we have the necessary infrastructure to boot a hotplugged CPU
at any point in time, wire a CPU notifier that will perform the HYP
init for the incoming CPU.
Note that this depends on the platform code and/or firmware to boot the
incoming CPU with HYP mode enabled and return to the kernel by following
the normal boot path (HYP stub installed).
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Fri, 12 Apr 2013 18:12:06 +0000 (19:12 +0100)]
ARM: KVM: switch to a dual-step HYP init code
Our HYP init code suffers from two major design issues:
- it cannot support CPU hotplug, as we tear down the idmap very early
- it cannot perform a TLB invalidation when switching from init to
runtime mappings, as pages are manipulated from PL1 exclusively
The hotplug problem mandates that we keep two sets of page tables
(boot and runtime). The TLB problem mandates that we're able to
transition from one PGD to another while in HYP, invalidating the TLBs
in the process.
To be able to do this, we need to share a page between the two page
tables. A page that will have the same VA in both configurations. All we
need is a VA that has the following properties:
- This VA can't be used to represent a kernel mapping.
- This VA will not conflict with the physical address of the kernel text
The vectors page seems to satisfy this requirement:
- The kernel never maps anything else there
- The kernel text being copied at the beginning of the physical memory,
it is unlikely to use the last 64kB (I doubt we'll ever support KVM
on a system with something like 4MB of RAM, but patches are very
welcome).
Let's call this VA the trampoline VA.
Now, we map our init page at 3 locations:
- idmap in the boot pgd
- trampoline VA in the boot pgd
- trampoline VA in the runtime pgd
The init scenario is now the following:
- We jump in HYP with four parameters: boot HYP pgd, runtime HYP pgd,
runtime stack, runtime vectors
- Enable the MMU with the boot pgd
- Jump to a target into the trampoline page (remember, this is the same
physical page!)
- Now switch to the runtime pgd (same VA, and still the same physical
page!)
- Invalidate TLBs
- Set stack and vectors
- Profit! (or eret, if you only care about the code).
Note that we keep the boot mapping permanently (it is not strictly an
idmap anymore) to allow for CPU hotplug in later patches.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Fri, 12 Apr 2013 18:12:05 +0000 (19:12 +0100)]
ARM: KVM: rework HYP page table freeing
There is no point in freeing HYP page tables differently from Stage-2.
They now have the same requirements, and should be dealt with the same way.
Promote unmap_stage2_range to be The One True Way, and get rid of a number
of nasty bugs in the process (good thing we never actually called free_hyp_pmds
before...).
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Fri, 12 Apr 2013 18:12:04 +0000 (19:12 +0100)]
ARM: KVM: enforce maximum size for identity mapped code
We're about to move to an init procedure where we rely on the
fact that the init code fits in a single page. Make sure we
align the idmap text on a vector alignment, and that the code is
not bigger than a single page.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Fri, 12 Apr 2013 18:12:03 +0000 (19:12 +0100)]
ARM: KVM: move to a KVM provided HYP idmap
After the HYP page table rework, it is pretty easy to let the KVM
code provide its own idmap, rather than expecting the kernel to
provide it. It takes actually less code to do so.
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Fri, 12 Apr 2013 18:12:02 +0000 (19:12 +0100)]
ARM: KVM: fix HYP mapping limitations around zero
The current code for creating HYP mapping doesn't like to wrap
around zero, which prevents from mapping anything into the last
page of the virtual address space.
It doesn't take much effort to remove this limitation, making
the code more consistent with the rest of the kernel in the process.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Fri, 12 Apr 2013 18:12:01 +0000 (19:12 +0100)]
ARM: KVM: simplify HYP mapping population
The way we populate HYP mappings is a bit convoluted, to say the least.
Passing a pointer around to keep track of the current PFN is quite
odd, and we end-up having two different PTE accessors for no good
reason.
Simplify the whole thing by unifying the two PTE accessors, passing
a pgprot_t around, and moving the various validity checks to the
upper layers.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Mark Rutland [Wed, 27 Mar 2013 15:56:11 +0000 (15:56 +0000)]
ARM: KVM: arch_timer: use symbolic constants
In clocksource/arm_arch_timer.h we define useful symbolic constants.
Let's use them to make the KVM arch_timer code clearer.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Christoffer Dall <cdall@cs.columbia.edu>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Marc Zyngier [Tue, 5 Mar 2013 03:18:00 +0000 (03:18 +0000)]
ARM: KVM: add support for minimal host vs guest profiling
In order to be able to correctly profile what is happening on the
host, we need to be able to identify when we're running on the guest,
and log these events differently.
Perf offers a simple way to register callbacks into KVM. Mimic what
x86 does and enjoy being able to profile your KVM host.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Sasha Levin [Mon, 29 Apr 2013 02:30:08 +0000 (12:00 +0930)]
virtio-net: fill only rx queues which are being used
Due to MQ support we may allocate a whole bunch of rx queues but
never use them. With this patch we'll safe the space used by
the receive buffers until they are actually in use:
sh-4.2# free -h
total used free shared buffers cached
Mem: 490M 35M 455M 0B 0B 4.1M
-/+ buffers/cache: 31M 459M
Swap: 0B 0B 0B
sh-4.2# ethtool -L eth0 combined 8
sh-4.2# free -h
total used free shared buffers cached
Mem: 490M 162M 327M 0B 0B 4.1M
-/+ buffers/cache: 158M 331M
Swap: 0B 0B 0B
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Jaegeuk Kim [Fri, 26 Apr 2013 02:55:17 +0000 (11:55 +0900)]
f2fs: check truncation of mapping after lock_page
We call lock_page when we need to update a page after readpage.
Between grab and lock page, the page can be truncated by other thread.
So, we should check the page after lock_page whether it was truncated or not.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim [Thu, 25 Apr 2013 07:05:51 +0000 (16:05 +0900)]
f2fs: enhance alloc_nid and build_free_nids flows
In order to avoid build_free_nid lock contention, let's change the order of
function calls as follows.
At first, check whether there is enough free nids.
- If available, just get a free nid with spin_lock without any overhead.
- Otherwise, conduct build_free_nids.
: scan nat pages, journal nat entries, and nat cache entries.
We should consider carefullly not to serve free nids intermediately made by
build_free_nids.
We can get stable free nids only after build_free_nids is done.
Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
James Hogan [Mon, 29 Apr 2013 02:06:59 +0000 (11:36 +0930)]
modpost: fix unwanted VMLINUX_SYMBOL_STR expansion
Commit
a4b6a77b77ba4f526392612c2365797fab956014 ("module: fix symbol
versioning with symbol prefixes") broke the MODVERSIONS loading of any
module using memcmp (e.g. ipv6) on x86_32, as it's defined to
__builtin_memcmp which is expanded by VMLINUX_SYMBOL_STR. Use
__VMLINUX_SYMBOL_STR instead which doesn't expand the argument.
Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: <stable@vger.kernel.org> # 3.9
Jaegeuk Kim [Thu, 25 Apr 2013 04:24:33 +0000 (13:24 +0900)]
f2fs: add a tracepoint on f2fs_new_inode
This can help when debugging the free nid allocation flows.
Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Linus Torvalds [Mon, 29 Apr 2013 00:36:01 +0000 (17:36 -0700)]
Linux 3.9
Greg Ungerer [Tue, 16 Apr 2013 14:17:53 +0000 (00:17 +1000)]
m68knommu: enable Timer on coldfire 532x
This patch enables the initial Timer on coldfire 532x systems.
Without this, the scheduler will not be triggered and the system hangs,
after all sequential code is executed. It should also apply on later kernel
versions.
Signed-off-by: Christian Gieseler <christiangieseler@yahoo.de>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Greg Ungerer [Fri, 25 Jan 2013 04:21:11 +0000 (14:21 +1000)]
m68knommu: fix ColdFire 5373/5329 QSPI base address
The base address of the QSPI hardware module should be 0xFC05C000.
Fix its definition.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Greg Ungerer [Mon, 5 Nov 2012 05:37:53 +0000 (15:37 +1000)]
m68knommu: add support for configuring a Freescale M5373EVB board
Add a configuration switch for supporting the Freescale M5373EVB board.
It is based on the newly added ColdFire 537x CPU support.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Greg Ungerer [Mon, 5 Nov 2012 05:32:15 +0000 (15:32 +1000)]
m68knommu: add support for the ColdFire 537x family of CPUs
The ColdFire 537x family is very similar internally to the ColdFire 532x
family. So with just a little extra configuration we can configure and
target them as well.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Greg Ungerer [Mon, 5 Nov 2012 05:05:53 +0000 (15:05 +1000)]
m68knommu: make ColdFire M532x platform support more v3 generic
The M532x CPU platform support can be used on more ColdFire CPU families
than just the 532x types. So rename and reconfigure it to reflect that.
The ColdFire 537x family has virtualy identical internals to the 532x,
and so it will be able to share this code when we add support for them.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Greg Ungerer [Mon, 5 Nov 2012 02:01:38 +0000 (12:01 +1000)]
m68knommu: create and use a common M53xx ColdFire class of CPUs
The current CONFIG_M532x support definitions are actually common to a larger
set of version 3 ColdFire CPU types. In the future we want to add support for
the 537x family. It is very similar to the 532x internally, and will be able
to use most of the same definitions.
Create a CONFIG_M53xx option that is enabled to support any of the common
532x and 537x CPU types. Convert the current users of CONFIG_M532x to use
CONFIG_M53xx instead.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Greg Ungerer [Mon, 15 Oct 2012 04:56:09 +0000 (14:56 +1000)]
m68k: remove unused asm/dbg.h
The contents of the m68k asm/dbg.h are never used, remove the file and
remove the one reference to it.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Stany MARCEL [Tue, 16 Oct 2012 05:26:11 +0000 (15:26 +1000)]
m68k: Set ColdFire ACR1 cache mode depending on kernel configuration
For coldfire with MMU enabled, data cache did not follow the configuration but
was configured in writethrough mode.
Signed-off-by: Stany MARCEL <stany.marcel@novasys-ingenierie.com>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Greg Ungerer [Tue, 2 Apr 2013 04:25:33 +0000 (14:25 +1000)]
romfs: fix nommu map length to keep inside filesystem
Checks introduced in commit
4991e7251 ("romfs: do not use
mtd->get_unmapped_area directly") re-introduce problems fixed in the earlier
commit
2b4b2482e ("romfs: fix romfs_get_unmapped_area() argument check").
If a flat binary app is located at the end of a romfs, its page aligned
length may be outside of the romfs filesystem. The flat binary loader, via
nommu do_mmap_pgoff(), page aligns the length it is mmaping. So simple
offset+size checks will fail - returning EINVAL.
We can truncate the length to keep it inside the romfs filesystem, and that
also keeps the call to mtd_get_unmapped_area() happy.
Are there any side effects to truncating the size here though?
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Paul Bolle [Wed, 20 Mar 2013 10:38:06 +0000 (11:38 +0100)]
m68k: clean up unused "config ROMVECSIZE"
Kconfig symbol ROMVECSIZE is unused since commit
f84f52a5c15db7d14a534815f27253b001735183 ("m68knommu: clean up linker
script"). Let's clean up its Kconfig entry too.
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Olof Johansson [Sun, 28 Apr 2013 22:15:05 +0000 (15:15 -0700)]
Merge branch 'clksrc/cleanup' into next/multiplatform
Merge in the clksrc/cleanup branch to avoid a silly merge conflict. For
some reason two versions of the same patch were merged in two
branches. Resolve this here to avoid merge conflicts down the road,
since it can be confusing to tell which version is the one to keep.
* clksrc/cleanup:
clocksource: make CLOCKSOURCE_OF_DECLARE type safe
Signed-off-by: Olof Johansson <olof@lixom.net>
Conflicts:
include/linux/clocksource.h
Rafael J. Wysocki [Sun, 28 Apr 2013 22:08:46 +0000 (00:08 +0200)]
Merge branch 'pm-cpufreq'
* pm-cpufreq:
cpufreq: Revert incorrect commit
5800043
Rafael J. Wysocki [Sun, 28 Apr 2013 22:08:16 +0000 (00:08 +0200)]
cpufreq: Revert incorrect commit
5800043
Commit
5800043 (cpufreq: convert cpufreq_driver to using RCU) causes
the following call trace to be spit on boot:
BUG: sleeping function called from invalid context at /scratch/rafael/work/linux-pm/mm/slab.c:3179
in_atomic(): 0, irqs_disabled(): 0, pid: 292, name: systemd-udevd
2 locks held by systemd-udevd/292:
#0: (subsys mutex){+.+.+.}, at: [<
ffffffff8146851a>] subsys_interface_register+0x4a/0xe0
#1: (rcu_read_lock){.+.+.+}, at: [<
ffffffff81538210>] cpufreq_add_dev_interface+0x60/0x5e0
Pid: 292, comm: systemd-udevd Not tainted 3.9.0-rc8+ #323
Call Trace:
[<
ffffffff81072c90>] __might_sleep+0x140/0x1f0
[<
ffffffff811581c2>] kmem_cache_alloc+0x42/0x2b0
[<
ffffffff811e7179>] sysfs_new_dirent+0x59/0x130
[<
ffffffff811e63cb>] sysfs_add_file_mode+0x6b/0x110
[<
ffffffff81538210>] ? cpufreq_add_dev_interface+0x60/0x5e0
[<
ffffffff810a3254>] ? __lock_is_held+0x54/0x80
[<
ffffffff811e647d>] sysfs_add_file+0xd/0x10
[<
ffffffff811e6541>] sysfs_create_file+0x21/0x30
[<
ffffffff81538280>] cpufreq_add_dev_interface+0xd0/0x5e0
[<
ffffffff81538210>] ? cpufreq_add_dev_interface+0x60/0x5e0
[<
ffffffffa000337f>] ? acpi_processor_get_platform_limit+0x32/0xbb [processor]
[<
ffffffffa022f540>] ? do_drv_write+0x70/0x70 [acpi_cpufreq]
[<
ffffffff810a3254>] ? __lock_is_held+0x54/0x80
[<
ffffffff8106c97e>] ? up_read+0x1e/0x40
[<
ffffffff8106e632>] ? __blocking_notifier_call_chain+0x72/0xc0
[<
ffffffff81538dbd>] cpufreq_add_dev+0x62d/0xae0
[<
ffffffff815389b8>] ? cpufreq_add_dev+0x228/0xae0
[<
ffffffff81468569>] subsys_interface_register+0x99/0xe0
[<
ffffffffa014d000>] ? 0xffffffffa014cfff
[<
ffffffff81535d5d>] cpufreq_register_driver+0x9d/0x200
[<
ffffffffa014d000>] ? 0xffffffffa014cfff
[<
ffffffffa014d0e9>] acpi_cpufreq_init+0xe9/0x1000 [acpi_cpufreq]
[<
ffffffff810002fa>] do_one_initcall+0x11a/0x170
[<
ffffffff810b4b87>] load_module+0x1cf7/0x2920
[<
ffffffff81322580>] ? ddebug_proc_open+0xb0/0xb0
[<
ffffffff816baee0>] ? retint_restore_args+0xe/0xe
[<
ffffffff810b5887>] sys_init_module+0xd7/0x120
[<
ffffffff816bb6d2>] system_call_fastpath+0x16/0x1b
which is quite obvious, because that commit put (multiple instances
of) sysfs_create_file() under rcu_read_lock()/rcu_read_unlock(),
although sysfs_create_file() may cause memory to be allocated with
GFP_KERNEL and that may sleep, which is not permitted in RCU read
critical section.
Revert the buggy commit altogether along with some changes on top
of it.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Olof Johansson [Sun, 28 Apr 2013 22:06:56 +0000 (15:06 -0700)]
Merge branch 'gic/cleanup' into next/soc
Merge in the gic cleanup since it has a handful of annoying internal conflicts
with soc development branches. All of them are delete/delete conflicts.
* gic/cleanup:
irqchip: vic: add include of linux/irq.h
irqchip: gic: Perform the gic_secondary_init() call via CPU notifier
irqchip: gic: Call handle_bad_irq() directly
arm: Move chained_irq_(enter|exit) to a generic file
arm: Move the set_handle_irq and handle_arch_irq declarations to asm/irq.h
Signed-off-by: Olof Johansson <olof@lixom.net>
Conflicts:
arch/arm/mach-shmobile/smp-emev2.c
arch/arm/mach-shmobile/smp-r8a7779.c
arch/arm/mach-shmobile/smp-sh73a0.c
arch/arm/mach-socfpga/platsmp.c
Olof Johansson [Sun, 28 Apr 2013 19:43:08 +0000 (12:43 -0700)]
Merge branch 'fixes' into next/cleanup
Merging in fixes since there's a conflict in the omap4 clock tables caused by
it.
* fixes: (245 commits)
ARM: highbank: fix cache flush ordering for cpu hotplug
ARM: OMAP4: hwmod data: make 'ocp2scp_usb_phy_phy_48m" as the main clock
arm: mvebu: Fix the irq map function in SMP mode
Fix GE0/GE1 init on ix2-200 as GE0 has no PHY
ARM: S3C24XX: Fix interrupt pending register offset of the EINT controller
ARM: S3C24XX: Correct NR_IRQS definition for s3c2440
ARM i.MX6: Fix ldb_di clock selection
ARM: imx: provide twd clock lookup from device tree
ARM: imx35 Bugfix admux clock
ARM: clk-imx35: Bugfix iomux clock
+ Linux 3.9-rc6
Signed-off-by: Olof Johansson <olof@lixom.net>
Conflicts:
arch/arm/mach-omap2/cclock44xx_data.c
Andy Leiserson [Wed, 24 Apr 2013 16:10:32 +0000 (09:10 -0700)]
firewire: ohci: fix VIA VT6306 video reception
Add quirk for VT6306 wake bit behavior.
VT6306 seems to reread the wrong descriptor when the wake bit is
written. work around by putting a copy of the branch address in the
first descriptor of the block.
[Stefan R: This fixes the known broken video reception via gstreamer
on VIA VT6306. 100% repeatable testcase:
$ gst-launch-0.10 dv1394src \! dvdemux \! dvdec \! xvimagesink
with a camcorder or other DV source connected. Likewise for MPEG2-TS
reception via gstreamer, e.g. from TV settop boxes.
Perhaps this also fixes dv4l on VT6306, but this is as yet untested.
Kino, dvgrab or FFADO had not been affected by this chip quirk.
Additional comments from Andy:]
I've looked into some problems with the wake bit on a vt6306 family
chip (1106:3044, rev 46).
I used this firewire card in a mythtv setup (ISO receive MPEG2 stream)
with Debian 2.6.32 kernels for ~2 years without problems.
Since upgrading to 3.2, I've been having problems with the input stream
freezing -- input data stops until I restart mythtv (I expect closing
and reopening the device would be sufficient). This happens
infrequently, maybe one out of 20 recordings. I eventually determined
that the problem is more likely to occur if the system is loaded.
I isolated the kernel version as the triggering SW factor and then
specifically the change from dualbuffer back to packet-per-buffer DMA
mode.
The possibility that the controller does not properly respond to the
wake bit was suggested in
https://bugzilla.redhat.com/show_bug.cgi?id=415841, but not proven.
Based on the fact that dualbuffer mode worked while packet-per-buffer
has trouble, I guessed that upon seeing the wake bit written, the vt6306
controller only checks the branch address in the first descriptor of the
block, even if that is not the correct place to look (because the block
has multiple descriptors).
This theory seems to be correct. When the ISO reception is hung, I am
able to resume it by manually writing the branch address to the first
descriptor in the block, and then writing the wake bit.
I've had luck so far with the attached patch, so I'm including it. It's
probably not a complete solution -- I haven't tested transmit modes to
see whether they have a similar issue.
I doubt that the quirk test is any cheaper than just writing the extra
branch address in all cases, but it does reduce the risk of breaking
other hardware.
[Stefan R: omitted QUIRK_NO_MSI from VT6306 quirks table entry,
changed whitespace]
Signed-off-by: Andy Leiserson <andy@leiserson.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Peter Hurley [Wed, 27 Mar 2013 10:59:59 +0000 (06:59 -0400)]
firewire: ohci: Check LPS before register access on pci removal
A pci device can be removed while in its suspended state. If the ohci
host controller is suspended, the PHY is also in low-power mode and
LPS is disabled. If LPS is disabled, most of the host registers aren't
accessible, including IntMaskClear. Furthermore, access to these registers
when LPS is disabled can cause hard lockups on some hardware. Since
interrupts are already disabled in this mode, further action is
unnecessary.
Test LPS before attempting to write IntMaskClear to disable interrupts.
[Stefan R: whitespace changes]
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Peter Hurley [Wed, 27 Mar 2013 10:59:58 +0000 (06:59 -0400)]
firewire: ohci: Fix double free_irq()
A pci device can be removed while in its suspended state.
Because the ohci driver freed the irq to suspend, free_irq() is
called twice; once from pci_remove() and again from pci_suspend(),
which issues the warning below [1].
Rather than allocate the irq in the .enable() path, move the
allocation to .probe(). Consequently, the irq is not reallocated
upon pci_resume() and thus is not freed upon pci_suspend().
[1] Warning reported by Mark Einon <mark.einon@gmail.com> when
suspending an MSI MS-1727 GT740 laptop on Ubuntu 3.5.0-22-generic
WARNING: at ./kernel/irq/manage.c:1198 __free_irq+0xa3/0x1e0()
Hardware name: MS-1727
Trying to free already-free IRQ 16
Modules linked in: ip6table_filter ip6_tables ebtable_nat ebtables <...snip...>
Pid: 4, comm: kworker/0:0 Tainted: P O 3.5.0-22-generic #34-Ubuntu
Call Trace:
[<
ffffffff81051c1f>] warn_slowpath_common+0x7f/0xc0
[<
ffffffff81051d16>] warn_slowpath_fmt+0x46/0x50
[<
ffffffff8103fa39>] ? default_spin_lock_flags+0x9/0x10
[<
ffffffff810df6b3>] __free_irq+0xa3/0x1e0
[<
ffffffff810df844>] free_irq+0x54/0xc0
[<
ffffffffa005a27e>] pci_remove+0x6e/0x210 [firewire_ohci]
[<
ffffffff8135ae7f>] pci_device_remove+0x3f/0x110
[<
ffffffff8141fdbc>] __device_release_driver+0x7c/0xe0
[<
ffffffff8141fe4c>] device_release_driver+0x2c/0x40
[<
ffffffff8141f5f1>] bus_remove_device+0xe1/0x120
[<
ffffffff8141cd1a>] device_del+0x12a/0x1c0
[<
ffffffff8141cdc6>] device_unregister+0x16/0x30
[<
ffffffff81354784>] pci_stop_bus_device+0x94/0xa0
[<
ffffffffa0091c67>] acpiphp_disable_slot+0xb7/0x1a0 [acpiphp]
[<
ffffffffa0090716>] ? get_slot_status+0x46/0xc0 [acpiphp]
[<
ffffffffa0091d7d>] acpiphp_check_bridge.isra.15+0x2d/0xf0 [acpiphp]
[<
ffffffffa0092442>] _handle_hotplug_event_bridge+0x372/0x4d0 [acpiphp]
[<
ffffffff81390f8c>] ? acpi_os_execute_deferred+0x2f/0x34
[<
ffffffff8116e22d>] ? kfree+0xed/0x110
[<
ffffffff8107086a>] process_one_work+0x12a/0x420
[<
ffffffffa00920d0>] ? _handle_hotplug_event_func+0x1d0/0x1d0 [acpiphp]
[<
ffffffff8107141e>] worker_thread+0x12e/0x2f0
[<
ffffffff810712f0>] ? manage_workers.isra.26+0x200/0x200
[<
ffffffff81075f13>] kthread+0x93/0xa0
[<
ffffffff8168d024>] kernel_thread_helper+0x4/0x10
[<
ffffffff81075e80>] ? kthread_freezable_should_stop+0x70/0x70
[<
ffffffff8168d020>] ? gs_change+0x13/0x13
Reported-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter [Sun, 24 Mar 2013 16:32:00 +0000 (17:32 +0100)]
firewire: remove unnecessary alloc/OOM messages
These are redundant to log messages from the mm core.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter [Sun, 24 Mar 2013 16:31:38 +0000 (17:31 +0100)]
firewire: sbp2: replace BUG_ON by WARN_ON
No need to crash and burn if S/G element sizes cannot be set to our
liking; just leave a message in the log.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter [Sun, 24 Mar 2013 16:31:09 +0000 (17:31 +0100)]
firewire: core: remove an always false test
struct fw_cdev_allocate_iso_resource.bandwidth is unsigned.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Paul Bolle [Sat, 16 Mar 2013 13:09:07 +0000 (14:09 +0100)]
firewire: Remove two unneeded checks for macros
The old IEEE 1394 driver stack was removed in v2.6.37. That made the
checks for two Kconfig (module) macros unneeded, since they will now
always evaluate to true. Remove these two checks.
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Olof Johansson [Sun, 28 Apr 2013 19:24:08 +0000 (12:24 -0700)]
Merge tag 'late-exynos-v3-for-v3.10' of git://git./linux/kernel/git/kgene/linux-samsung into late/dt
From Kukjin Kim:
This allows that device tree enables platform to setup a runtime IO
mapping for the chip id
* tag 'late-exynos-v3-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: Add chip-id controller node on Exynos4/5 SoC
ARM: EXYNOS: Create virtual I/O mapping for Chip-ID controller using device tree
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:34 +0000 (17:46 +0200)]
ARM: dts: exynos4210: Add basic dts file for universal_c210 board
This patch adds basic device tree sources for Universal C210 board.
Currently support includes:
- eMMC
- serial
- max8952 and max8998 voltage regulators.
- gpio-keys
More support will be added in further patches.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:33 +0000 (17:46 +0200)]
ARM: dts: exynos4: Add node for PWM device
This patch adds device tree node for PWM block present on Exynos 4 SoCs.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:31 +0000 (17:46 +0200)]
ARM: SAMSUNG: Do not register legacy timer interrupts on Exynos
This patch removes legacy PWM timer interrupt initialization from
exynos{4,5}_init_irq() functions, since it conflicts with internal
interrupt handling of the new PWM clocksource driver.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:30 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Work around rounding errors in clockevents core
Due to rounding errors in clockevents core (in conversions between ticks
and nsecs), it might happen that the set_next_event callback gets called
with cycles = 0, causing the code to incorrectly program the PWM timer.
This patch modifies the callback to program the timer for 1 tick, if
received tick count value is 0.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:29 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Correct programming of clock events
In current code, the tick count value programmed to the hardware is
always decremented by one. This is reasonable for periodic mode, since
there is one extra tick between 0 and COUNT (after reloading), but it
makes oneshot events happen 1 tick earlier than requested, because the
interrupt is triggered on transition from 1 to 0.
This patch removes the decrementation from PWM channel setup code and
moves it instead to periodic timer setup, to make both periodic and
oneshot modes work correctly.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:28 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Use proper clockevents max_delta
This patch replaces hardcoded -1 argument passed to
clockevents_config_and_register() with tcnt_max calculated based on
variant data.
This fixes invalid max delta configuration for 16-bit timers of s3c24xx.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:27 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Add support for non-DT platforms
This patch extends the driver to support platforms that still use legacy
ATAGS-based boot, without device tree, by providing an exported function
that can be used from platform code to initialize the clocksource.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:26 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Drop unused samsung_pwm struct
This patch removes the unused samsung_pwm struct from public header.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:25 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Keep all driver data in a structure
This patch modifies the driver to keep all its private data consistently
in a single struct, instead of keeping part as separate variables.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:24 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Make PWM spinlock global
This patch makes the PWM spinlock global and exports it to allow using
it in Samsung PWM driver (will be reworked to use proper synchronization
in further patches).
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:23 +0000 (17:46 +0200)]
clocksource: samsung_pwm_timer: Let platforms select the driver
This patch modifies the way of enabling the driver to let the platforms
select it in their Kconfig instead of specifying particular platforms in
Kconfig entry of the driver.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tomasz Figa [Tue, 23 Apr 2013 15:46:22 +0000 (17:46 +0200)]
Documentation: Add device tree bindings for Samsung PWM timers
This patch adds missing documentation describing Device Tree bindings
for Samsung PWM timers.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson [Sat, 27 Apr 2013 22:14:10 +0000 (15:14 -0700)]
ARM: exynos: dts: cros5250: add EC device
Add basic EC information to device tree, currently only describing the
keyboard and keymap.
Reviewed-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Doug Anderson [Tue, 16 Apr 2013 16:29:02 +0000 (16:29 +0000)]
ARM: dts: Add sbs-battery for exynos5250-snow
Now that we have i2c-arbitrator in place on bus 4 we can add the
sbs-battery driver. Future devices will be added onto bus 4 once
drivers are in good shape.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Doug Anderson [Tue, 16 Apr 2013 16:29:01 +0000 (16:29 +0000)]
ARM: dts: Add i2c-arbitrator bus for exynos5250-snow
We need to use the i2c-arbitrator to talk to any of the devices on i2c
bus 4 on exynos5250-snow so that we don't confuse the embedded
controller (EC). Add the i2c-arbitrator to the device tree. As we
add future devices (keyboard, sbs, tps65090) we'll add them on top of
this.
The arbitrated bus is numbered 104 simply as a convenience to make it
easier for people poking around to guess that it might have something
to do with the physical bus 4.
The addition is split between the cros5250-common and the snow device
tree file since not all cros5250-class devices use arbitration.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson [Sun, 28 Apr 2013 19:03:33 +0000 (12:03 -0700)]
Merge branch 'exynos/dt' into late/dt
* exynos/dt: (125 commits)
ARM: dts: add PDMA0 changes for exynos5440
ARM: dts: Add cpufreq controller node for Exynos5440 SoC
ARM: dts: Fix gmac clock ids due to changes in Exynos5440
ARM: dts: add device tree file for SD5v1 board
ARM: dts: update bootargs to boot from sda2 for exynos5440-ssdk5440
ARM: dts: add PMU support in exynos5440
ARM: dts: Add node for GMAC for exynos5440
ARM: dts: list the interrupts generated by pin-controller on Exynos5440
ARM: dts: Add FIMD DT binding Documentation
ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts
ARM: dts: Add FIMD node to exynos4
ARM: dts: Add SYSREG block node for S5P/Exynos4 SoC series
ARM: dts: Add display timing node to exynos5250-smdk5250.dts
ARM: dts: Add FIMD node to exynos5
ARM: dts: Add virtual GIC DT bindings for exynos5440
ARM: dts: Document usb clocks in samsung,exynos4210-ehci/ohci bindings
ARM: dts: add usb 2.0 clock references to exynos5250 device tree
ARM: dts: Add architected timer nodes for exynos5250
ARM: dts: Declare the gic as a15 compatible for exynos5250
ARM: dts: Add HDMI HPD and regulator node for Arndale board
...
Olof Johansson [Sun, 28 Apr 2013 19:02:44 +0000 (12:02 -0700)]
Merge branch 'samsung/pinctrl-exynos' into late/dt
* samsung/pinctrl-exynos:
ARM: EXYNOS: skip wakeup interrupt registration for exynos5250 if pinctrl is enabled
gpio: samsung: skip gpiolib registration if pinctrl support is enabled for exynos5250
pinctrl: exynos: add exynos5250 SoC specific data
Mauro Carvalho Chehab [Sun, 28 Apr 2013 10:15:41 +0000 (07:15 -0300)]
[media] cx88: make core less verbose
Along the time, several debug messages were added at cx88-cards.
While those are still useful to track some troubles with
tuners, they're too verbose:
[ 5768.281801] cx88[0]: Calling XC2028/3028 callback
[ 5768.287388] cx88[0]: Calling XC2028/3028 callback
[ 5768.292575] cx88[0]: Calling XC2028/3028 callback
[ 5768.299408] cx88[0]: Calling XC2028/3028 callback
[ 5768.306244] cx88[0]: Calling XC2028/3028 callback
...
and, most of the time, useless.
So, disable them, except if core_debug modprobe parameter
is used.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 28 Apr 2013 13:33:57 +0000 (10:33 -0300)]
[media] em28xx: fix oops at em28xx_dvb_bus_ctrl()
em28xx is oopsing with some DVB devices:
[10856.061884] general protection fault: 0000 [#1] SMP
[10856.067041] Modules linked in: rc_hauppauge em28xx_rc xc5000 drxk em28xx_dvb dvb_core em28xx videobuf2_vmalloc videobuf2_memops videobuf2_core rc_pixelview_new tuner_xc2028 tuner cx8800 cx88xx tveeprom btcx_risc videobuf_dma_sg videobuf_core rc_core v4l2_common videodev ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_CHECKSUM be2iscsi iscsi_boot_sysfs iptable_mangle bnx2i cnic uio cxgb4i cxgb4 tun bridge cxgb3i cxgb3 stp ip6t_REJECT mdio libcxgbi nf_conntrack_ipv6 llc nf_defrag_ipv6 ib_iser rdma_cm ib_addr xt_conntrack iw_cm ib_cm ib_sa nf_conntrack ib_mad ib_core bnep bluetooth iscsi_tcp libiscsi_tcp ip6table_filter libiscsi ip6_tables scsi_transport_iscsi xfs libcrc32c snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm tg3 snd_page_alloc snd_timer
[10856.139176] snd ptp iTCO_wdt soundcore pps_core iTCO_vendor_support lpc_ich mfd_core coretemp nfsd hp_wmi crc32c_intel microcode serio_raw rfkill sparse_keymap nfs_acl lockd sunrpc kvm_intel kvm uinput binfmt_misc firewire_ohci nouveau mxm_wmi i2c_algo_bit drm_kms_helper firewire_core crc_itu_t ttm drm i2c_core wmi [last unloaded: dib0070]
[10856.168969] CPU 1
[10856.170799] Pid: 13606, comm: dvbv5-zap Not tainted 3.9.0-rc5+ #26 Hewlett-Packard HP Z400 Workstation/0AE4h
[10856.181187] RIP: 0010:[<
ffffffffa0459e47>] [<
ffffffffa0459e47>] em28xx_write_regs_req+0x37/0x1c0 [em28xx]
[10856.191028] RSP: 0018:
ffff880118401a58 EFLAGS:
00010282
[10856.196533] RAX:
00020000012d0000 RBX:
ffff88010804aec8 RCX:
ffff880118401b14
[10856.203852] RDX:
0000000000000048 RSI:
0000000000000000 RDI:
ffff88010804aec8
[10856.211174] RBP:
ffff880118401ac8 R08:
0000000000000001 R09:
0000000000000000
[10856.218496] R10:
0000000000000000 R11:
0000000000000006 R12:
0000000000000048
[10856.226026] R13:
ffff880118401b14 R14:
ffff88011752b258 R15:
ffff88011752b258
[10856.233352] FS:
00007f26636d2740(0000) GS:
ffff88011fc20000(0000) knlGS:
0000000000000000
[10856.241626] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[10856.247565] CR2:
00007f2663716e20 CR3:
00000000c7eb1000 CR4:
00000000000007e0
[10856.254889] DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
[10856.262215] DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
[10856.269542] Process dvbv5-zap (pid: 13606, threadinfo
ffff880118400000, task
ffff8800cd625d40)
[10856.278340] Stack:
[10856.280564]
ffff88011ffe8de8 0000000000000002 0000000000000000 ffff88011ffe9b00
[10856.288191]
ffff880118401b14 00ff88011ffe9b08 ffff880100000048 ffffffff8112a52a
[10856.295893]
0000000000000001 ffff88010804aec8 0000000000000048 ffff880118401b14
[10856.303521] Call Trace:
[10856.306182] [<
ffffffff8112a52a>] ? __alloc_pages_nodemask+0x15a/0x960
[10856.312912] [<
ffffffffa045a002>] em28xx_write_regs+0x32/0xa0 [em28xx]
[10856.319638] [<
ffffffffa045a221>] em28xx_write_reg+0x21/0x30 [em28xx]
[10856.326279] [<
ffffffffa045a2cc>] em28xx_gpio_set+0x9c/0x100 [em28xx]
[10856.332919] [<
ffffffffa045a3ac>] em28xx_set_mode+0x7c/0x80 [em28xx]
[10856.339472] [<
ffffffffa03ef032>] em28xx_dvb_bus_ctrl+0x32/0x40 [em28xx_dvb]
This is caused by commit
c7a45e5b4f8c2f96cd242ae1b1c06e7fb19a08d0,
that added support for two I2C buses. A partial fix was applied
at
3de09fbbfaa521e68675bd30cfece252c4856600, but it doesn't cover
all cases, as the DVB core fills fe->dvb->priv with adapter->priv.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jan Kiszka [Sun, 28 Apr 2013 07:24:41 +0000 (09:24 +0200)]
KVM: nVMX: Skip PF interception check when queuing during nested run
While a nested run is pending, vmx_queue_exception is only called to
requeue exceptions that were previously picked up via
vmx_cancel_injection. Therefore, we must not check for PF interception
by L1, possibly causing a bogus nested vmexit.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Chegu Vinod [Sun, 28 Apr 2013 01:31:04 +0000 (18:31 -0700)]
KVM: x86: Increase the "hard" max VCPU limit
KVM guests today use 8bit APIC ids allowing for 256 ID's. Reserving one
ID for Broadcast interrupts should leave 255 ID's. In case of KVM there
is no need for reserving another ID for IO-APIC so the hard max limit for
VCPUS can be increased from 254 to 255. (This was confirmed by Gleb Natapov
http://article.gmane.org/gmane.comp.emulators.kvm.devel/99713 )
Signed-off-by: Chegu Vinod <chegu_vinod@hp.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Alex Williamson [Tue, 16 Apr 2013 19:49:18 +0000 (13:49 -0600)]
kvm: Allow build-time configuration of KVM device assignment
We hope to at some point deprecate KVM legacy device assignment in
favor of VFIO-based assignment. Towards that end, allow legacy
device assignment to be deconfigured.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Gleb Natapov [Sun, 28 Apr 2013 09:50:07 +0000 (12:50 +0300)]
Merge git://github.com/agraf/linux-2.6.git kvm-ppc-next into queue
Jan Kiszka [Sun, 28 Apr 2013 08:50:52 +0000 (10:50 +0200)]
KVM: x86: Rework request for immediate exit
The VMX implementation of enable_irq_window raised
KVM_REQ_IMMEDIATE_EXIT after we checked it in vcpu_enter_guest. This
caused infinite loops on vmentry. Fix it by letting enable_irq_window
signal the need for an immediate exit via its return value and drop
KVM_REQ_IMMEDIATE_EXIT.
This issue only affects nested VMX scenarios.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Borislav Petkov [Thu, 25 Apr 2013 22:22:01 +0000 (00:22 +0200)]
kvm, svm: Fix typo in printk message
It is "exit_int_info". It is actually EXITINTINFO in the official docs
but we don't like screaming docs.
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Olof Johansson [Sat, 27 Apr 2013 21:10:18 +0000 (14:10 -0700)]
clk: add clk_ignore_unused option to keep boot clocks on
This is primarily useful when there's a driver that doesn't claim clocks
properly, but the bootloader leaves them on. It's not expected to be used
in normal cases, but for bringup and debug it's very useful to have the
option to not gate unclaimed clocks that are still on.
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: fixed up trivial merge issue]
Jan Kiszka [Sat, 27 Apr 2013 10:58:00 +0000 (12:58 +0200)]
KVM: VMX: remove unprintable characters from comment
Slipped in while copy&pasting from the SDM.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Li Zefan [Sun, 28 Apr 2013 01:46:57 +0000 (09:46 +0800)]
cpuset: fix compile warning when CONFIG_SMP=n
Reported by Fengguang's kbuild test robot:
kernel/cpuset.c:787: warning: 'generate_sched_domains' defined but not used
Introduced by commit
e0e80a02e5701c8790bd348ab59edb154fbda60b
("cpuset: use rebuild_sched_domains() in cpuset_hotplug_workfn()),
which removed generate_sched_domains() from cpuset_hotplug_workfn().
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Wei Yongjun [Sat, 27 Apr 2013 06:06:00 +0000 (14:06 +0800)]
spi-topcliff-pch: fix to use list_for_each_entry_safe() when delete list items
Since we will remove items off the list using list_del_init() we need
to use a safe version of the list_for_each_entry() macro aptly named
list_for_each_entry_safe().
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@sirena.org.uk>
Mark Brown [Sun, 28 Apr 2013 01:13:50 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/wm8994' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:49 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/twl' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:48 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/tps80031' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:48 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/tps6586x' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:47 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/tps65023' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:47 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/tps62360' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:46 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/s5m8767' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:46 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/rc5t583' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:45 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/palmas' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:44 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/mc13892' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:44 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/max8998' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:43 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/max8997' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:43 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/max8973' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:43 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/max8952' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:42 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/max8925' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:42 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/max77686' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:41 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/max1586' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:41 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/lp8788' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:40 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/gpio' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:39 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/fan53555' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:37 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/enable-invert' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:37 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/core' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:36 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/ascend' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:36 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/as3711' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:35 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/arizona' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:34 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/ab8500' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:33 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/topic/ab3100' into v3.9-rc8
Mark Brown [Sun, 28 Apr 2013 01:13:33 +0000 (02:13 +0100)]
Merge remote-tracking branch 'regulator/fix/core' into v3.9-rc8
Axel Lin [Wed, 24 Apr 2013 03:51:12 +0000 (11:51 +0800)]
regulator: mc13892: Fix MC13892_SWITCHERS0_SWxHI bit in set_voltage_sel
It is necessary to clear MC13892_SWITCHERS0_SWxHI bit when set voltage to the
voltage range from
1100000 to
1375000. Leaving MC13892_SWITCHERS0_SWxHI bit
untouched may result in wrong voltage setting.
For example, currently switch voltage from
1400000 to
1300000 will set the
voltage to
1800000 because the HI bit is still set.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@sirena.org.uk>
Axel Lin [Sat, 27 Apr 2013 05:58:08 +0000 (13:58 +0800)]
regulator: Remove NULL test before calling regulator_unregister()
It's safe to call regulator_unregister() with NULL, thus remove the NULL test
before regulator_unregister() calls.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@sirena.org.uk>
Alexander Shiyan [Sat, 27 Apr 2013 06:29:25 +0000 (10:29 +0400)]
regulator: mc13783: Add device tree probe support
Patch adds device tree probe support for mc13783-regulator driver.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Mark Brown <broonie@sirena.org.uk>
Alexander Shiyan [Sat, 27 Apr 2013 06:29:24 +0000 (10:29 +0400)]
regulator: mc13xxx: Add warning of incorrect names of regulators
This patch adds a warning about incorrect regulators instead of
printing the names of non-information message about the wrong amount.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Mark Brown <broonie@sirena.org.uk>