]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:31:03 +0000 (10:31 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

11 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:29:22 +0000 (10:29 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

11 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Fri, 14 Sep 2012 00:27:22 +0000 (10:27 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'

Conflicts:
arch/arm/mach-imx/mach-imx27_visstrim_m10.c

11 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:25:47 +0000 (10:25 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

11 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Fri, 14 Sep 2012 00:24:20 +0000 (10:24 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

11 years agoMerge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:22:54 +0000 (10:22 +1000)]
Merge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'

11 years agoMerge branch 'quilt/i2c'
Stephen Rothwell [Fri, 14 Sep 2012 00:21:27 +0000 (10:21 +1000)]
Merge branch 'quilt/i2c'

11 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:19:51 +0000 (10:19 +1000)]
Merge remote-tracking branch 'hid/for-next'

Conflicts:
drivers/hid/usbhid/hid-quirks.c

11 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Fri, 14 Sep 2012 00:16:31 +0000 (10:16 +1000)]
Merge remote-tracking branch 'pci/next'

11 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:12:09 +0000 (10:12 +1000)]
Merge remote-tracking branch 'vfs/for-next'

11 years agoMerge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:10:31 +0000 (10:10 +1000)]
Merge remote-tracking branch 'xfs/for-next'

11 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:09:00 +0000 (10:09 +1000)]
Merge remote-tracking branch 'ubifs/linux-next'

11 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:07:33 +0000 (10:07 +1000)]
Merge remote-tracking branch 'v9fs/for-next'

11 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:05:57 +0000 (10:05 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

11 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:04:23 +0000 (10:04 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

11 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:02:55 +0000 (10:02 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

11 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Fri, 14 Sep 2012 00:01:29 +0000 (10:01 +1000)]
Merge remote-tracking branch 'logfs/master'

11 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Fri, 14 Sep 2012 00:00:04 +0000 (10:00 +1000)]
Merge remote-tracking branch 'gfs2/master'

11 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:58:28 +0000 (09:58 +1000)]
Merge remote-tracking branch 'fuse/for-next'

11 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Thu, 13 Sep 2012 23:56:57 +0000 (09:56 +1000)]
Merge remote-tracking branch 'ext4/dev'

11 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Thu, 13 Sep 2012 23:55:25 +0000 (09:55 +1000)]
Merge remote-tracking branch 'ext3/for_next'

11 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:53:53 +0000 (09:53 +1000)]
Merge remote-tracking branch 'cifs/for-next'

11 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Thu, 13 Sep 2012 23:52:24 +0000 (09:52 +1000)]
Merge remote-tracking branch 'xtensa/for_next'

11 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Thu, 13 Sep 2012 23:50:55 +0000 (09:50 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

11 years agoMerge remote-tracking branch 'sparc-next/master'
Stephen Rothwell [Thu, 13 Sep 2012 23:49:27 +0000 (09:49 +1000)]
Merge remote-tracking branch 'sparc-next/master'

11 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Thu, 13 Sep 2012 23:47:58 +0000 (09:47 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

11 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Thu, 13 Sep 2012 23:42:51 +0000 (09:42 +1000)]
Merge remote-tracking branch 's390/features'

11 years agoMerge remote-tracking branch 'galak/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:40:23 +0000 (09:40 +1000)]
Merge remote-tracking branch 'galak/next'

11 years agoMerge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:38:58 +0000 (09:38 +1000)]
Merge remote-tracking branch 'mpc5xxx/next'

11 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:36:25 +0000 (09:36 +1000)]
Merge remote-tracking branch 'powerpc/next'

11 years agoMerge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Thu, 13 Sep 2012 23:34:58 +0000 (09:34 +1000)]
Merge remote-tracking branch 'openrisc/for-upstream'

11 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:33:31 +0000 (09:33 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

11 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:32:07 +0000 (09:32 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

11 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:30:41 +0000 (09:30 +1000)]
Merge remote-tracking branch 'm68k/for-next'

11 years agoMerge remote-tracking branch 'ia64/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:29:13 +0000 (09:29 +1000)]
Merge remote-tracking branch 'ia64/next'

11 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:27:42 +0000 (09:27 +1000)]
Merge remote-tracking branch 'cris/for-next'

