Commit Graph

269691 Commits

Author SHA1 Message Date
邱建斌
0ff12e15e7 headset : Add headphones debounce 2012-12-03 15:03:47 +08:00
yzq
c633fd72db rk2928:fix system first start the hdmi pwr mode 2012-12-03 14:48:37 +08:00
Dmitry Shmidt
91b0a043a1 ipv4: Skip calling fib_detect_death() if fib_dev is NULL
Change-Id: I1b8c6c7e79cb8a05b4b715ddb3299d74edef0e14
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-12-03 14:14:27 +08:00
Dmitry Shmidt
c9920032c8 ipv4: Check if dev_out is NULL in ip_route_output_slow()
Change-Id: If04a8e99942dbe7e099e736dc87c2a49e1e778f9
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-12-03 14:14:11 +08:00
kfx
99a45a15fd rk2928_defconfig: module_param: ls_type, key_adc, ps_type 2012-12-01 15:27:32 +08:00
kfx
9de7ff8684 rk2928_defconfig: add 'module_param(gs_type, int, 0644)' 2012-12-01 15:16:01 +08:00
yxj
304fbf061e rk30 lcdc: dynamic gating lcdc clk and power domain 2012-12-01 14:48:44 +08:00
yxj
490802f8f8 rk fb: only load screeen when needed 2012-12-01 14:47:40 +08:00
yxj
6d33fb2325 rk30 lcdc:modify print style in dump_disp_info 2012-12-01 12:56:06 +08:00
yxj
5f05b2fda5 rkfb_sysfs:modify print style 2012-12-01 12:56:06 +08:00
yxj
d505de33af rk3066 lcdc:fix BLEND register define bug 2012-12-01 12:56:05 +08:00
yxj
5fe33ab28d rk3066 lcdc:fix WIN0 RG SWAP err 2012-12-01 12:56:05 +08:00
yxj
d109ea3728 rkfb:fix rk_fb_check_var err 2012-12-01 12:56:05 +08:00
yxj
2e776ee423 fb rotate support 2012-12-01 12:56:05 +08:00
黄涛
ef62b5225e Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Conflicts:
	Makefile
	drivers/net/wireless/ath/ath9k/xmit.c
	drivers/net/wireless/rt2x00/rt2800lib.c
	scripts/Kbuild.include
2012-12-01 12:07:55 +08:00
黄涛
199a818db7 rk: ddr_freq: better support idle 2012-11-30 14:35:22 +08:00
黄涛
0848535425 rk: add new ddr freq implementation 2012-11-30 11:00:34 +08:00
hwg
e921652816 wifi: update mt5931 driver to v2.03 2012-11-29 22:30:02 +08:00
hwg
996798a6c6 bt: modify for mt6622 2012-11-29 19:03:01 +08:00
hwg
7fbae50314 modify wifi control 2012-11-29 17:40:22 +08:00
wuhao
e422c56f96 rk292x :sitronix use macros CONFIG_RK_CONFIG to isolate pdata->direction_otation 2012-11-29 15:53:19 +08:00
chenxing
2c1e01c0a1 rk3066b: set 297MHz config to (2, 198, 8) 2012-11-29 14:42:02 +08:00
宋秀杰
26615fa69c phonepad: make rt3261 dsp setup speed quickly. 2012-11-29 10:17:25 +08:00
黄涛
94b155a35d rk: clock: rename rk30_clk_notifier_register/unregister to clk_notifier_register/unregister 2012-11-29 10:04:06 +08:00
黄涛
8d2810abe5 rk: dvfs: never call clk_notifier_unregister when not call clk_notifier_register 2012-11-29 10:04:06 +08:00
hwg
1e5752c75b wifi: add mt5931 wifi and mt6622 bt power control 2012-11-28 17:20:06 +08:00
hwg
b04e4f3ea6 wifi: support mt5931 wifi and mt6622 bt 2012-11-28 17:10:22 +08:00
xbw
711f7b4ea6 SDMMC: Modify a small flaw, continue with commit dac9df953e 2012-11-28 16:14:47 +08:00
宋秀杰
560f6725e9 phonepad: rt3261 modify dapm route and add realtek dsp read/write function. 2012-11-28 14:54:42 +08:00
黄涛
a7ba6e6853 Revert "rk292x (v86 & tr726) :add sd-vcc control while sd hw initial"
This reverts commit 64a1ccaaec.

