7 years agonet: usb: smsc95xx: fix mtu
Stephane Fillod [Fri, 20 Apr 2012 09:39:23 +0000]
net: usb: smsc95xx: fix mtu

Make smsc95xx recalculate the hard_mtu after adjusting the

Without this, usbnet adjusts the MTU down to 1488 bytes, and the host is
unable to receive standard 1500-byte frames from the device.

Inspired by same fix on cdc_eem 78fb72f7936c01d5b426c03a691eca082b03f2b9.

Tested on ARM/Beagle.

Signed-off-by: Stephane Fillod <fillods@users.sf.net>
Signed-off-by: David S. Miller <davem@davemloft.net>

7 years agoset fake_rtable's dst to NULL to avoid kernel Oops
Peter Huang (Peng) [Thu, 19 Apr 2012 20:12:51 +0000]
set fake_rtable's dst to NULL to avoid kernel Oops

bridge: set fake_rtable's dst to NULL to avoid kernel Oops

when bridge is deleted before tap/vif device's delete, kernel may
encounter an oops because of NULL reference to fake_rtable's dst.
Set fake_rtable's dst to NULL before sending packets out can solve
this problem.

v4 reformat, change br_drop_fake_rtable(skb) to {}

v3 enrich commit header

v2 introducing new flag DST_FAKE_RTABLE to dst_entry struct.

[ Use "do { } while (0)" for nop br_drop_fake_rtable()
  implementation -DaveM ]

Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Peter Huang <peter.huangpeng@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

7 years agohwmon: (coretemp) Increase CPU core limit
Guenter Roeck [Tue, 1 May 2012 15:15:42 +0000]
hwmon: (coretemp) Increase CPU core limit

CPU core ID is used to index the core_data[] array. The core ID is, however, not
sequential; 10-core CPUS can have a core ID as high as 25. Increase the limit to
32 to be able to deal with current CPUs.

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: stable@vger.kernel.org # 3.0+
Acked-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Durgadoss R <durgadoss.r@intel.com>

7 years agohwmon: (coretemp) fix oops on cpu unplug
Kirill A. Shutemov [Mon, 30 Apr 2012 13:18:01 +0000]
hwmon: (coretemp) fix oops on cpu unplug

coretemp tries to access core_data array beyond bounds on cpu unplug if
core id of the cpu if more than NUM_REAL_CORES-1.