11 years agoMerge remote-tracking branch 'arm64/upstream'
Stephen Rothwell [Thu, 13 Sep 2012 23:22:35 +0000 (09:22 +1000)]
Merge remote-tracking branch 'arm64/upstream'

11 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Thu, 13 Sep 2012 23:21:05 +0000 (09:21 +1000)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

Conflicts:
arch/arm/kernel/hw_breakpoint.c

11 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:19:35 +0000 (09:19 +1000)]
Merge remote-tracking branch 'arm/for-next'

11 years agoMerge remote-tracking branch 'spi-current/spi/merge'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:37 +0000 (09:12 +1000)]
Merge remote-tracking branch 'spi-current/spi/merge'

11 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:36 +0000 (09:12 +1000)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

11 years agoMerge remote-tracking branch 'staging.current/staging-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:25 +0000 (09:12 +1000)]
Merge remote-tracking branch 'staging.current/staging-linus'

11 years agoMerge remote-tracking branch 'usb.current/usb-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:24 +0000 (09:12 +1000)]
Merge remote-tracking branch 'usb.current/usb-linus'

11 years agoMerge remote-tracking branch 'tty.current/tty-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:23 +0000 (09:12 +1000)]
Merge remote-tracking branch 'tty.current/tty-linus'

11 years agoMerge remote-tracking branch 'driver-core.current/driver-core-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:22 +0000 (09:12 +1000)]
Merge remote-tracking branch 'driver-core.current/driver-core-linus'

11 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:21 +0000 (09:12 +1000)]
Merge remote-tracking branch 'wireless/master'

11 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:19 +0000 (09:12 +1000)]
Merge remote-tracking branch 'sound-current/for-linus'

11 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:18 +0000 (09:12 +1000)]
Merge remote-tracking branch 'net/master'

11 years agoMerge remote-tracking branch 'm68k-current/for-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:16 +0000 (09:12 +1000)]
Merge remote-tracking branch 'm68k-current/for-linus'

11 years agohwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug
Silas Boyd-Wickizer [Thu, 13 Sep 2012 23:03:54 +0000 (09:03 +1000)]
hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug

coretemp_init loops with for_each_online_cpu, adding platform_devices
and sysfs interfaces, then calls register_hotcpu_notifier.  There is a
race if a CPU is offlined or onlined after the loop, but before
register_hotcpu_notifier.  The race might result in the absence of a
platform_device+sysfs interface for an online CPU, or the presence of
a platform_device+sysfs interface for an offline CPU.  A similar race
occurs during coretemp_exit, after the module calls
unregister_hotcpu_notifier, but before it unregisters all devices, a
CPU might offline and a device for an offline CPU will exist for a
short while.

This fix surrounds for_each_online_cpu and register_hotcpu_notifier
with get_online_cpus+put_online_cpus; and surrounds
unregister_hotcpu_notifier and device unregistering with
get_online_cpus+put_online_cpus.

Build tested.

Signed-off-by: Silas Boyd-Wickizer <sbw@mit.edu>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agohwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug
Silas Boyd-Wickizer [Thu, 13 Sep 2012 23:03:53 +0000 (09:03 +1000)]
hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug

via_cputemp_init loops with for_each_online_cpu, adding
platform_devices, then calls register_hotcpu_notifier.  If a CPU is
offlined between the loop and register_hotcpu_notifier, then later
onlined, via_cputemp_device_add will attempt to add platform devices
with the same ID.  A similar race occurs during via_cputemp_exit,
after the module calls unregister_hotcpu_notifier, a CPU might offline
and a device will exist for a CPU that is offline.

This fix surrounds for_each_online_cpu and register_hotcpu_notifier
with get_online_cpus+put_online_cpus; and surrounds
unregister_hotcpu_notifier and device unregistering with
get_online_cpus+put_online_cpus.

Build tested.

Signed-off-by: Silas Boyd-Wickizer <sbw@mit.edu>
Acked-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c: Make I2C available on UML
Peter Huewe [Thu, 13 Sep 2012 23:03:52 +0000 (09:03 +1000)]
i2c: Make I2C available on UML