Only revert block/blk-core.c and fs/fat/misc.c change.
2012-11-28 13:21:33 +08:00
hj
64a1ccaaec rk292x (v86 & tr726) :add sd-vcc control while sd hw initial 2012-11-28 11:45:11 +08:00
wuhao
f3b9c9746e rk292x: v86 & m713 & tr726 sd card configuration against Unified version of the file board-xxx-sdmmc.c 2012-11-28 10:45:45 +08:00
黄涛
ccb16a4962 rk: move ddr freq scale test function to a standalone ddr_test.c file, and rk30 ddr freq scale use clk api 2012-11-27 19:31:04 +08:00
xbw
dac9df953e Unified version of the file board-xxx-sdmmc.c 2012-11-27 18:36:19 +08:00
jmj
cf104014bd Add Mirroring function 2012-11-27 17:01:38 +08:00
张晴
a2cddb7fe2 rk292x:modify pwm coefficient for set logic voltage 2012-11-27 15:45:35 +08:00
ddl
39a7d2c580 camera: support ov2659 manual exposure in capture, and delete some invalidate printk in cif driver 2012-11-27 15:33:38 +08:00
dkl
86f869fc76 v86: change logic voltage and open ddr dvfs 2012-11-27 11:13:30 +08:00
黄涛
ef68268e6e rk: move ddr.h from mach to plat 2012-11-27 10:35:18 +08:00
Greg Kroah-Hartman
2fc3fd4485 Linux 3.0.53 v3.0.53 2012-11-26 11:35:36 -08:00
Ram Pai
b87c48d774 Resource: fix wrong resource window calculation
commit 47ea91b405 upstream.

__find_resource() incorrectly returns a resource window which overlaps
an existing allocated window.  This happens when the parent's
resource-window spans 0x00000000 to 0xffffffff and is entirely allocated
to all its children resource-windows.

__find_resource() looks for gaps in resource allocation among the
children resource windows.  When it encounters the last child window it
blindly tries the range next to one allocated to the last child.  Since
the last child's window ends at 0xffffffff the calculation overflows,
leading the algorithm to believe that any window in the range 0x0000000
to 0xfffffff is available for allocation.  This leads to a conflicting
window allocation.

Michal Ludvig reported this issue seen on his platform.  The following
patch fixes the problem and has been verified by Michal.  I believe this
bug has been there for ages.  It got exposed by git commit 2bbc694227
("PCI : ability to relocate assigned pci-resources")

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Tested-by: Michal Ludvig <mludvig@logix.net.nz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:58 -08:00
Yinghai Lu
8515be6775 PCI : Calculate right add_size
commit a4ac9fea01 upstream.

During debug of one SRIOV enabled hotplug device, we found found that
add_size is not passed properly.

The device has devices under two level bridges:

 +-[0000:80]-+-00.0-[81-8f]--
 |           +-01.0-[90-9f]--
 |           +-02.0-[a0-af]----00.0-[a1-a3]--+-02.0-[a2]--+-00.0  Oracle Corporation Device
 |           |                               \-03.0-[a3]--+-00.0  Oracle Corporation Device

Which means later the parent bridge will not try to add a big enough range:

[  557.455077] pci 0000:a0:00.0: BAR 14: assigned [mem 0xf9000000-0xf93fffff]
[  557.461974] pci 0000:a0:00.0: BAR 15: assigned [mem 0xf6000000-0xf61fffff pref]
[  557.469340] pci 0000:a1:02.0: BAR 14: assigned [mem 0xf9000000-0xf91fffff]
[  557.476231] pci 0000:a1:02.0: BAR 15: assigned [mem 0xf6000000-0xf60fffff pref]
[  557.483582] pci 0000:a1:03.0: BAR 14: assigned [mem 0xf9200000-0xf93fffff]
[  557.490468] pci 0000:a1:03.0: BAR 15: assigned [mem 0xf6100000-0xf61fffff pref]
[  557.497833] pci 0000:a1:03.0: BAR 14: can't assign mem (size 0x200000)
[  557.504378] pci 0000:a1:03.0: failed to add optional resources res=[mem 0xf9200000-0xf93fffff]
[  557.513026] pci 0000:a1:02.0: BAR 14: can't assign mem (size 0x200000)
[  557.519578] pci 0000:a1:02.0: failed to add optional resources res=[mem 0xf9000000-0xf91fffff]

It turns out we did not calculate size1 properly.

static resource_size_t calculate_memsize(resource_size_t size,
                resource_size_t min_size,
                resource_size_t size1,
                resource_size_t old_size,
                resource_size_t align)
{
        if (size < min_size)
                size = min_size;
        if (old_size == 1 )
                old_size = 0;
        if (size < old_size)
                size = old_size;
        size = ALIGN(size + size1, align);
        return size;
}

We should not pass add_size with min_size in calculate_memsize since
that will make add_size not contribute final add_size.

So just pass add_size with size1 to calculate_memsize().

With this change, we should have chance to remove extra addon in
pci_reassign_resource.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Andrew Worsley <amworsley@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:57 -08:00
Ram Pai
36720ae8b3 PCI : ability to relocate assigned pci-resources
commit 2bbc694227 upstream.

Currently pci-bridges are allocated enough resources to satisfy their immediate
requirements.  Any additional resource-requests fail if additional free space,
contiguous to the one already allocated, is not available. This behavior is not
reasonable since sufficient contiguous resources, that can satisfy the request,
are available at a different location.

This patch provides the ability to expand and relocate a allocated resource.

	v2: Changelog: Fixed size calculation in pci_reassign_resource()
	v3: Changelog : Split this patch. The resource.c changes are already
			upstream. All the pci driver changes are in here.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Andrew Worsley <amworsley@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:57 -08:00
Dave Jones
95eb6d3d6e selinux: fix sel_netnode_insert() suspicious rcu dereference
commit 88a693b5c1 upstream.

===============================
[ INFO: suspicious RCU usage. ]
3.5.0-rc1+ #63 Not tainted
-------------------------------
security/selinux/netnode.c:178 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 1, debug_locks = 0
1 lock held by trinity-child1/8750:
 #0:  (sel_netnode_lock){+.....}, at: [<ffffffff812d8f8a>] sel_netnode_sid+0x16a/0x3e0

stack backtrace:
Pid: 8750, comm: trinity-child1 Not tainted 3.5.0-rc1+ #63
Call Trace:
 [<ffffffff810cec2d>] lockdep_rcu_suspicious+0xfd/0x130
 [<ffffffff812d91d1>] sel_netnode_sid+0x3b1/0x3e0
 [<ffffffff812d8e20>] ? sel_netnode_find+0x1a0/0x1a0
 [<ffffffff812d24a6>] selinux_socket_bind+0xf6/0x2c0
 [<ffffffff810cd1dd>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff810cdb55>] ? lock_release_holdtime.part.9+0x15/0x1a0
 [<ffffffff81093841>] ? lock_hrtimer_base+0x31/0x60
 [<ffffffff812c9536>] security_socket_bind+0x16/0x20
 [<ffffffff815550ca>] sys_bind+0x7a/0x100
 [<ffffffff816c03d5>] ? sysret_check+0x22/0x5d
 [<ffffffff810d392d>] ? trace_hardirqs_on_caller+0x10d/0x1a0
 [<ffffffff8133b09e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff816c03a9>] system_call_fastpath+0x16/0x1b