BUG: unable to handle kernel NULL pointer dereference at 000000000000013c
IP: [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
PGD 673e5a067 PUD 66e9b3067 PMD 0
Oops: 0000 [#1] SMP
CPU 79
Modules linked in: sunrpc cpufreq_ondemand acpi_cpufreq freq_table mperf bnep bluetooth rfkill ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter nf_conntrack_ipv4 nf_defrag_ipv4 ip6_tables xt_state nf_conntrack coretemp crc32c_intel asix tpm_tis pcspkr usbnet iTCO_wdt i2c_i801 microcode mii joydev tpm i2c_core iTCO_vendor_support tpm_bios i7core_edac igb ioatdma edac_core dca megaraid_sas [last unloaded: oprofile]

Pid: 3315, comm: set-cpus Tainted: G        W    3.4.0-rc5+ #2 QCI QSSC-S4R/QSSC-S4R
RIP: 0010:[<ffffffffa00159af>]  [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
RSP: 0018:ffff880472fb3d48  EFLAGS: 00010246
RAX: 0000000000000124 RBX: 0000000000000034 RCX: 00000000ffffffff
RDX: 0000000000000000 RSI: 0000000000000046 RDI: 0000000000000246
RBP: ffff880472fb3d88 R08: ffff88077fcd36c0 R09: 0000000000000001
R10: ffffffff8184bc48 R11: 0000000000000000 R12: ffff880273095800
R13: 0000000000000013 R14: ffff8802730a1810 R15: 0000000000000000
FS:  00007f694a20f720(0000) GS:ffff88077fcc0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 000000000000013c CR3: 000000067209b000 CR4: 00000000000007e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process set-cpus (pid: 3315, threadinfo ffff880472fb2000, task ffff880471fa0000)
 ffff880277b4c308 0000000000000003 ffff880472fb3d88 0000000000000005
 0000000000000034 00000000ffffffd1 ffffffff81cadc70 ffff880472fb3e14
 ffff880472fb3dc8 ffffffff8161f48d ffff880471fa0000 0000000000000034
Call Trace:
 [<ffffffff8161f48d>] notifier_call_chain+0x4d/0x70
 [<ffffffff8107f1be>] __raw_notifier_call_chain+0xe/0x10
 [<ffffffff81059d30>] __cpu_notify+0x20/0x40
 [<ffffffff815fa251>] _cpu_down+0x81/0x270
 [<ffffffff815fa477>] cpu_down+0x37/0x50
 [<ffffffff815fd6a3>] store_online+0x63/0xc0
 [<ffffffff813c7078>] dev_attr_store+0x18/0x30
 [<ffffffff811f02cf>] sysfs_write_file+0xef/0x170
 [<ffffffff81180443>] vfs_write+0xb3/0x180
 [<ffffffff8118076a>] sys_write+0x4a/0x90
 [<ffffffff816236a9>] system_call_fastpath+0x16/0x1b
Code: 48 c7 c7 94 60 01 a0 44 0f b7 ac 10 ac 00 00 00 31 c0 e8 41 b7 5f e1 41 83 c5 02 49 63 c5 49 8b 44 c4 10 48 85 c0 74 56 45 31 ff <39> 58 18 75 4e eb 1f 49 63 d7 4c 89 f7 48 89 45 c8 48 6b d2 28
RIP  [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
 RSP <ffff880472fb3d48>
CR2: 000000000000013c

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: stable@vger.kernel.org # 3.0+
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>

7 years agoUSB: ehci-tegra: remove redundant gpio_set_value
Stephen Warren [Mon, 30 Apr 2012 23:24:10 +0000]
USB: ehci-tegra: remove redundant gpio_set_value

The immediately preceding gpio_direction_output() already set the value,
so there's no need to repeat it. This also prevents gpio_set_value() from
WARNing when the GPIO is sleepable (e.g. is on an I2C expander); the set
direction API is always sleepable, but plain set_value isn't.

Cc: <stable@vger.kernel.org> # v3.3
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

7 years agovt: Fix deadlock on scroll-lock
Alan Cox [Tue, 1 May 2012 15:12:19 +0000]
vt: Fix deadlock on scroll-lock

Fixing the locking accidentally replaced a race in the scroll
lock handling with a deadlock. Turn it back into a race for

The basic problem is that there are two paths into the tty
stop/start helpers. One via the tty layer ^S/^Q handling
where we need to take the kbd_event_lock and one via the
special keyboard handler for fn_hold where we already hold
it. Probably we need to split out into a separate LED lock
but for now just go back to the race as it's a bit close
to release.

Reported-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

7 years agoNFSv4.1: Use the correct hostname in the client identifier string
Trond Myklebust [Mon, 30 Apr 2012 16:04:58 +0000]
NFSv4.1: Use the correct hostname in the client identifier string

We need to use the hostname of the process that created the nfs_client.
That hostname is now stored in the rpc_client->cl_nodename.

Also remove the utsname()->domainname component. There is no reason
to include the NIS/YP domainname in a client identifier string.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoSUNRPC: RPC client must use the current utsname hostname string
Trond Myklebust [Mon, 30 Apr 2012 15:52:40 +0000]
SUNRPC: RPC client must use the current utsname hostname string

Now that the rpc client is namespace aware, it needs to use the
utsname of the process that created it instead of using the
init_utsname. Both rpc_new_client and rpc_clone_client need to
be fixed.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Stanislav Kinsbursky <skinsbursky@parallels.com>

7 years agoNFS: get module in idmap PipeFS notifier callback
Stanislav Kinsbursky [Sat, 28 Apr 2012 15:32:21 +0000]
NFS: get module in idmap PipeFS notifier callback

This is bug fix.
Notifier callback is called from SUNRPC module. So before dereferencing NFS
module we have to make sure, that it's alive.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoNFS: Remove unused function nfs_lookup_with_sec()
Bryan Schumaker [Fri, 27 Apr 2012 17:27:43 +0000]
NFS: Remove unused function nfs_lookup_with_sec()

This fixes a compiler warning.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoNFS: Honor the authflavor set in the clone mount data
Bryan Schumaker [Fri, 27 Apr 2012 17:27:42 +0000]
NFS: Honor the authflavor set in the clone mount data

The authflavor is set in an nfs_clone_mount structure and passed to the
xdev_mount() functions where it was promptly ignored.  Instead, use it
to initialize an rpc_clnt for the cloned server.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoNFS: Fix following referral mount points with different security
Bryan Schumaker [Fri, 27 Apr 2012 17:27:41 +0000]
NFS: Fix following referral mount points with different security

I create a new proc_lookup_mountpoint() to use when submounting an NFS
v4 share.  This function returns an rpc_clnt to use for performing an
fs_locations() call on a referral's mountpoint.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoNFS: Do secinfo as part of lookup
Bryan Schumaker [Fri, 27 Apr 2012 17:27:40 +0000]
NFS: Do secinfo as part of lookup

Whenever lookup sees wrongsec do a secinfo and retry the lookup to find
attributes of the file or directory, such as "is this a referral
mountpoint?".  This also allows me to remove handling -NFS4ERR_WRONSEC
as part of getattr xdr decoding.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoNFS: Handle exceptions coming out of nfs4_proc_fs_locations()
Bryan Schumaker [Fri, 27 Apr 2012 17:27:39 +0000]
NFS: Handle exceptions coming out of nfs4_proc_fs_locations()

We don't want to return -NFS4ERR_WRONGSEC to the VFS because it could
cause the kernel to oops.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoNFS: Fix SECINFO_NO_NAME
Bryan Schumaker [Fri, 27 Apr 2012 17:27:38 +0000]

I was using the same decoder function for SECINFO and SECINFO_NO_NAME,
so it was returning an error when it tried to decode an OP_SECINFO_NO_NAME
header as OP_SECINFO.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoSUNRPC: traverse clients tree on PipeFS event
Stanislav Kinsbursky [Fri, 27 Apr 2012 09:00:17 +0000]
SUNRPC: traverse clients tree on PipeFS event

v2: recursion was replaced by loop

If client is a clone, then it's parent can not be in the list.
But parent's Pipefs dentries have to be created and destroyed.

Note: event skip helper for clients introduced

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoSUNRPC: set per-net PipeFS superblock before notification
Stanislav Kinsbursky [Fri, 20 Apr 2012 14:19:56 +0000]
SUNRPC: set per-net PipeFS superblock before notification

There can be a case, when on MOUNT event RPC client (after it's dentries were
created) is not longer hold by anyone except notification callback.
I.e. on release this client will be destoroyed. And it's dentries have to be
destroyed as well. Which in turn requires per-net PipeFS superblock to be set.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoSUNRPC: skip clients with program without PipeFS entries
Stanislav Kinsbursky [Fri, 20 Apr 2012 14:19:18 +0000]
SUNRPC: skip clients with program without PipeFS entries

1) This is sane.
2) Otherwise there will be soft lockup:

do {
rpc_get_client_for_event (clnt->cl_dentry == NULL ==> choose)
__rpc_pipefs_event (clnt->cl_program->pipe_dir_name == NULL ==> return)
} while (1)

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoSUNRPC: skip dead but not buried clients on PipeFS events
Stanislav Kinsbursky [Fri, 20 Apr 2012 14:11:02 +0000]
SUNRPC: skip dead but not buried clients on PipeFS events

These clients can't be safely dereferenced if their counter in 0.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoAvoid beyond bounds copy while caching ACL
Sachin Prabhu [Tue, 17 Apr 2012 13:36:40 +0000]
Avoid beyond bounds copy while caching ACL

When attempting to cache ACLs returned from the server, if the bitmap
size + the ACL size is greater than a PAGE_SIZE but the ACL size itself
is smaller than a PAGE_SIZE, we can read past the buffer page boundary.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reported-by: Jian Li <jiali@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoAvoid reading past buffer when calling GETACL
Sachin Prabhu [Tue, 17 Apr 2012 13:35:39 +0000]
Avoid reading past buffer when calling GETACL

Bug noticed in commit

When calling GETACL, if the size of the bitmap array, the length
attribute and the acl returned by the server is greater than the
allocated buffer(args.acl_len), we can Oops with a General Protection
fault at _copy_from_pages() when we attempt to read past the pages

This patch allocates an extra PAGE for the bitmap and checks to see that
the bitmap + attribute_length + ACLs don't exceed the buffer space
allocated to it.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reported-by: Jian Li <jiali@redhat.com>
[Trond: Fixed a size_t vs unsigned int printk() warning]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agofix page number calculation bug for block layout decode buffer
Jim Rees [Tue, 10 Apr 2012 02:33:39 +0000]
fix page number calculation bug for block layout decode buffer

Signed-off-by: Jim Rees <rees@umich.edu>
Suggested-by: Andy Adamson <andros@netapp.com>
Suggested-by: Fred Isaman <iisaman@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoNFSv4.1 fix page number calculation bug for filelayout decode buffers
Andy Adamson [Sat, 14 Apr 2012 07:56:35 +0000]
NFSv4.1 fix page number calculation bug for filelayout decode buffers

Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agopnfs-obj: Remove unused variable from objlayout_get_deviceinfo()
Sachin Bhamare [Fri, 30 Mar 2012 21:29:59 +0000]
pnfs-obj: Remove unused variable from objlayout_get_deviceinfo()

Local variable 'sb' was not being used in objlayout_get_deviceinfo().

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agonfs4: fix referrals on mounts that use IPv6 addrs
Weston Andros Adamson [Tue, 24 Apr 2012 20:50:37 +0000]
nfs4: fix referrals on mounts that use IPv6 addrs

All referrals (IPv4 addr, IPv6 addr, and DNS) are broken on mounts of
IPv6 addresses, because validation code uses a path that is parsed
from the dev_name ("<server>:<path>") by splitting on the first colon and
colons are used in IPv6 addrs.
This patch ignores colons within IPv6 addresses that are escaped by '[' and ']'.

Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

7 years agoktest: Fix reboot on success stopping all reboots
Steven Rostedt [Tue, 1 May 2012 12:20:12 +0000]
ktest: Fix reboot on success stopping all reboots

The change to let individual tests decide to reboot the machine on
success of the entire test also prevented errors from rebooting
when an error was detected.

The "no_reboot" variable was only cleared if the test had
reboot_on_success set. But the no_reboot variable also prevents the test
rebooting when an error was detected even when REBOOT_ON_ERROR was set.

Add a new "reboot_success" variable that is used to determine if the
test should reboot on success and not touch the no_reboot variable.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

7 years agoktest.pl: Fix combined usage of BISECT_REVERSE and BISECT_SKIP
Russ Dill [Tue, 24 Apr 2012 02:43:00 +0000]
ktest.pl: Fix combined usage of BISECT_REVERSE and BISECT_SKIP

When BISECT_REVERSE and BISECT_SKIP are used together with boot or test
testing, build failures are treated as boot or test failures and
'git bisect bad' is executed instead of 'git bisect skip'. This is because
the $ret value of -1 is treated as a build failure, but the $reverse_bisect
logic does not properly handle this.

Simple fix, only invert it if it is positive.

Link: http://lkml.kernel.org/r/1335235380-8509-1-git-send-email-Russ.Dill@ti.com

Signed-off-by: Russ Dill <Russ.Dill@ti.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

7 years agoMIPS: Remove get_current_pgd().
David Daney [Wed, 28 Mar 2012 22:59:58 +0000]
MIPS: Remove get_current_pgd().

It is unused in the tree.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3557/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

7 years agoMIPS: ath79: fix AR933X WMAC reset code
Gabor Juhos [Wed, 14 Mar 2012 09:28:35 +0000]
MIPS: ath79: fix AR933X WMAC reset code

The current code puts the built-in WMAC device of the
AR933X SoCs into reset instead of starting it. This
causes a hard lock on AR933X based boards when the
wireless driver tries to access the device.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: stable@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3484/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

7 years agoMIPS: JZ4740: Fix the JZ4740_IRQ_DMA macro
Antony Pavlov [Wed, 7 Mar 2012 08:19:43 +0000]
MIPS: JZ4740: Fix the JZ4740_IRQ_DMA macro

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3459/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

7 years agoMIPS: Use set_current_blocked() and block_sigmask()
Matt Fleming [Tue, 14 Feb 2012 11:40:52 +0000]
MIPS: Use set_current_blocked() and block_sigmask()

As described in e6fa16ab ("signal: sigprocmask() should do
retarget_shared_pending()") the modification of current->blocked is
incorrect as we need to check whether the signal we're about to block
is pending in the shared queue.

Also, use the new helper function introduced in commit 5e6292c0f28f
("signal: add block_sigmask() for adding sigmask to current->blocked")
which centralises the code for updating current->blocked after
successfully delivering a signal and reduces the amount of duplicate
code across architectures. In the past some architectures got this
code wrong, so using this helper function should stop that from
happening again.

Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: David Daney <ddaney@caviumnetworks.com>
Cc: linux-mips@linux-mips.org
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Patchwork: https://patchwork.linux-mips.org/patch/3363/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

7 years agoARM: 7406/1: hotplug: copy the affinity mask when forcefully migrating IRQs
Will Deacon [Fri, 27 Apr 2012 11:56:24 +0000]
ARM: 7406/1: hotplug: copy the affinity mask when forcefully migrating IRQs

When a CPU is hotplugged off, we migrate any IRQs currently affine to it
away and onto another online CPU by calling the irq_set_affinity
function of the relevant interrupt controller chip. This function
returns either IRQ_SET_MASK_OK or IRQ_SET_MASK_OK_NOCOPY, to indicate
whether irq_data.affinity was updated.

If we are forcefully migrating an interrupt (because the affinity mask
no longer identifies any online CPUs) then we should update the IRQ
affinity mask to reflect the new CPU set. Failure to do so can
potentially leave /proc/irq/n/smp_affinity identifying only offline
CPUs, which may confuse userspace IRQ balancing daemons.

This patch updates migrate_one_irq to copy the affinity mask when
the interrupt chip returns IRQ_SET_MASK_OK after forcefully changing the
affinity of an interrupt.

Cc: stable@vger.kernel.org
Reported-by: Leif Lindholm <leif.lindholm@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7405/1: kexec: call platform_cpu_kill on the killer rather than the victim
Will Deacon [Fri, 27 Apr 2012 11:51:43 +0000]
ARM: 7405/1: kexec: call platform_cpu_kill on the killer rather than the victim

When performing a kexec on an SMP system, the secondary cores are stopped
by calling machine_shutdown(), which in turn issues IPIs to offline the
other CPUs. Unfortunately, this isn't enough to reboot the cores into
a new kernel (since they are just executing a cpu_relax loop somewhere
in memory) so we make use of platform_cpu_kill, part of the CPU hotplug
implementation, to place the cores somewhere safe. This function expects
to be called on the killing CPU for each core that it takes out.

This patch moves the platform_cpu_kill callback out of the IPI handler
and into smp_send_stop, therefore ensuring that it executes on the
killing CPU rather than on the victim, matching what the hotplug code

Cc: stable@vger.kernel.org
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7403/1: tls: remove covert channel via TPIDRURW
Will Deacon [Fri, 27 Apr 2012 11:45:07 +0000]
ARM: 7403/1: tls: remove covert channel via TPIDRURW

TPIDRURW is a user read/write register forming part of the group of
thread registers in more recent versions of the ARM architecture (~v6+).

Currently, the kernel does not touch this register, which allows tasks
to communicate covertly by reading and writing to the register without
context-switching affecting its contents.

This patch clears TPIDRURW when TPIDRURO is updated via the set_tls
macro, which is called directly from __switch_to. Since the current
behaviour makes the register useless to userspace as far as thread
pointers are concerned, simply clearing the register (rather than saving
and restoring it) will not cause any problems to userspace.

Cc: stable@vger.kernel.org
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7401/1: mm: Fix section mismatches
Stephen Boyd [Mon, 14 May 2012 12:48:40 +0000]
ARM: 7401/1: mm: Fix section mismatches

WARNING: vmlinux.o(.text+0x111b8): Section mismatch in reference
from the function arm_memory_present() to the function
The function arm_memory_present() references
the function __init memory_present().
This is often because arm_memory_present lacks a __init
annotation or the annotation of memory_present is wrong.

WARNING: arch/arm/mm/built-in.o(.text+0x1edc): Section mismatch
in reference from the function alloc_init_pud() to the function
The function alloc_init_pud() references
the function __init alloc_init_section().
This is often because alloc_init_pud lacks a __init
annotation or the annotation of alloc_init_section is wrong.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>



Change-Id: I9fa79e04c998c56cd432e4486815bdf6258a81dc

7 years agoARM: OMAP: fix DMA vs memory ordering
Russell King [Sat, 14 Apr 2012 17:57:10 +0000]
ARM: OMAP: fix DMA vs memory ordering

Using coherent DMA memory with the OMAP DMA engine results in
unpredictable behaviour due to memory ordering issues; as things stand,
there is no guarantee that data written to coherent DMA memory will be
visible to the DMA hardware.

This is because the OMAP dma_write() accessor contains no barriers,
necessary on ARMv6 and above.  The effect of this can be seen in comments
in the OMAP serial driver, which incorrectly talks about cache flushing
for the coherent DMA stuff.

Rather than adding barriers to the accessors, add it in the DMA support
code just before we enable DMA, and just after we disable DMA.  This
avoids having barriers for every DMA register access.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7390/1: dts: versatile-pb/ab fix MMC IRQs
Linus Walleij [Wed, 18 Apr 2012 21:26:51 +0000]
ARM: 7390/1: dts: versatile-pb/ab fix MMC IRQs

The MMCI driver will not work without two IRQs since this is not
flagged as a single-irq variant. Looking through the complex IRQ
definition for the MMCI on the versatile (including an #if 1
statement forcing MMCI IRQ0 to the VIC) this appears to the the
correct IRQ number for both models.

Cc: Niklas Hernaeus <niklas.hernaeus@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7400/1: vfp: clear fpscr length and stride bits on entry to sig handler
Will Deacon [Mon, 23 Apr 2012 14:42:16 +0000]
ARM: 7400/1: vfp: clear fpscr length and stride bits on entry to sig handler

The ARM PCS mandates that the length and stride bits of the fpscr are
cleared on entry to and return from a public interface. Although signal
handlers run asynchronously with respect to the interrupted function,
the handler itself expects to run as though it has been called like a
normal function.

This patch updates the state mirroring the VFP hardware before entry to
a signal handler so that it adheres to the PCS. Furthermore, we disable
VFP to ensure that we trap on any floating point operation performed by
the signal handler and synchronise the hardware appropriately. A check
is inserted after the signal handler to avoid redundant flushing if VFP
was not used.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7399/1: vfp: move user vfp state save/restore code out of signal.c
Will Deacon [Mon, 23 Apr 2012 14:38:28 +0000]
ARM: 7399/1: vfp: move user vfp state save/restore code out of signal.c

The user VFP state must be preserved (subject to ucontext modifications)
across invocation of a signal handler and this is currently handled by
vfp_{preserve,restore}_context in signal.c

Since this code requires intimate low-level knowledge of the VFP state,
this patch moves it into vfpmodule.c.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7398/1: l2x0: only write to debug registers on PL310
Will Deacon [Fri, 20 Apr 2012 16:22:11 +0000]
ARM: 7398/1: l2x0: only write to debug registers on PL310

PL310 errata #588369 and #727915 require writes to the debug registers
of the cache controller to work around known problems. Writing these
registers on L220 may cause deadlock, so ensure that we only perform
this operation when we identify a PL310 at probe time.

Cc: stable@vger.kernel.org
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years agoARM: 7397/1: l2x0: only apply workaround for erratum #753970 on PL310
Will Deacon [Mon, 14 May 2012 12:38:00 +0000]
ARM: 7397/1: l2x0: only apply workaround for erratum #753970 on PL310

The workaround for PL310 erratum #753970 can lead to deadlock on systems
with an L220 cache controller.

This patch makes the workaround effective only when the cache controller
is identified as a PL310 at probe time.

Cc: stable@vger.kernel.org
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>



Change-Id: Ib6ed0c153df889550c48d147216105aaa38dde56

7 years agoARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores
Will Deacon [Fri, 20 Apr 2012 16:20:08 +0000]
ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores

Erratum #326103 ("FSR write bit incorrect on a SWP to read-only memory")
only affects the ARM 1136 core prior to r1p0. The workaround
disassembles the faulting instruction to determine whether it was a read
or write access on all v6 cores.

An issue has been reported on the ARM 11MPCore whereby loading the
faulting instruction may happen in parallel with that page being
unmapped, resulting in a deadlock due to the lack of TLB broadcasting
in hardware:


This patch limits the workaround so that it is only used on affected
cores, which are known to be UP only. Other v6 cores can rely on the
FSR to indicate the access type correctly.

Cc: stable@vger.kernel.org
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

7 years ago[SCSI] libfc: update mfs boundry checking
Vasu Dev [Fri, 6 Apr 2012 22:52:51 +0000]
[SCSI] libfc: update mfs boundry checking

A previous commit changed the mfs checking to ensure the new
mfs is less or equal to the mfs supported by the FCF. This
doesn't work for BRDCM cards as they set an mfs of 2048 regardless
of whether the switch returns a larger mfs.

This patch validates the new mfs against the upper and lower spec
defined boundries for a FCoE mfs.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] Revert "[SCSI] libsas: fix sas port naming"
Dan Williams [Fri, 20 Apr 2012 06:48:12 +0000]
[SCSI] Revert "[SCSI] libsas: fix sas port naming"

This reverts commit a692b0eec5efae382dfa800e8b4b083f172921a7.

Tom reports:

[    8.741033] ------------[ cut here ]------------
[    8.741038] WARNING: at fs/sysfs/dir.c:508 sysfs_add_one+0xc1/0xf0()
[    8.741040] Hardware name: To Be Filled By O.E.M.
[    8.741041] sysfs: cannot create duplicate filename

...and missing 2 out of 4 drives connected to mvsas.  Commit a692b0ee
made the assumption that all the phy ids an lldd registers to libsas are
unique.  However, in the "multi-chip" case mvsas does a rather annoying
duplication of phy ids in the array passed to libsas.  So, for example,
chip0 has phy0-3 at ha phy index 0-3 and chip1 has its phy0-3 at ha phy
index 4-7.  The more natural model would be to create a scsi_host (and
sas_ha) per chip (controller), but for now revert the naming fix which
unfortunately means dealing with unpredictable end-device names for a
bit longer.

Cc: Xiangliang Yu <yuxiangl@marvell.com>
Cc: Patrick Thomson <patrick.s.thomson@intel.com>
Reported-by: Tom Rini <trini@ti.com>
Tested-by: Tom Rini <trini@ti.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libsas: fix false positive 'device attached' conditions
Dan Williams [Tue, 20 Mar 2012 17:50:27 +0000]
[SCSI] libsas: fix false positive 'device attached' conditions

Normalize phy->attached_sas_addr to return a zero-address in the case
when device-type == NO_DEVICE or the linkrate is invalid to handle
expanders that put non-zero sas addresses in the discovery response:

 sas: ex 5001b4da000f903f phy02:U:0 attached: 0100000000000000 (no device)
 sas: ex 5001b4da000f903f phy01:U:0 attached: 0100000000000000 (no device)
 sas: ex 5001b4da000f903f phy03:U:0 attached: 0100000000000000 (no device)
 sas: ex 5001b4da000f903f phy00:U:0 attached: 0100000000000000 (no device)

Reported-by: Andrzej Jakowski <andrzej.jakowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libsas, libata: fix start of life for a sas ata_port
Dan Williams [Thu, 22 Mar 2012 04:09:07 +0000]
[SCSI] libsas, libata: fix start of life for a sas ata_port

This changes the ordering of initialization and probing events from:
  2/ allocate ata_port and schedule port probe in DISCE_PROBE
  3/ schedule port probe in DISCE_PROBE

This ordering prevents PHYE_SIGNAL_LOSS_EVENTS from sneaking in to
destrory ata devices before they have been fully initialized:

  BUG: unable to handle kernel paging request at 0000000000003b10
  IP: [<ffffffffa0053d7e>] sas_ata_end_eh+0x12/0x5e [libsas]
  [<ffffffffa004d1af>] sas_unregister_common_dev+0x78/0xc9 [libsas]
  [<ffffffffa004d4d4>] sas_unregister_dev+0x4f/0xad [libsas]
  [<ffffffffa004d5b1>] sas_unregister_domain_devices+0x7f/0xbf [libsas]
  [<ffffffffa004c487>] sas_deform_port+0x61/0x1b8 [libsas]
  [<ffffffffa004bed0>] sas_phye_loss_of_signal+0x29/0x2b [libsas]

...and kills the awkward "sata domain_device briefly existing in the
domain without an ata_port" state.

Reported-by: Michal Kosciowski <michal.kosciowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libsas: fix ata_eh clobbering ex_phys via smp_ata_check_ready
Dan Williams [Tue, 20 Mar 2012 20:24:29 +0000]
[SCSI] libsas: fix ata_eh clobbering ex_phys via smp_ata_check_ready

The check_ready implementation in the expander-attached ata device case
polls on sas_ex_phy_discover().  The effect is that the ex_phy fields
(critically ->attached_sas_addr) can change.  When ata_eh ends and
libsas comes along to revalidate the domain
sas_unregister_devs_sas_addr() can fail to lookup devices to remove, or
fail to re-add an ata device that ata_eh marked as disabled.  So change
the code to skip the sas_address and change count updates when ata_eh is

Cc: Jack Wang <jack_wang@usish.com>
Tested-by: Maciej Patelczyk <maciej.patelczyk@intel.com>
Tested-by: Bartek Nowakowski <bartek.nowakowski@intel.com>
Tested-by: Jacek Danecki <jacek.danecki@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libsas: unify domain_device sas_rphy lifetimes
Dan Williams [Tue, 20 Mar 2012 17:53:24 +0000]
[SCSI] libsas: unify domain_device sas_rphy lifetimes

Since the domain_device can out live the scsi_target we need the rphy to
follow suit otherwise we run into issues like:

  BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
  IP: [<ffffffffa011561b>] sas_ata_printk+0x43/0x6f [libsas]
  PGD 0
  Oops: 0000 [#1] SMP
  CPU 1
  Modules linked in: ses enclosure isci libsas scsi_transport_sas fuse sunrpc cpufreq_ondemand acpi_cpufreq freq_table mperf microcode pcspkr igb joydev iTCO_wdt ioatdma iTCO_vendor_support i2c_i801 i2c_core dca wmi hed ipv6 pata_acpi ata_generic [last unloaded: scsi_wait_scan]

  Pid: 129, comm: kworker/u:3 Not tainted 3.3.0-rc5-isci+ #1 Intel Corporation SandyBridge Platform/To be filled by O.E.M.
  RIP: 0010:[<ffffffffa011561b>] [<ffffffffa011561b>] sas_ata_printk+0x43/0x6f [libsas]
  RSP: 0018:ffff88042232dd70 EFLAGS: 00010282
  RAX: 0000000000000000 RBX: ffff8804283165b8 RCX: ffff88042232dda0
  RDX: ffff88042232dd78 RSI: ffff8804283165b8 RDI: ffffffffa01188d7
  RBP: ffff88042232ddd0 R08: ffff880388454000 R09: ffff8803edfde1f8
  R10: ffff8803edfde1f8 R11: ffff8803edfde1f8 R12: ffff880428316750
  R13: ffff880388454000 R14: ffff8803f88b31d0 R15: ffff8803f8b21d50
  FS: 0000000000000000(0000) GS:ffff88042ee20000(0000) knlGS:0000000000000000
  CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
  CR2: 0000000000000050 CR3: 0000000001a05000 CR4: 00000000000406e0
  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
  Process kworker/u:3 (pid: 129, threadinfo ffff88042232c000, task ffff88042230c920)
  0000000000000000 ffff880400000018 ffff88042232dde0 ffff88042232dda0
  ffffffffa01188c4 ffff88042ee93af0 ffff88042232ddb0 ffffffff8100e047
  ffff88042232de10 ffff880420e5a2c8 ffff8803f8b21d50 ffff8803edfde1f8
  Call Trace:
  [<ffffffff8100e047>] ? load_TLS+0xb/0xf
  [<ffffffffa01156ad>] async_sas_ata_eh+0x66/0x95 [libsas]
  [<ffffffff810655e1>] async_run_entry_fn+0x9e/0x131

Reported-by: Tom Jackson <thomas.p.jackson@intel.com>
Tested-by: Tom Jackson <thomas.p.jackson@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libsas: fix sas_get_port_device regression
Dan Williams [Mon, 12 Mar 2012 18:38:26 +0000]
[SCSI] libsas: fix sas_get_port_device regression

Commit 899fcf4 "[SCSI] libsas: set attached device type and target
protocols for local phys" setup 'phy' to be dereferenced after
list_for_each_entry(phy, &port->phy_list, port_phy_el) (i.e. phy ==
&port->phy_list) resulting in reports like:

  BUG: unable to handle kernel NULL pointer dereference at 00000000000002b0
  IP: [<ffffffffa00ce948>] sas_discover_domain+0x29e/0x4fb [libsas]

...fix by deferring sas_phy_set_target() to the end of

Reported-by: Tom Jackson <thomas.p.jackson@intel.com>
Tested-by: Tom Jackson <thomas.p.jackson@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libsas: fix sas_find_bcast_phy() in the presence of 'vacant' phys
Thomas Jackson [Sat, 18 Feb 2012 02:33:10 +0000]
[SCSI] libsas: fix sas_find_bcast_phy() in the presence of 'vacant' phys

If an expander reports 'PHY VACANT' for a phy index prior to the one
that generated a BCN libsas fails rediscovery.  Since a vacant phy is
defined as a valid phy index that will never have an attached device
just continue the search.

Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Jackson <thomas.p.jackson@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libsas: introduce sas_work to fix sas_drain_work vs sas_queue_work
Dan Williams [Fri, 9 Mar 2012 19:00:06 +0000]
[SCSI] libsas: introduce sas_work to fix sas_drain_work vs sas_queue_work

When requeuing work to a draining workqueue the last work instance may
not be idle, so sas_queue_work() must not touch work->entry.  Introduce
sas_work with a drain_node list_head to have a private list for
collecting work deferred due to drain collision.

Fixes reports like:
  BUG: unable to handle kernel NULL pointer dereference at           (null)
  IP: [<ffffffff810410d4>] process_one_work+0x2e/0x338

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] libata: Pass correct DMA device to scsi host
Lin Ming [Thu, 12 Apr 2012 05:50:39 +0000]
[SCSI] libata: Pass correct DMA device to scsi host

Use scsi_add_host_with_dma in ata_scsi_add_hosts to pass in the
correct DMA device(ATA host).

Bug report: http://marc.info/?l=linux-ide&m=133177818318187&w=2

Reported-and-tested-by: Jörg Sommer <joerg@alea.gnuu.de>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years ago[SCSI] scsi_lib: use correct DMA device in __scsi_alloc_queue
Lin Ming [Thu, 12 Apr 2012 05:50:38 +0000]
[SCSI] scsi_lib: use correct DMA device in __scsi_alloc_queue

Currently, __scsi_alloc_queue uses SCSI host's parent device
as DMA device to set segment boundary. But the parent device may not
refer to the DMA device. For example, for ATA disk, SCSI host's parent
device now refers to ATA port.

Since commit d139b9b([SCSI] scsi_lib_dma: fix bug with dma maps on
nested scsi objects), a new field Scsi_Host->dma_dev was introduced
to refer to the real DMA device.

Use ->dma_dev in __scsi_alloc_queue to correctly set segment

Bug report: http://marc.info/?l=linux-ide&m=133177818318187&w=2

Reported-and-tested-by: Jörg Sommer <joerg@alea.gnuu.de>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

7 years agoefi: Validate UEFI boot variables
Matthew Garrett [Mon, 30 Apr 2012 20:11:30 +0000]
efi: Validate UEFI boot variables

A common flaw in UEFI systems is a refusal to POST triggered by a malformed
boot variable. Once in this state, machines may only be restored by
reflashing their firmware with an external hardware device. While this is
obviously a firmware bug, the serious nature of the outcome suggests that
operating systems should filter their variable writes in order to prevent
a malicious user from rendering the machine unusable.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

7 years agoefi: Add new variable attributes
Matthew Garrett [Mon, 30 Apr 2012 20:11:29 +0000]
efi: Add new variable attributes

More recent versions of the UEFI spec have added new attributes for
variables. Add them.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

7 years agonfsd: fix nfs4recover.c printk format warning
Randy Dunlap [Mon, 30 Apr 2012 19:25:31 +0000]
nfsd: fix nfs4recover.c printk format warning

Fix printk format warnings -- both items are size_t,
so use %zu to print them.

fs/nfsd/nfs4recover.c:580:3: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'size_t'
fs/nfsd/nfs4recover.c:580:3: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'unsigned int'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: linux-nfs@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

7 years agotty/serial/pmac_zilog: Fix "nobody cared" IRQ message
Larry Finger [Sat, 28 Apr 2012 23:53:49 +0000]
tty/serial/pmac_zilog: Fix "nobody cared" IRQ message

Following commit a79dd5a titled "tty/serial/pmac_zilog: Fix suspend & resume",
my Powerbook G4 Titanium showed the following stack dump:

[   36.878225] irq 23: nobody cared (try booting with the "irqpoll" option)
[   36.878251] Call Trace:
[   36.878291] [dfff3f00] [c000984c] show_stack+0x7c/0x194 (unreliable)
[   36.878322] [dfff3f40] [c00a6868] __report_bad_irq+0x44/0xf4
[   36.878339] [dfff3f60] [c00a6b04] note_interrupt+0x1ec/0x2ac
[   36.878356] [dfff3f80] [c00a48d0] handle_irq_event_percpu+0x250/0x2b8
[   36.878372] [dfff3fd0] [c00a496c] handle_irq_event+0x34/0x54
[   36.878389] [dfff3fe0] [c00a753c] handle_fasteoi_irq+0xb4/0x124
[   36.878412] [dfff3ff0] [c000f5bc] call_handle_irq+0x18/0x28
[   36.878428] [deef1f10] [c000719c] do_IRQ+0x114/0x1cc
[   36.878446] [deef1f40] [c0015868] ret_from_except+0x0/0x1c
[   36.878484] --- Exception: 501 at 0xf497610
[   36.878489]     LR = 0xfdc3dd0
[   36.878497] handlers:
[   36.878510] [<c02b7424>] pmz_interrupt
[   36.878520] Disabling IRQ #23

From an E-mail exchange about this problem, Andreas Schwab noticed a typo
that resulted in the wrong condition being tested.

The patch also corrects 2 typos that incorrectly report why an error branch
is being taken.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

7 years agopowerpc/pseries: Rivet CONFIG_EEH for pSeries platform
Gavin Shan [Tue, 24 Apr 2012 19:11:22 +0000]
powerpc/pseries: Rivet CONFIG_EEH for pSeries platform

Recently, Ryan Wang tried to compile PPC pSeries platform without
CONFIG_EEH and eventually run into errors. Nishanth Aravamudan
helped to narrow down the root cause. Actually, the pSeries platform
depends on CONFIG_EEH heavily and that won't work properly without
EEH support.

According to Ben's suggestion, the patch make CONFIG_EEH invisible
and keep it as always selected on pSeries platform.

Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

7 years agopowerpc/irqdomain: Fix broken NR_IRQ references
Grant Likely [Mon, 23 Apr 2012 12:30:02 +0000]
powerpc/irqdomain: Fix broken NR_IRQ references

The switch from using irq_map to irq_alloc_desc*() for managing irq
number allocations introduced new bugs in some of the powerpc
interrupt code.  Several functions rely on the value of NR_IRQS to
determine the maximum irq number that could get allocated.  However,
with sparse_irq and using irq_alloc_desc*() the maximum possible irq
number is now specified with 'nr_irqs' which may be a number larger
than NR_IRQS.  This has caused breakage on powermac when
CONFIG_NR_IRQS is set to 32.

This patch removes most of the direct references to NR_IRQS in the
powerpc code and replaces them with either a nr_irqs reference or by
using the common for_each_irq_desc() macro.  The powerpc-specific
for_each_irq() macro is removed at the same time.

Also, the Cell axon_msi driver is refactored to remove the global
build assumption on the size of NR_IRQS and instead add a limit to the
maximum irq number when calling irq_domain_add_nomap().

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

7 years agopowerpc/8xx: Fix NR_IRQ bugs and refactor 8xx interrupt controller
Grant Likely [Mon, 23 Apr 2012 12:30:01 +0000]
powerpc/8xx: Fix NR_IRQ bugs and refactor 8xx interrupt controller

The mpc8xx driver uses a reference to NR_IRQS that is buggy.  It uses
NR_IRQs for the array size of the ppc_cached_irq_mask bitmap, but
NR_IRQs could be smaller than the number of hardware irqs that
ppc_cached_irq_mask tracks.

Also, while fixing that problem, it became apparent that the interrupt
controller only supports 32 interrupt numbers, but it is written as if
it supports multiple register banks which is more complicated.

This patch pulls out the buggy reference to NR_IRQs and fixes the size
of the ppc_cached_irq_mask to match the number of HW irqs.  It also
drops the now-unnecessary code since ppc_cached_irq_mask is no longer
an array.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

7 years agoInput: synaptics - fix regression with "image sensor" trackpads
Benjamin Herrenschmidt [Sat, 21 Apr 2012 05:34:49 +0000]
Input: synaptics - fix regression with "image sensor" trackpads

commit 7968a5dd492ccc38345013e534ad4c8d6eb60ed1
Input: synaptics - add support for Relative mode

Accidentally broke support for advanced gestures (multitouch)
on some trackpads such as the one in my ThinkPad X220 by
incorretly changing the condition for enabling them. This
restores it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: stable@kernel.org [3.3]
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

7 years agoARM: tegra: Pinmux conflict correction
Ashwini Ghuge [Fri, 11 May 2012 11:48:05 +0000]
ARM: tegra: Pinmux conflict correction

Corrected Mux option for LPW2

Bug 920686

Change-Id: I1e93a28c070ca7689c305d84ed8664c3f170bfcb
Signed-off-by: Ashwini Ghuge <aghuge@nvidia.com>
Reviewed-on: http://git-master/r/101959
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User

7 years agoARM: tegra: Enable TXFILLTUNING for all USB interfaces
Venu Byravarasu [Thu, 3 May 2012 10:21:00 +0000]
ARM: tegra: Enable TXFILLTUNING for all USB interfaces

As per recommendation from ASIC team, Setting TXFILLTUNNING to 0x10
for all USB interfaces.

bug 974507

Change-Id: Id2ee26927e56bf500a0fed2a414b74ffab157403
Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Reviewed-on: http://git-master/r/99629
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agoarm: enterprise: power: Fix sdmmc3 regulator entry
Pavan Kunapuli [Fri, 11 May 2012 11:23:48 +0000]
arm: enterprise: power: Fix sdmmc3 regulator entry

Register vdio_sdmmc3 supply with a valid device id
instead of NULL.

Bug 982788

Change-Id: Ie19d8a48b381190e8f966928a785af0f51794cb1
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/101971
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

7 years agoarm: tegra: configs: Add GPIO regulator support
Pavan Kunapuli [Fri, 11 May 2012 11:21:59 +0000]
arm: tegra: configs: Add GPIO regulator support

Enable CONFIG_GPIO_REGULATOR for Tegra3 platforms.

Bug 982788

Change-Id: I17587447013fdde6dc58b4fbf23f0ca37faa3dc5
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/101968
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

7 years agoRevert "serial: tegra: Use tegra_dma_cancel() to abort request"
Pradeep Kumar [Fri, 11 May 2012 06:24:05 +0000]
Revert "serial: tegra: Use tegra_dma_cancel() to abort request"

BT Filetransfer have some issue.
This reverts commit e8c243d5d09d1a552b66df7a8a0a0313047ebbac.

Bug 982630

Change-Id: I6e76d44e076874569518fa881e427918d3e546f2
Signed-off-by: Pradeep Kumar <pgoudagunta@nvidia.com>
Reviewed-on: http://git-master/r/101914
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit

7 years agovideo: tegra: host: move chip_support out of nvhost_master
Mayuresh Kulkarni [Fri, 13 Apr 2012 14:12:37 +0000]
video: tegra: host: move chip_support out of nvhost_master

- currently, nvhost_master holds the reference to struct
- the struct chip_support hides the chip specific implementation
for channel submit, cdma, push buffer operations etc. so
it exposed all the internal structures through nvhost_master
- move chip_support to be a part of nvhost_bus since it only has
function pointers to chip specific api implementations
- nvhost_master is host1x device specific private data so
ideally it should not hold reference to chip specifics

Bug 871237

Change-Id: I4f3f48ee5fc47a90288d110ea8eef905150275a0
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-on: http://git-master/r/94421
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
GVS: Gerrit_Virtual_Submit

7 years agommc: tegra: Fix SDR50 mode clock rate setting
Pavan Kunapuli [Wed, 9 May 2012 12:44:51 +0000]
mmc: tegra: Fix SDR50 mode clock rate setting

In SDR50 mode, set the controller clock to double
the requested clock to ensure that the core voltage
is maintained at a min of 1.2V.

Bug 965298

Change-Id: I557a07de97efd6b44f812a11da657e03d3ddefd0
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/101522
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agovideo: tegra: dc: Add display feature table support.
Kevin Huang [Mon, 7 May 2012 08:47:52 +0000]
video: tegra: dc: Add display feature table support.

Add display feature table so that user and kernel could set and
update window attributes properly.

Bug 962353

Change-Id: I08490a225892660126f3eefe4d5b7a4bb61d9bf7
Signed-off-by: Kevin Huang <kevinh@nvidia.com>
Reviewed-on: http://git-master/r/101078
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agommc: core: Abort failed transfer before retries
Pavan Kunapuli [Mon, 14 May 2012 10:31:16 +0000]
mmc: core: Abort failed transfer before retries

Retries should be done only after abort command
is issued for the current failed transfer. The block
layer already has an implementation for retrying.
No need for the extra retries.

Bug 961761
Bug 922239

Change-Id: I07f60e85e093b725007727833739013f8fd66d43
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/100563
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>



7 years agoRevert "asoc: tegra: Add TDM mode support"
Nikesh Oswal [Thu, 10 May 2012 06:53:45 +0000]
Revert "asoc: tegra: Add TDM mode support"

This reverts commit dfa00e184b5fe0d4d48fa62a15fc956de9b6b65c.
This is causing a regresssion.

Bug: 977319

Change-Id: I4fe6daf88b2988978f089194f2931691eeb0eb09
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: http://git-master/r/101687
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Vijaya Bhaskar <vbhaskar@nvidia.com>
Reviewed-by: Scott Peterson <speterson@nvidia.com>

7 years agoarm: tegra: enterprise: New EMC table for A04 enterprise
Karthik Ramakrishnan [Fri, 27 Apr 2012 00:17:16 +0000]
arm: tegra: enterprise: New EMC table for A04 enterprise

New EMC memory table for A04 Enterprise board
Bug 969716

Signed-off-by: Karthik Ramakrishnan <karthikr@nvidia.com>
Change-Id: I6936859ddf8d01b71025bfd21b690394dc3207bc
Reviewed-on: http://git-master/r/101626
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Thomas Cherry <tcherry@nvidia.com>
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>

7 years agovideo: tegra: host: Add syncpt trace events
Terje Bergstrom [Mon, 14 May 2012 10:28:49 +0000]
video: tegra: host: Add syncpt trace events

Add trace events for updating the syncpt value from hardware, and
wait check.

Change-Id: If17de153ae36c0665fe0af2f405dfe42f7fcd656
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/101524
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Reviewed-by: Ken Adams <kadams@nvidia.com>



7 years agovideo: tegra: host: Add context switch to trace dump
Terje Bergstrom [Wed, 9 May 2012 11:55:28 +0000]
video: tegra: host: Add context switch to trace dump

Add context switch to the ftrace dump.

Change-Id: I5df032273982b919fb94263cff38d8b8b6b6be45
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/101523
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>

7 years agoARM: tegra: kai: change NCT72 conversion rate
Daniel Fu [Tue, 8 May 2012 10:22:00 +0000]
ARM: tegra: kai: change NCT72 conversion rate

Bug 961829

NCT72 thermal sensor consumes ~3mW at 16Hz conversion rate.
At 32Hz, the power consumption ~1.5mW.
Change conversion rate to 32Hz to reduce power consumption.
LP0 power consumption will not reduce, because the sensor will
enter standby mode.

Signed-off-by: Daniel Fu <danifu@nvidia.com>
Change-Id: If584c57b4d6e0b3068d9a1210a977ef5cd347984
Reviewed-on: http://git-master/r/101217
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>

7 years agoArm: Tegra: Nor: use timing1 proper value
Mohit Kataria [Mon, 9 Apr 2012 06:19:27 +0000]
Arm: Tegra: Nor: use timing1 proper value

timing1_read was initialized with timing0 from nor platform data
changed the same to use timing1 from platform data instead of

Bug 934187

Change-Id: I04c41323de25fb2bb53dac91301cee9c0820707a
Signed-off-by: Mohit Kataria <mkataria@nvidia.com>
Reviewed-on: http://git-master/r/95293
Reviewed-on: http://git-master/r/100904
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Amlan Kundu <akundu@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

7 years agoArm: tegra: p1852: Changed sclk to run at max.
Mohit Kataria [Mon, 7 May 2012 06:58:34 +0000]
Arm: tegra: p1852: Changed sclk to run at max.

Sclk frequecy changes depending on the clocks derived from sclk.
Changed it to run at max POR frequecy.

Bug 971061

Change-Id: I357e1acd8d049bf233ff79b942c911db123865f6
Signed-off-by: Mohit Kataria <mkataria@nvidia.com>
Reviewed-on: http://git-master/r/100859
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

7 years agoarm: tegra: Correct tap delay for all T30 sdhci controllers
naveenk [Wed, 25 Apr 2012 13:49:18 +0000]
arm: tegra: Correct tap delay for all T30 sdhci controllers

Tap delay value of 0x0F is recommended by HW team

Bug 911075

Change-Id: I9b73e7203c0dcb1971073b1d7251d11d71eddff3
Reviewed-on: http://git-master/r/98796
(cherry picked from commit 637b073d6ff7d7d71c2e0e632b222ecc6850be23)
Reviewed-on: http://git-master/r/98763
Tested-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>

7 years agopower: bq27x00: start/stop delayed work upon suspend/resume
Pritesh Raithatha [Wed, 11 Apr 2012 10:41:10 +0000]
power: bq27x00: start/stop delayed work upon suspend/resume

Cancel delayed work upon suspend and schedule it on resume

Bug 917914

Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
Reviewed-on: http://git-master/r/95833
(cherry picked from commit a191d13e9dcdae715c9e03e1980857d00c082dc5)

Change-Id: Ib8292daed3b4115657b1a66e1382ed7c1c448071
Reviewed-on: http://git-master/r/97080
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Pritesh Raithatha <praithatha@nvidia.com>
Tested-by: Sang-Hun Lee <sanlee@nvidia.com>
GVS: Gerrit_Virtual_Submit <kchilds@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

7 years agoRevert "ARM: tegra: clock: Don't fail clk_enable when max_rate has been lowered"
Alex Frid [Sat, 5 May 2012 01:07:08 +0000]
Revert "ARM: tegra: clock: Don't fail clk_enable when max_rate has been lowered"

This reverts commit 8d351aa5478de533114e614f2607bc85ed23df91.

The above commit introduced recursive call of clk enable/set rate APIs
that may hang the system.

Change-Id: I04eff9e1c3ddee82f6d2e17690122cc41fad203f
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/100710
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agoARM: tegra: power: Apply down delay to balancing CPUs
Alex Frid [Sun, 29 Apr 2012 06:25:39 +0000]
ARM: tegra: power: Apply down delay to balancing CPUs

On Tegra3 secondary G-CPU may be turned off by auto-hotplug governor
in two cases: when overall CPU load is low enough to justify transition
to LP CPU, or when CPU cores usage by the scheduler is unbalanced
(skewed). In the former case down delay (currently 2sec) was inserted
before the core is turned Off. In the latter case the up delay (100ms)
was used, i.e., the same delay applied to balancing cores regardless
of the On/Off direction.

This commit would apply down delay when turning core Off in both cases
above, and keep using up delay only for turning core On.

Change-Id: Id545f8d48cbf380e24824a5adfe045ff68c1f39c
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/99708
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

7 years agoRevert "asoc:codecs: tiaic326x: remove minidsp support"
Simone Willett [Tue, 8 May 2012 23:31:49 +0000]
Revert "asoc:codecs: tiaic326x: remove minidsp support"

This reverts commit 774fa71fc9834fbdcb297048d9e9a4bc7b944b48

Change-Id: Ib187dff51d3b2fd2b2ac0c98a53abe07c99148aa
Reviewed-on: http://git-master/r/101359
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agocpufreq: interface for setting governor for a cpu
Puneet Saxena [Thu, 19 Apr 2012 07:02:29 +0000]
cpufreq: interface for setting governor for a cpu

This implementation sets governor for a cpu using existing
cpufreq interfaces.

bug 871958

Change-Id: Ic4e7e2a2b0babaf1829b559b5db211666d449b86
Signed-off-by: Puneet Saxena <puneets@nvidia.com>
Reviewed-on: http://git-master/r/97939
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

7 years agoasoc: codecs: rt5640: resolve compilation time warnings
Sanjay Singh Rawat [Mon, 26 Mar 2012 11:03:25 +0000]
asoc: codecs: rt5640: resolve compilation time warnings

bug 949219

Change-Id: I4409eaff4042967133cc948452ca8e52d15b2d18
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/92279
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

7 years agoinput: touchscreen: resolve compilation time warnings
Sanjay Singh Rawat [Mon, 26 Mar 2012 10:53:07 +0000]
input: touchscreen: resolve compilation time warnings

bug 949219

Change-Id: I408fb008a70c7ea546384e68ac50c1f0604fc39a
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/92276
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

7 years agoasoc: tegra: pcm: If there is no dma information exit from trigger
Nikesh Oswal [Tue, 8 May 2012 11:17:40 +0000]
asoc: tegra: pcm: If there is no dma information exit from trigger

If there is no dma information exit from trigger, this is required
for the dummy voice call playback and capture streams

Change-Id: I5276e7ebb72c17268a9785204fea9f395b2e5d3a
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: http://git-master/r/101235
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Scott Peterson <speterson@nvidia.com>

7 years agoasoc:codecs: aic326x: change alsa ctrls for headphone driver
Nikesh Oswal [Tue, 8 May 2012 11:16:06 +0000]
asoc:codecs: aic326x: change alsa ctrls for headphone driver

Use non-inverting type alsa control for headphones as same have
been used for spk and recv

Change-Id: I39d2613071063782dff8151b07ef46ca8e16db5c
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: http://git-master/r/101234
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Scott Peterson <speterson@nvidia.com>

7 years agoasoc:codecs: tiaic326x: remove minidsp support
Nikesh Oswal [Tue, 8 May 2012 11:14:59 +0000]
asoc:codecs: tiaic326x: remove minidsp support

disable the flags for turning off the mini dsp support

Change-Id: Ieb0b18fc3cc1143cbd0a315c85688d2f1ae4efe1
Reviewed-on: http://git-master/r/101233
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-by: Scott Peterson <speterson@nvidia.com>

7 years agoArm: tegra: p1852: Avp clock frequency to 334
Mohit Kataria [Mon, 7 May 2012 08:02:00 +0000]
Arm: tegra: p1852: Avp clock frequency to 334

changed the max avp clock from 378MHz to 334MHz as per new POR changes

Bug 883565

Change-Id: I4e9dda0288f3f85c8b1705971bb8f389127cff28
Reviewed-on: http://git-master/r/97279
Signed-off-by: Mohit Kataria <mkataria@nvidia.com>
Reviewed-on: http://git-master/r/100870
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

7 years agovideo: tegra: host: Iterate devices without nb_channels
Terje Bergstrom [Thu, 26 Apr 2012 09:49:28 +0000]
video: tegra: host: Iterate devices without nb_channels

Do not use nb_channels to find out the number of client devices.
Instead, allocate devno regions when they are needed and find a
device by module id by iterating over nvhost bus.

Bug 871237

Change-Id: I53fd0d8e5874422ef9877430c0a170db2660118a
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/99067
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>

7 years agosecurity: tf: resolve compilation time warnings
Sanjay Singh Rawat [Mon, 26 Mar 2012 10:15:23 +0000]
security: tf: resolve compilation time warnings

bug 949219

Change-Id: Ia7d23d3aab631e6a78c53518bc1f608d46e8f341
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/92260
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

7 years agovideo: tegra: fb: Call mode filter from check var
Shashank Sharma [Mon, 30 Apr 2012 13:53:57 +0000]
video: tegra: fb: Call mode filter from check var

Call dc_hdmi_mode_filter to validate a videomode. X prepares its
own modedb of supported HDMI modes, but all of them may not be
supported from the HDMI driver. This call makes sure a X-mode is
listed only if supported in DC driver.

Bug: 959676

Change-Id: I8aff65f4e08fcc4471af096150e3972b5913a95a
Signed-off-by: Shashank Sharma <shashanks@nvidia.com>
Reviewed-on: http://git-master/r/99650
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

7 years agoinput: touch: enterprise: Increase i2c to 400Khz.
David Jung [Wed, 25 Apr 2012 00:35:27 +0000]
input: touch: enterprise:  Increase i2c to 400Khz.

Modified board file to increase the speed of I2C connection
for Atmel touch driver from 100KHz to 400KHz

Bug 962710

Change-Id: Ic692a4b610c5b952c1bdcfbb26e19714b1952a5f
Signed-off-by: David Jung <djung@nvidia.com>
Reviewed-on: http://git-master/r/98585
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Ali Ekici <aekici@nvidia.com>
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
GVS: Gerrit_Virtual_Submit

7 years agovideo: tegra: dc: Set default videomode
Shashank Sharma [Mon, 30 Apr 2012 12:06:24 +0000]
video: tegra: dc: Set default videomode

Set default videomode during the dc probe. This patch enables
HDMI during the probe only and fixes following issues:
1. Until Xinit there was no display on HDMI.
2. Framebuffer console on HDMI needs it to be enabled well before
To avoide un-necessary powering on HDMI,Check HPD and enable HDMI
only if it's present.

Bug: 930136
Bug: 977705
Change-Id: Ifb71328e5df0ccbb5751669db71fd24719fe3738
Signed-off-by: Shashank Sharma <shashanks@nvidia.com>
Reviewed-on: http://git-master/r/100656
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

7 years agomfd: max77663: Add gpio irq masking in irq_sync_unlock
Jinyoung Park [Mon, 23 Apr 2012 09:49:33 +0000]
mfd: max77663: Add gpio irq masking in irq_sync_unlock

Add gpio irq masking in irq_sync_unlock.

Change-Id: I008caf58ae82d9ed888f4720f54675e9106f027d
Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
Reviewed-on: http://git-master/r/98664
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agommc: host: loglevel of a message to KERN_INFO
Ramalingam C [Fri, 4 May 2012 06:27:55 +0000]
mmc: host: loglevel of a message to KERN_INFO

Some boards don't have a vddio regulator for few rails hence not getting
the regulator handle. And we assume that those rails are always powered.
Hence rephrased the error message and lowered the loglevel to KERN_INFO.

Bug 976177

Change-Id: I92b82f75934eaf7137584a625065e3389b6ae1b7
Signed-off-by: Ramalingam C <ramalingamc@nvidia.com>
Reviewed-on: http://git-master/r/100490
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agoarm: tegra: Cardhu board file, 400K I2C touch drvr
Ali Ekici [Thu, 19 Apr 2012 22:39:17 +0000]
arm: tegra: Cardhu board file, 400K I2C touch drvr

Modified board file to increase the speed of I2C connection
for Atmel touch driver from 100KHz to 400KHz

Bug 962710
Bug 950422

Change-Id: Ib0f08af35d84cfc1f33cc3771d2aa422f79d98d0
Signed-off-by: Ali Ekici <aekici@nvidia.com>
Reviewed-on: http://git-master/r/97744
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Robert Collins <rcollins@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: David Jung <djung@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>

7 years agoregulator: max77663: fix fps update condition
Jinyoung Park [Wed, 28 Mar 2012 03:32:41 +0000]
regulator: max77663: fix fps update condition

Fix fps update condition in max77663_regulator_set_fps().

Bug 930883

Change-Id: I2f57603320a91b2727932586fc3c66d9de347d64
signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
Reviewed-on: http://git-master/r/92707
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agomfd: max77663: Unmask EN0 rising interrupt
Jinyoung Park [Wed, 25 Apr 2012 06:21:42 +0000]
mfd: max77663: Unmask EN0 rising interrupt

Unmasked EN0 rising interrupt to generate fast PMU_INT by

Bug 930883

Change-Id: I9a3d8c4f564e83deea86fbd3d05f14933a0b0f65
Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
Reviewed-on: http://git-master/r/98665
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

7 years agobluetooth: tibluesleep: clean up tibluesleep driver
Nagarjuna Kristam [Tue, 17 Apr 2012 06:44:35 +0000]
bluetooth: tibluesleep: clean up tibluesleep driver

Remove UART clock enable code, as UART clock gating is not
needed in tibluesleep driver.
Remove un-wanted tasklets, workqueues and wakelocks
Remove extra lines and spaces

Change-Id: I422e09ece2c736c4a98911a5bd84029ad654cb08
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: http://git-master/r/96944
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>