Remove the global dependency of the I2C subsystem on HAS_IOMEM and
move the dependency to the i2c/busses submenu, with an exception for
i2c-stub.

The generic I2C part does not need to have HAS_IOMEM set and thus now
becomes available in UML, so the I2C subsystem can now be used, e.g.
by the i2c-stub driver, for development of I2C device drivers.

[JD: Some adjustments.]

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c: Convert struct i2c_msg initialization to C99 format
Shubhrajyoti D [Thu, 13 Sep 2012 23:03:52 +0000 (09:03 +1000)]
i2c: Convert struct i2c_msg initialization to C99 format

Convert the struct i2c_msg initialization to C99 format. This makes
maintaining and editing the code simpler. Also helps once other fields
like transferred are added in future.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-smbus: Convert kzalloc to devm_kzalloc
Julia Lawall [Thu, 13 Sep 2012 23:03:51 +0000 (09:03 +1000)]
i2c-smbus: Convert kzalloc to devm_kzalloc

Converting kzalloc to devm_kzalloc simplifies the code and ensures that the
result, alert, is freed after the irq allocated by the subsequent
devm_request_irq.  This in turn ensures that when an interrupt can be
triggered, the alert structure is still available.

The problem of a free after a devm_request_irq was found using the
following semantic match (http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression e1,e2,x,a,b,c,d;
identifier free;
position p1,p2;
@@

  devm_request_irq@p1(e1,e2,...,x)
  ... when any
      when != e2 = a
      when != x = b
  if (...) {
    ... when != e2 = c
        when != x = d
    free@p2(...,x,...);
    ...
    return ...;
  }
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-i801: Support SMBus multiplexing on Asus Z8 series
Jean Delvare [Thu, 13 Sep 2012 23:03:51 +0000 (09:03 +1000)]
i2c-i801: Support SMBus multiplexing on Asus Z8 series

Add support for SMBus multiplexing on Asus Z8 motherboard series. On
these boards, the memory slots are behind a GPIO-controlled I2C
multiplexer. Models with 6 or 12 memory slots have 2 segments behind
the multiplexer, while models with 18 memory slots have 3 such
segments.

On these boards, only the memory slots are behind the multiplexer,
so it is possible to keep the autodetection mechanism.

The code is generic enough so it could work on other boards as long as
the multiplexer is controlled by GPIO pins. For other forms of
multiplexing (for example using an I2C device) additional code will be
needed.

Thanks to Asus for providing a board to develop and test this feature,
as well as all the technical information required.

At the moment, the GPIO driver must be loaded before the i2c-i801
driver, but I hope to solve this soon, using deferred probing on
the i2c-mux-gpio side.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-mux: Add support for device auto-detection
Jean Delvare [Thu, 13 Sep 2012 23:03:51 +0000 (09:03 +1000)]
i2c-mux: Add support for device auto-detection

Let I2C bus segments behind multiplexers have a class. This allows for
device auto-detection on these segments. As long as parent segments
don't share the same class, it should be fine.

I implemented support in drivers i2c-mux-gpio and i2c-mux-pca954x. I
left i2c-mux-pca9541 and i2c-mux-pinctrl alone for the moment as I
don't know if this feature makes sense for the use cases of these
drivers.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Peter Korsgaard <peter.korsgaard@barco.com>
Cc: David Daney <david.daney@cavium.com>
Cc: Michael Lawnick <ml.lawnick@gmx.de>
Cc: Rodolfo Giometti <giometti@linux.it>
11 years agoMerge branch 'next/p3/trace' into mips-for-linux-next
Ralf Baechle [Thu, 13 Sep 2012 22:23:33 +0000 (00:23 +0200)]
Merge branch 'next/p3/trace' into mips-for-linux-next

11 years agoMerge branch 'next/p1/for-linus' into mips-for-linux-next
Ralf Baechle [Thu, 13 Sep 2012 22:23:28 +0000 (00:23 +0200)]
Merge branch 'next/p1/for-linus' into mips-for-linux-next

11 years agoMerge branch 'rixi-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into...
Ralf Baechle [Thu, 13 Sep 2012 22:23:16 +0000 (00:23 +0200)]
Merge branch 'rixi-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into mips-for-linux-next

11 years agoMIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'.
Steven J. Hill [Thu, 13 Sep 2012 21:51:46 +0000 (16:51 -0500)]
MIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'.

Remove usage of the 'kernel_uses_smartmips_rixi' macro from all files
and use new 'cpu_has_rixi' instead.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
Acked-by: David Daney <david.daney@cavium.com>
11 years agoMIPS: Add base architecture support for RI and XI.
Steven J. Hill [Thu, 13 Sep 2012 21:47:58 +0000 (16:47 -0500)]
MIPS: Add base architecture support for RI and XI.

Originally both Read Inhibit (RI) and Execute Inhibit (XI) were
supported by the TLB only for a SmartMIPS core. The MIPSr3(TM)
Architecture now defines an optional feature to implement these
TLB bits separately. Support for one or both features can be
checked by looking at the Config3.RXI bit.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
Acked-by: David Daney <david.daney@cavium.com>
11 years agopktgen: fix crash with vlan and packet size less than 46
Nishank Trivedi [Wed, 12 Sep 2012 13:32:49 +0000 (13:32 +0000)]
pktgen: fix crash with vlan and packet size less than 46

If vlan option is being specified in the pktgen and packet size
being requested is less than 46 bytes, despite being illogical
request, pktgen should not crash the kernel.

BUG: unable to handle kernel paging request at ffff88021fb82000
Process kpktgend_0 (pid: 1184, threadinfo ffff880215f1a000, task ffff880218544530)
Call Trace:
[<ffffffffa0637cd2>] ? pktgen_finalize_skb+0x222/0x300 [pktgen]
[<ffffffff814f0084>] ? build_skb+0x34/0x1c0
[<ffffffffa0639b11>] pktgen_thread_worker+0x5d1/0x1790 [pktgen]
[<ffffffffa03ffb10>] ? igb_xmit_frame_ring+0xa30/0xa30 [igb]
[<ffffffff8107ba20>] ? wake_up_bit+0x40/0x40
[<ffffffff8107ba20>] ? wake_up_bit+0x40/0x40
[<ffffffffa0639540>] ? spin+0x240/0x240 [pktgen]
[<ffffffff8107b4e3>] kthread+0x93/0xa0
[<ffffffff81615de4>] kernel_thread_helper+0x4/0x10
[<ffffffff8107b450>] ? flush_kthread_worker+0x80/0x80
[<ffffffff81615de0>] ? gs_change+0x13/0x13

The root cause of why pktgen is not able to handle this case is due
to comparison of signed (datalen) and unsigned data (sizeof), which
eventually passes a huge number to skb_put().

Signed-off-by: Nishank Trivedi <nistrive@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agoMIPS: ptrace: Switch syscall reporting to tracehook_report_syscall_entry().
Ralf Baechle [Fri, 31 Aug 2012 12:42:18 +0000 (14:42 +0200)]
MIPS: ptrace: Switch syscall reporting to tracehook_report_syscall_entry().

Set ret just so __must_check is satisfied but don't use the variable for
anything yet.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Move audit_arch() helper function to __syscall_get_arch().
Ralf Baechle [Fri, 31 Aug 2012 12:42:15 +0000 (14:42 +0200)]
MIPS: Move audit_arch() helper function to __syscall_get_arch().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Enable HAVE_ARCH_TRACEHOOK.
Ralf Baechle [Fri, 17 Aug 2012 08:22:04 +0000 (10:22 +0200)]
MIPS: Enable HAVE_ARCH_TRACEHOOK.

This enables /proc/<pid>/syscall and the ptrace PTRACE_GETREGSET and
PTRACE_SETREGSET operations.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: ptrace.h: Add commit to #endif of long ifdef block.
Ralf Baechle [Thu, 2 Aug 2012 13:41:09 +0000 (15:41 +0200)]
MIPS: ptrace.h: Add commit to #endif of long ifdef block.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Switch ELF core dumper to use regsets.
Ralf Baechle [Thu, 2 Aug 2012 13:18:32 +0000 (15:18 +0200)]
MIPS: Switch ELF core dumper to use regsets.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Implement task_user_regset_view.
Ralf Baechle [Thu, 2 Aug 2012 12:44:11 +0000 (14:44 +0200)]
MIPS: Implement task_user_regset_view.

There are no users yet of task_user_regset_view. yet; users will be
implemented rsp activated in subsequent commits.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: ptrace: Use tracehook helpers.
Ralf Baechle [Tue, 17 Jul 2012 17:43:58 +0000 (19:43 +0200)]
MIPS: ptrace: Use tracehook helpers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: O32 / 32-bit: Always copy 4 stack arguments.
Ralf Baechle [Sat, 14 Jul 2012 07:22:05 +0000 (09:22 +0200)]
MIPS: O32 / 32-bit: Always copy 4 stack arguments.

This gets us rid of the hard to maintain table of the number of syscall
arguments and paves the way for further restructuring of the syscall
code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Provide arch_syscall_addr.
Ralf Baechle [Fri, 13 Jul 2012 21:38:17 +0000 (23:38 +0200)]
MIPS: Provide arch_syscall_addr.

The generic version is wrong for MIPS.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: N32: Delete unused re-definition of SIGILL.
Ralf Baechle [Fri, 13 Jul 2012 19:16:37 +0000 (21:16 +0200)]
MIPS: N32: Delete unused re-definition of SIGILL.

Originally and unnecessarilly added in
dd8c35f40cda31dc8c027a62b73301a310b8b529 (lmo) [N32 ...]

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: N32: Kill definition PT_TRACESYS for good.
Ralf Baechle [Fri, 13 Jul 2012 19:01:12 +0000 (21:01 +0200)]
MIPS: N32: Kill definition PT_TRACESYS for good.

Originally killed in 75ddbae069832b2ef15fb9678347ce7f5fbbbf95 (lmo) [Merge
with Linux 2.5.3.] then unnecessarily added back in
dd8c35f40cda31dc8c027a62b73301a310b8b529 (lmo) [N32 ...]  This predates
Linus' git history ...

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: 32-bit: Remove unused gas macros fifty and mille.
Ralf Baechle [Fri, 13 Jul 2012 11:36:40 +0000 (13:36 +0200)]
MIPS: 32-bit: Remove unused gas macros fifty and mille.

These are a leftover of the IRIX compat code which was removed in
2957c9e61ee9c37e7ebf2c8acab03e073fe942fd (kernel.org) rsp.
b934da913f236bca00c41d9e386e980586000461 (lmo) [[MIPS] IRIX: Goodbye
and thanks for all the fish].

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: Enable entries for SIGSYS in struct siginfo.
Ralf Baechle [Thu, 12 Jul 2012 15:13:15 +0000 (17:13 +0200)]
MIPS: Enable entries for SIGSYS in struct siginfo.

This is necessary because MIPS doesn't use HAVE_ARCH_SIGINFO_T for
historical reasons.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: 64-bit: Mark native syscall table as data object.
Ralf Baechle [Thu, 12 Jul 2012 12:06:46 +0000 (14:06 +0200)]
MIPS: 64-bit: Mark native syscall table as data object.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: compat: Mark N32 syscall table as data object.
Ralf Baechle [Thu, 12 Jul 2012 12:02:41 +0000 (14:02 +0200)]
MIPS: compat: Mark N32 syscall table as data object.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMIPS: compat: Export O32 syscall table and rename to avoid duplicate symbol.
Ralf Baechle [Thu, 12 Jul 2012 12:01:31 +0000 (14:01 +0200)]
MIPS: compat: Export O32 syscall table and rename to avoid duplicate symbol.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
11 years agoMerge branch 'ralf-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into...
Ralf Baechle [Thu, 13 Sep 2012 20:46:47 +0000 (22:46 +0200)]
Merge branch 'ralf-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into mips-for-linux-next

11 years agoMIPS: Optimise TLB handlers for MIPS32/64 R2 cores.
Steven J. Hill [Wed, 29 Aug 2012 04:20:39 +0000 (23:20 -0500)]
MIPS: Optimise TLB handlers for MIPS32/64 R2 cores.

The EXT and INS instructions can be used to decrease code size and
thus speed up TLB handlers on MIPS32R2 and MIPS64R2 cores.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: uasm: Add INS and EXT instructions.
Steven J. Hill [Thu, 12 Jul 2012 17:21:31 +0000 (17:21 +0000)]
MIPS: uasm: Add INS and EXT instructions.

These are MIPS32R2 instructions for merging and extracting bit fields
from one GPR into another.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Avoid pipeline stalls on some MIPS32R2 cores.
Steven J. Hill [Wed, 29 Aug 2012 04:20:08 +0000 (23:20 -0500)]
MIPS: Avoid pipeline stalls on some MIPS32R2 cores.

The architecture specification says that an EHB instruction is
needed to avoid a hazard when writing TLB entries. However, some
cores do not have this hazard, and thus the EHB instruction causes
a costly pipeline stall. Detect these cores and do not use the EHB
instruction.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Make VPE count to be one-based.
Steven J. Hill [Fri, 31 Aug 2012 21:23:49 +0000 (16:23 -0500)]
MIPS: Make VPE count to be one-based.

When dealing with multiple VPEs, the count needs to be one-based
for correct initialization of the GIC.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Add new end of interrupt functionality for GIC.
Steven J. Hill [Fri, 31 Aug 2012 21:20:08 +0000 (16:20 -0500)]
MIPS: Add new end of interrupt functionality for GIC.

Each platform should define its own 'gic_finish_irq' function.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Add EIC support for GIC.
Steven J. Hill [Fri, 31 Aug 2012 21:18:49 +0000 (16:18 -0500)]
MIPS: Add EIC support for GIC.

Add support to use an external interrupt controller with the GIC.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Code clean-ups for the GIC.
Steven J. Hill [Fri, 31 Aug 2012 21:13:07 +0000 (16:13 -0500)]
MIPS: Code clean-ups for the GIC.

Fix whitespace, beautify the code and remove debug statements.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Make GIC code platform independent.
Steven J. Hill [Fri, 31 Aug 2012 21:05:37 +0000 (16:05 -0500)]
MIPS: Make GIC code platform independent.

The GIC interrupt code is used by multiple platforms and the
current code was half Malta dependent code. These changes
abstract away the platform specific differences.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Changes to configuration files for SEAD-3 platform.
Steven J. Hill [Fri, 11 May 2012 02:46:20 +0000 (02:46 +0000)]
MIPS: Changes to configuration files for SEAD-3 platform.

Change MIPS configuration files to add the SEAD-3. Also add
new default configuration file for a SEAD-3 kernel.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agoMIPS: Add core files for MIPS SEAD-3 development platform.
Steven J. Hill [Wed, 30 May 2012 21:02:49 +0000 (21:02 +0000)]
MIPS: Add core files for MIPS SEAD-3 development platform.

More information about the SEAD-3 platform can be found at
<http://www.mips.com/products/development-kits/mips-sead-3/>
on MTI's site. Currently, the M14K family of cores is what
the SEAD-3 is utilised with.

Signed-off-by: Douglas Leung <douglas@mips.com>
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agobnx2x: Add missing afex code
Yuval Mintz [Tue, 11 Sep 2012 04:34:14 +0000 (04:34 +0000)]
bnx2x: Add missing afex code

Commit a334872224a67b614dc888460377862621f3dac7 added afex support but lacked
several logical changes. This lack can cause afex to crash, and also
have a slight effect on other flows (i.e., driver always assumes the Tx ring
has less available buffers than what it actually has).

This patch adds the missing segments, fixing said issues.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Barak Witkowski <barak@broadcom.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agobnx2x: fix registers dumped
Dmitry Kravkov [Tue, 11 Sep 2012 04:34:13 +0000 (04:34 +0000)]
bnx2x: fix registers dumped

Under traffic, there are several registers that when read (e.g., via
'ethtool -d') may cause the chip to stall.
This patch corrects the registers read in such flows.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agobnx2x: correct advertisement of pause capabilities
Yaniv Rosner [Tue, 11 Sep 2012 04:34:12 +0000 (04:34 +0000)]
bnx2x: correct advertisement of pause capabilities

This patch propagates users' requested flow-control into the link layer,
which will later be used to advertise this flow-control for auto-negotiation
(until now these values were ignored).

Signed-off-by: Yaniv Rosner <yaniv.rosner@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agobnx2x: display the correct duplex value
Yaniv Rosner [Tue, 11 Sep 2012 04:34:11 +0000 (04:34 +0000)]
bnx2x: display the correct duplex value

Prior to this fix, the driver reported the chip's active duplex state
is always 'full', even if using half-duplex mode.

Signed-off-by: Yaniv Rosner <yaniv.rosner@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agobnx2x: prevent timeouts when using PFC
Yaniv Rosner [Tue, 11 Sep 2012 04:34:10 +0000 (04:34 +0000)]
bnx2x: prevent timeouts when using PFC

Prevent updating the xmac PFC configuration when using a link speed
slower than 10G -the umac block is responsible for 1G or slower connections,
therefore it is possible the xmac block is reset when connection is slower.

Signed-off-by: Yaniv Rosner <yaniv.rosner@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agobnx2x: fix stats copying logic
Yuval Mintz [Tue, 11 Sep 2012 04:34:09 +0000 (04:34 +0000)]
bnx2x: fix stats copying logic

FW needs the driver statistics for management. Current logic is broken
in that the function that gathers the port statistics does not copy
its own statistics to a place where the FW can use it.
This patch causes every function that can pass statistics to the FW to
do so.

Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agobnx2x: Avoid sending multiple statistics queries
Dmitry Kravkov [Tue, 11 Sep 2012 04:34:08 +0000 (04:34 +0000)]
bnx2x: Avoid sending multiple statistics queries

During traffic when DCB is enabled, it is possible for multiple instances
of statistics queries to be sent to the chip - this may cause the FW to assert.

This patch prevents the sending of an additional instance of statistics query
while the previous query hasn't completed.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agoMIPS: Add support for the 1074K core.
Steven J. Hill [Tue, 26 Jun 2012 04:11:03 +0000 (04:11 +0000)]
MIPS: Add support for the 1074K core.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
11 years agonet: qmi_wwan: call subdriver with control intf only
Bjørn Mork [Wed, 12 Sep 2012 20:44:35 +0000 (20:44 +0000)]
net: qmi_wwan: call subdriver with control intf only

This fixes a hang on suspend due to calling wdm_suspend on
the unregistered data interface. The hang should have been
a NULL pointer reference had it not been for a logic error
in the cdc_wdm code.

  commit 230718bd net: qmi_wwan: bind to both control and data interface

changed qmi_wwan to use cdc_wdm as a subdriver for devices with
a two-interface QMI/wwan function.  The commit failed to update
qmi_wwan_suspend and qmi_wwan_resume, which were written to handle
either a single combined interface function, or no subdriver at all.

The result was that we called into the subdriver both when the
control interface was suspended and when the data interface was
suspended.  Calling the subdriver suspend function with an
unregistered interface is not supported and will make the
subdriver bug out.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agonet_sched: gred: actually perform idling in WRED mode
David Ward [Thu, 13 Sep 2012 05:22:35 +0000 (05:22 +0000)]
net_sched: gred: actually perform idling in WRED mode

gred_dequeue() and gred_drop() do not seem to get called when the
queue is empty, meaning that we never start idling while in WRED
mode. And since qidlestart is not stored by gred_store_wred_set(),
we would never stop idling while in WRED mode if we ever started.
This messes up the average queue size calculation that influences
packet marking/dropping behavior.

Now, we start WRED mode idling as we are removing the last packet
from the queue. Also we now actually stop WRED mode idling when we
are enqueuing a packet.

Cc: Bruce Osler <brosler@cisco.com>
Signed-off-by: David Ward <david.ward@ll.mit.edu>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
11 years agonet_sched: gred: fix qave reporting via netlink
David Ward [Thu, 13 Sep 2012 05:22:34 +0000 (05:22 +0000)]
net_sched: gred: fix qave reporting via netlink

q->vars.qavg is a Wlog scaled value, but q->backlog is not. In order
to pass q->vars.qavg as the backlog value, we need to un-scale it.
Additionally, the qave value returned via netlink should not be Wlog
scaled, so we need to un-scale the result of red_calc_qavg().

This caused artificially high values for "Average Queue" to be shown
by 'tc -s -d qdisc', but did not affect the actual operation of GRED.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>