This patch below does what Paul McKenney suggested in the previous thread.

Signed-off-by: Dave Jones <davej@redhat.com>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Paul Moore <paul@paul-moore.com>
Cc: Eric Paris <eparis@parisplace.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:56 -08:00
Jan Kara
7eebd4fb8b reiserfs: Protect reiserfs_quota_write() with write lock
commit 361d94a338 upstream.

Calls into reiserfs journalling code and reiserfs_get_block() need to
be protected with write lock. We remove write lock around calls to high
level quota code in the next patch so these paths would suddently become
unprotected.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:56 -08:00
Jan Kara
2f21676d17 reiserfs: Move quota calls out of write lock
commit 7af1168693 upstream.

Calls into highlevel quota code cannot happen under the write lock. These
calls take dqio_mutex which ranks above write lock. So drop write lock
before calling back into quota code.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:56 -08:00
Jan Kara
a7b8408f3c reiserfs: Protect reiserfs_quota_on() with write lock
commit b9e06ef2e8 upstream.

In reiserfs_quota_on() we do quite some work - for example unpacking
tail of a quota file. Thus we have to hold write lock until a moment
we call back into the quota code.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:56 -08:00
Jan Kara
daa88cb107 reiserfs: Fix lock ordering during remount
commit 3bb3e1fc47 upstream.

When remounting reiserfs dquot_suspend() or dquot_resume() can be called.
These functions take dqonoff_mutex which ranks above write lock so we have
to drop it before calling into quota code.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:56 -08:00
Bryan Schumaker
31fcdd0d4e NFS: Wait for session recovery to finish before returning
commit 399f11c3d8 upstream.

Currently, we will schedule session recovery and then return to the
caller of nfs4_handle_exception.  This works for most cases, but causes
a hang on the following test case:

	Client				Server
	------				------
	Open file over NFS v4.1
	Write to file
					Expire client
	Try to lock file

The server will return NFS4ERR_BADSESSION, prompting the client to
schedule recovery.  However, the client will continue placing lock
attempts and the open recovery never seems to be scheduled.  The
simplest solution is to wait for session recovery to run before retrying
the lock.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:56 -08:00
Daniel Vetter
c76fbefaf9 drm/i915: fix overlay on i830M
commit a9193983f4 upstream.

The overlay on the i830M has a peculiar failure mode: It works the
first time around after boot-up, but consistenly hangs the second time
it's used.

Chris Wilson has dug out a nice errata:

"1.5.12 Clock Gating Disable for Display Register
Address Offset:	06200h–06203h

"Bit 3
Ovrunit Clock Gating Disable.
0 = Clock gating controlled by unit enabling logic
1 = Disable clock gating function
DevALM Errata ALM049: Overlay Clock Gating Must be Disabled:  Overlay
& L2 Cache clock gating must be disabled in order to prevent device
hangs when turning off overlay.SW must turn off Ovrunit clock gating
(6200h) and L2 Cache clock gating (C8h)."

Now I've nowhere found that 0xc8 register and hence couldn't apply the
l2 cache workaround. But I've remembered that part of the magic that
the OVERLAY_ON/OFF commands are supposed to do is to rearrange cache
allocations so that the overlay scaler has some scratch space.

And while pondering how that could explain the hang the 2nd time we
enable the overlay, I've remembered that the old ums overlay code did
_not_ issue the OVERLAY_OFF cmd.

And indeed, disabling the OFF cmd results in the overlay working
flawlessly, so I guess we can workaround the lack of the above
workaround by simply never disabling the overlay engine once it's
enabled.

Note that we have the first part of the above w/a already implemented
in i830_init_clock_gating - leave that as-is to avoid surprises.

v2: Add a comment in the code.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47827
Tested-by: Rhys <rhyspuk@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
[bwh: Backported to 3.2:
 - Adjust context
 - s/intel_ring_emit(ring, /OUT_RING(/]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:55 -08:00