Commit Graph
100 Commits
Author SHA1 Message Date
Aaro Koskinen 3a30c07e71 watchdog: octeon: use fixed length string for register names
Use fixed length string for register names. This saves 416 bytes
in text size.

Signed-off-by: Aaro Koskinen <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
2015-04-22 15:28:40 +02:00
Aaro Koskinen 8692cf0ad3 watchdog: octeon: fix some trivial coding style issues
Fix some trivial coding style issues to reduce noise from static analyzers.

Signed-off-by: Aaro Koskinen <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
2015-04-22 15:28:35 +02:00
Aaro Koskinen 3d588c93c0 watchdog: octeon: convert to WATCHDOG_CORE API
Convert OCTEON watchdog to WATCHDOG_CORE API. This enables support
for multiple watchdogs on OCTEON boards.

Signed-off-by: Aaro Koskinen <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
2015-04-22 15:28:31 +02:00
Aaro Koskinen 521fca18e8 rtc: hctosys: use function name in the error log
Use function name in the error log instead of __FILE__.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Alexandre Belloni <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2015-04-17 09:04:01 -04:00
Aaro Koskinen d0bddb512d drivers/rtc/interface.c: __rtc_read_time: reduce log level
__rtc_read_time logs should be debug logs instead of error logs.

For example, when the RTC clock is not set, it's not really useful
to print a kernel error log every time someone tries to read the clock:

	~ # hwclock -r
	[  604.508263] rtc rtc0: read_time: fail to read
	hwclock: RTC_RD_TIME: Invalid argument

If there's a real error, it's likely that lower level or higher level
code will tell it anyway. Make these logs debug logs, and also print
the error code for the read failure.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: Alexandre Belloni <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2015-04-17 09:04:01 -04:00
Aaro Koskinen 182683e955 drivers/rtc/class.c: initialize rtc name early
In some error cases RTC name is used before it is initialized:

	rtc-rs5c372 0-0032: clock needs to be set
	rtc-rs5c372 0-0032: rs5c372b found, 24hr, driver version 0.6
	rtc (null): read_time: fail to read
	rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0

Fix by initializing the name early.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: Alexandre Belloni <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2015-04-17 09:04:01 -04:00
Aaro Koskinen b083518c52 MIPS: OCTEON: fix PCI interrupt mapping for D-Link DSR-1000N
Fix PCI interrupt mapping for DSR1000N. This will get the PCI slot
interrupts working. The mapping is based on D-Link GPL tarball.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9593/
Signed-off-by: Ralf Baechle <[email protected]>
2015-04-10 15:41:42 +02:00
Aaro Koskinen 528a5691ad staging: octeon-ethernet: delete cvm_oct_set_carrier()
Delete unused function cvm_oct_set_carrier().

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-04-03 13:57:28 +02:00
Aaro Koskinen 203d776214 staging: octeon-usb: make CVMX_WAIT_FOR_FIELD32 to take condition expression
Make CVMX_WAIT_FOR_FIELD32 to take full condition expression.
This should make the usage simpler, and the macro more readable.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-04-03 13:57:28 +02:00
Aaro Koskinen 6068e81879 staging: octeon-usb: assume union type for FIELD32 macros
Assume union type for FIELD32 macros to simplify usage.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-04-03 13:57:28 +02:00
Aaro Koskinen 9a02e8d211 staging: octeon-usb: octeon_usb_probe: delete unused variable
"flags" is not used, delete it.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-04-03 13:57:28 +02:00
Aaro Koskinen a3d3390d1e staging: octeon-usb: make cvmx_fifo_setup void
Make cvmx_fifo_setup void, it does not return any value.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-04-03 13:57:28 +02:00
Aaro Koskinen 05f5507f59 MIPS: OCTEON: add GPIO LED support for DSR-1000N
DSR-1000N board has two GPIO LEDs next to USB ports. Add support for them.

[[email protected]: Resolved conflict due to the moving of the DTS files
into vendor subdirectories.]

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9624/
Signed-off-by: Ralf Baechle <[email protected]>
2015-04-01 17:22:10 +02:00
Aaro Koskinen aa816c1b39 MIPS: mark prom_free_prom_memory() everywhere with __init
On OCTEON the function is non-trivial and we can potentially even save
some memory.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: David Daney <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9338/
Signed-off-by: Ralf Baechle <[email protected]>
2015-04-01 17:21:58 +02:00
Aaro Koskinen dfe514b67a mfd: menelaus: Use macro for magic number
Use macro to check a register bit.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
2015-03-30 10:06:55 +01:00
Aaro Koskinen 1ea8684e1e mfd: menelaus: Drop support for SW controller VCORE
Drop support for SW controlled VCORE, nobody uses it.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
2015-03-30 10:06:50 +01:00
Aaro Koskinen 5cdc7f0216 mfd: menelaus: Delete omap_has_menelaus
Delete unused macro.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
2015-03-30 10:06:39 +01:00
Aaro Koskinen a8667d706d MIPS: OCTEON: dma-octeon: fix OHCI USB config check
CONFIG_USB_OCTEON_OHCI is deprecated and no longer needed to use OHCI
on OCTEON II. Instead, CONFIG_USB_OHCI_HCD_PLATFORM should be used.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Aleksey Makarov <[email protected]>
Cc: David Daney <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9421/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-25 13:47:57 +01:00
Aaro Koskinen b112e7c90e CRYPTO: Octeon: Enable OCTEON SHA1/256/512 module selection
Enable user to select OCTEON SHA1/256/512 modules.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9492/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-24 15:15:45 +01:00
Aaro Koskinen 041a80c5c0 CRYPTO: Octeon: Add SHA512 module
Add OCTEON SHA512 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9496/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-24 15:15:43 +01:00
Aaro Koskinen 8ab368303c CRYPTO: Octeon: Add SHA256 module
Add OCTEON SHA256 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9493/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-24 15:15:41 +01:00
Aaro Koskinen 63bb06ee82 CRYPTO: Octeon: Add SHA1 module
Add OCTEON SHA1 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9495/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-24 15:15:40 +01:00
Aaro Koskinen a3d2a10be8 CRYPTO: Octeon: Add instruction definitions for SHA1/256/512
Add instruction definitions for SHA1/256/512.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9491/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-24 15:15:39 +01:00
Aaro Koskinen e606ee200a CRYPTO: Octeon: always disable preemption when using crypto engine
Always disable preemption on behalf of the drivers when crypto engine
is taken into use. This will simplify the usage.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9494/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-24 15:15:37 +01:00
Aaro Koskinen f7715e72f5 CRYPTO: Octeon: Don't disable bottom half in octeon-md5
Don't disable bottom half while the crypto engine is in use, as it
should be unnecessary: All kernel crypto engine usage is wrapped with
crypto engine state save/restore, so if we get interrupted by softirq
that uses crypto they should save and restore our context.

This actually fixes an issue when running OCTEON MD5 with interrupts
disabled (tcrypt mode=302). There's a WARNING because the module is
trying to enable the bottom half with irqs disabled:

[   52.656610] ------------[ cut here ]------------
[   52.661439] WARNING: CPU: 1 PID: 428 at /home/aaro/git/linux/kernel/softirq.c:150 __local_bh_enable_ip+0x9c/0xd8()
[   52.671780] Modules linked in: tcrypt(+)
[...]
[   52.763539] [<ffffffff8114082c>] warn_slowpath_common+0x94/0xd8
[   52.769465] [<ffffffff81144614>] __local_bh_enable_ip+0x9c/0xd8
[   52.775390] [<ffffffff81119574>] octeon_md5_final+0x12c/0x1e8
[   52.781144] [<ffffffff81337050>] shash_compat_digest+0xd0/0x1b0

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/9490/
Signed-off-by: Ralf Baechle <[email protected]>
2015-03-24 15:15:36 +01:00
Aaro Koskinen edc16d8d48 stating: octeon-usb: cvmx_usb_initialize(): eliminate extra indentation
Eliminate extra indentation by putting all the code into the same block.
Also delete a bogus comment.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:13 +01:00
Aaro Koskinen 6ad9c95b3a staging: octeon-usb: try to recover from failed hardware reset
On some hardware the USB fails to initialize to sane state after
cold boot. We can detect this based on some unexpected interrupt bits,
and recover by re-initializing.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:13 +01:00
Aaro Koskinen f3b8edc0f3 staging: octeon-usb: fail and warn if DMA counters are wrong
Fail and WARN if DMA counters are wrong.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:13 +01:00
Aaro Koskinen eb04114f37 staging: octeon-usb: move cvmx_usb_shutdown()
Move cvmx_usb_shutdown() to allow its use from some other functions.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:13 +01:00
Aaro Koskinen b0c8c72ba3 staging: octeon-usb: rewrite port reset
Don't disable port before resetting. Also perform reset unconditionally
when requested.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:13 +01:00
Aaro Koskinen 164814bb6e staging: octeon-usb: move fifo setup to controller reset from port reset
Move FIFO setup to controller reset from port reset.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:12 +01:00
Aaro Koskinen 2263251fbb staging: octeon-usb: move fifo setup into a separate routine
Move FIFO setup into a separate routine.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:12 +01:00
Aaro Koskinen 0ed64a4c8f staging: octeon-usb: use USB stack to turn on power
Use USB stack to turn on the power bit. It will also do
the necessary delays.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:12 +01:00
Aaro Koskinen c8eedbd107 staging: octeon-usb: don't poll interrupts early
Don't poll interrupts before we have registered the HCD.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:12 +01:00
Aaro Koskinen b5e79e6ea6 staging: octeon-usb: refactor usbn block init
Move one-time state data structure initialization out of
cvmx_usb_initialize().

This enables to re-initialize USBN HW block without messing
up data structures.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:11 +01:00
Aaro Koskinen 532edc93e2 staging: octeon-usb: never retry after xacterr
Never retry after xacterr. The DMA engine cannot handle that properly
and may result in wrong transfer count and hang.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:11 +01:00
Aaro Koskinen d712648a22 staging: octeon-usb: program DMA engine based on transfer direction
Program DMA engine based on transfer direction. We are only transferring
to one direction at a time.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:11 +01:00
Aaro Koskinen af8e4c71f6 staging: octeon-usb: use __BITFIELD_FIELD
Use __BITFIELD_FIELD to define bitfields. OCTEON can at least in theory
run also in little-endian mode, so the bitfield definitions should not
assume big-endian byte order.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:11 +01:00
Aaro Koskinen 31170da59e staging: octeon-usb: delete redundant field from octeon_temp_buffer
Since we are not moving/realigning the original pointer returned
by kmalloc, we don't need to store the value in a separate field.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:11 +01:00
Aaro Koskinen 3f9697b714 staging: octeon-usb: remove useless prefix from pipe flags
Remove useless prefix from pipe flags and adjust comments.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:10 +01:00
Aaro Koskinen 68d435dd54 staging: octeon-usb: remove useless prefix from internal routines
Original CVMX code used "__" to distinguis internal USB functions
from public ones. But in Linux all cvmx_usb routines are internal
to this driver, so such separation is useless.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:10 +01:00
Aaro Koskinen c4bdbdd916 staging: octeon-usb: eliminate 64-bit register access wrappers
Eliminate 64-bit register access wrappers. Since we don't implement
register-level debugging outputs, these are useless.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:10 +01:00
Aaro Koskinen 607078fcb1 staging: octeon-usb: remove internal function parameter sanity checks
Remove some function parameter sanity checks from internal functions
where we can rely them being called with sane parameters.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-24 13:47:10 +01:00
Aaro Koskinen efdb6f6edb crypto: octeon - enable OCTEON SHA1/256/512 module selection
Enable user to select OCTEON SHA1/256/512 modules.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2015-03-10 20:49:34 +11:00
Aaro Koskinen fbaa4dfd51 crypto: octeon - add SHA512 module
Add OCTEON SHA512 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2015-03-10 20:48:58 +11:00
Aaro Koskinen c3d0def620 crypto: octeon - add SHA256 module
Add OCTEON SHA256 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2015-03-10 20:48:58 +11:00
Aaro Koskinen 82be2dcfa6 crypto: octeon - add SHA1 module
Add OCTEON SHA1 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2015-03-10 20:48:58 +11:00
Aaro Koskinen da3cd5d7a7 crypto: octeon - add instruction definitions for SHA1/256/512
Add instruction definitions for SHA1/256/512.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2015-03-10 20:48:57 +11:00
Aaro Koskinen c3bc38d9fb crypto: octeon - always disable preemption when using crypto engine
Always disable preemption on behalf of the drivers when crypto engine
is taken into use. This will simplify the usage.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2015-03-10 20:48:57 +11:00
Aaro Koskinen 9b2de7ff42 crypto: octeon - don't disable bottom half in octeon-md5
Don't disable bottom half while the crypto engine is in use, as it
should be unnecessary: All kernel crypto engine usage is wrapped with
crypto engine state save/restore, so if we get interrupted by softirq
that uses crypto they should save and restore our context.

This actually fixes an issue when running OCTEON MD5 with interrupts
disabled (tcrypt mode=302). There's a WARNING because the module is
trying to enable the bottom half with irqs disabled:

[   52.656610] ------------[ cut here ]------------
[   52.661439] WARNING: CPU: 1 PID: 428 at /home/aaro/git/linux/kernel/softirq.c:150 __local_bh_enable_ip+0x9c/0xd8()
[   52.671780] Modules linked in: tcrypt(+)
[...]
[   52.763539] [<ffffffff8114082c>] warn_slowpath_common+0x94/0xd8
[   52.769465] [<ffffffff81144614>] __local_bh_enable_ip+0x9c/0xd8
[   52.775390] [<ffffffff81119574>] octeon_md5_final+0x12c/0x1e8
[   52.781144] [<ffffffff81337050>] shash_compat_digest+0xd0/0x1b0

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2015-03-10 20:48:56 +11:00
Aaro Koskinen 2725917fd5 ARM: OMAP: enable TWL4030_USB in omap2plus_defconfig
Enable TWL4030_USB which is used at least on Nokia N900/N950/N9 (OMAP3)
and BeagleBoard.

Signed-off-by: Aaro Koskinen <[email protected]>
[[email protected]: updated comments]
Signed-off-by: Tony Lindgren <[email protected]>
2015-03-06 09:48:12 -08:00
Aaro Koskinen 509031dd5f staging: xgifb: fix colours on big-endian machines other than powerpc
XGI framebuffer supports big-endian machines, but it's currently
enabled based on __powerpc__ define (which is wrong, as powerpc can
be also little-endian now). Use __BIG_ENDIAN instead. This will fix
wrong colours on such machines.

Tested on parisc with XGI Z7.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-02-07 17:24:11 +08:00
Aaro Koskinen 63a87fe0d0 MIPS: OCTEON: fix kernel crash when offlining a CPU
octeon_cpu_disable() will unconditionally enable interrupts when called.
We can assume that the routine is always called with interrupts disabled,
so just delete the incorrect local_irq_disable/enable().

The patch fixes the following crash when offlining a CPU:

[   93.818785] ------------[ cut here ]------------
[   93.823421] WARNING: CPU: 1 PID: 10 at kernel/smp.c:231 flush_smp_call_function_queue+0x1c4/0x1d0()
[   93.836215] Modules linked in:
[   93.839287] CPU: 1 PID: 10 Comm: migration/1 Not tainted 3.19.0-rc4-octeon-los_b5f0 #1
[   93.847212] Stack : 0000000000000001 ffffffff81b2cf90 0000000000000004 ffffffff81630000
	  0000000000000000 0000000000000000 0000000000000000 000000000000004a
	  0000000000000006 ffffffff8117e550 0000000000000000 0000000000000000
	  ffffffff81b30000 ffffffff81b26808 8000000032c77748 ffffffff81627e07
	  ffffffff81595ec8 ffffffff81b26808 000000000000000a 0000000000000001
	  0000000000000001 0000000000000003 0000000010008ce1 ffffffff815030c8
	  8000000032cbbb38 ffffffff8113d42c 0000000010008ce1 ffffffff8117f36c
	  8000000032c77300 8000000032cbba50 0000000000000001 ffffffff81503984
	  0000000000000000 0000000000000000 0000000000000000 0000000000000000
	  0000000000000000 ffffffff81121668 0000000000000000 0000000000000000
	  ...
[   93.912819] Call Trace:
[   93.915273] [<ffffffff81121668>] show_stack+0x68/0x80
[   93.920335] [<ffffffff81503984>] dump_stack+0x6c/0x90
[   93.925395] [<ffffffff8113d58c>] warn_slowpath_common+0x94/0xd8
[   93.931324] [<ffffffff811a402c>] flush_smp_call_function_queue+0x1c4/0x1d0
[   93.938208] [<ffffffff811a4128>] hotplug_cfd+0xf0/0x108
[   93.943444] [<ffffffff8115bacc>] notifier_call_chain+0x5c/0xb8
[   93.949286] [<ffffffff8113d704>] cpu_notify+0x24/0x60
[   93.954348] [<ffffffff81501738>] take_cpu_down+0x38/0x58
[   93.959670] [<ffffffff811b343c>] multi_cpu_stop+0x154/0x180
[   93.965250] [<ffffffff811b3768>] cpu_stopper_thread+0xd8/0x160
[   93.971093] [<ffffffff8115ea4c>] smpboot_thread_fn+0x1ec/0x1f8
[   93.976936] [<ffffffff8115ab04>] kthread+0xd4/0xf0
[   93.981735] [<ffffffff8111c4f0>] ret_from_kernel_thread+0x14/0x1c
[   93.987835]
[   93.989326] ---[ end trace c9e3815ee655bda9 ]---
[   93.993951] Kernel bug detected[#1]:
[   93.997533] CPU: 1 PID: 10 Comm: migration/1 Tainted: G        W      3.19.0-rc4-octeon-los_b5f0 #1
[   94.006591] task: 8000000032c77300 ti: 8000000032cb8000 task.ti: 8000000032cb8000
[   94.014081] $ 0   : 0000000000000000 0000000010000ce1 0000000000000001 ffffffff81620000
[   94.022146] $ 4   : 8000000002c72ac0 0000000000000000 00000000000001a7 ffffffff813b06f0
[   94.030210] $ 8   : ffffffff813b20d8 0000000000000000 0000000000000000 ffffffff81630000
[   94.038275] $12   : 0000000000000087 0000000000000000 0000000000000086 0000000000000000
[   94.046339] $16   : ffffffff81623168 0000000000000001 0000000000000000 0000000000000008
[   94.054405] $20   : 0000000000000001 0000000000000001 0000000000000001 0000000000000003
[   94.062470] $24   : 0000000000000038 ffffffff813b7f10
[   94.070536] $28   : 8000000032cb8000 8000000032cbbc20 0000000010008ce1 ffffffff811bcaf4
[   94.078601] Hi    : 0000000000f188e8
[   94.082179] Lo    : d4fdf3b646c09d55
[   94.085760] epc   : ffffffff811bc9d0 irq_work_run_list+0x8/0xf8
[   94.091686]     Tainted: G        W
[   94.095613] ra    : ffffffff811bcaf4 irq_work_run+0x34/0x60
[   94.101192] Status: 10000ce3	KX SX UX KERNEL EXL IE
[   94.106235] Cause : 40808034
[   94.109119] PrId  : 000d9301 (Cavium Octeon II)
[   94.113653] Modules linked in:
[   94.116721] Process migration/1 (pid: 10, threadinfo=8000000032cb8000, task=8000000032c77300, tls=0000000000000000)
[   94.127168] Stack : 8000000002c74c80 ffffffff811a4128 0000000000000001 ffffffff81635720
	  fffffffffffffff2 ffffffff8115bacc 80000000320fbce0 80000000320fbca4
	  80000000320fbc80 0000000000000002 0000000000000004 ffffffff8113d704
	  80000000320fbce0 ffffffff81501738 0000000000000003 ffffffff811b343c
	  8000000002c72aa0 8000000002c72aa8 ffffffff8159cae8 ffffffff8159caa0
	  ffffffff81650000 80000000320fbbf0 80000000320fbc80 ffffffff811b32e8
	  0000000000000000 ffffffff811b3768 ffffffff81622b80 ffffffff815148a8
	  8000000032c77300 8000000002c73e80 ffffffff815148a8 8000000032c77300
	  ffffffff81622b80 ffffffff815148a8 8000000032c77300 ffffffff81503f48
	  ffffffff8115ea0c ffffffff81620000 0000000000000000 ffffffff81174d64
	  ...
[   94.192771] Call Trace:
[   94.195222] [<ffffffff811bc9d0>] irq_work_run_list+0x8/0xf8
[   94.200802] [<ffffffff811bcaf4>] irq_work_run+0x34/0x60
[   94.206036] [<ffffffff811a4128>] hotplug_cfd+0xf0/0x108
[   94.211269] [<ffffffff8115bacc>] notifier_call_chain+0x5c/0xb8
[   94.217111] [<ffffffff8113d704>] cpu_notify+0x24/0x60
[   94.222171] [<ffffffff81501738>] take_cpu_down+0x38/0x58
[   94.227491] [<ffffffff811b343c>] multi_cpu_stop+0x154/0x180
[   94.233072] [<ffffffff811b3768>] cpu_stopper_thread+0xd8/0x160
[   94.238914] [<ffffffff8115ea4c>] smpboot_thread_fn+0x1ec/0x1f8
[   94.244757] [<ffffffff8115ab04>] kthread+0xd4/0xf0
[   94.249555] [<ffffffff8111c4f0>] ret_from_kernel_thread+0x14/0x1c
[   94.255654]
[   94.257146]
Code: a2423c40  40026000  30420001 <00020336> dc820000  10400037  00000000  0000010f  0000010f
[   94.267183] ---[ end trace c9e3815ee655bdaa ]---
[   94.271804] Fatal exception: panic in 5 seconds

Reported-by: Hemmo Nieminen <[email protected]>
Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: David Daney <[email protected]>
Cc: [email protected] # v3.18+
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8952/
Signed-off-by: Ralf Baechle <[email protected]>
2015-01-29 23:48:29 +01:00
Aaro Koskinen f4b3690935 ARM: dts: N950/N9: add twl_power
Add twl_power for N950/N9. Start with the simplest configuration to just
enable power off.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
2015-01-07 16:23:52 -08:00
Aaro Koskinen 67e9a2ce6e hsi: nokia-modem: fix uninitialized device pointer
modem->device was never initialized. This resulted in logs such as:

[  241.386322] (NULL device *): CMT rst line change detected

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Sebastian Reichel <[email protected]>
2015-01-04 20:19:30 +01:00
Aaro Koskinen d69e75deff crypto: octeon - enable OCTEON MD5 module selection
Enable user to select OCTEON MD5 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2014-12-24 08:14:24 +11:00
Aaro Koskinen 1953c22f53 crypto: octeon - add MD5 module
Add OCTEON MD5 module.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2014-12-24 08:14:23 +11:00
Aaro Koskinen 011f3c6cbb MIPS: OCTEON: reintroduce crypto features check
Reintroduce run-time check for crypto features. The old one was deleted
because it was unreliable, now decide the crypto availability on early
boot when the model string is constructed.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2014-12-24 08:14:22 +11:00
Aaro Koskinen 1e585ef51c crypto: octeon - add instruction definitions for MD5
Add instruction definitions for MD5. Based on information extracted
from EdgeRouter Pro GPL source tarball.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2014-12-24 08:14:22 +11:00
Aaro Koskinen f421258d5b MIPS: OCTEON: add crypto helper functions
Add crypto helper functions which are needed for kernel level usage.
The code for these has been extracted from the EdgeRouter Pro GPL tarball.

While at it, also delete duplicate definitions of the functions.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2014-12-24 08:14:21 +11:00
Aaro Koskinen ba0b8e420a staging: octeon-usb: eliminate cvmx_dprintf() usage
Eliminate cvmx_dprintf() usage and use dev_err() instead.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-11-26 13:45:12 -08:00
Aaro Koskinen 2e6ac45c4a staging: octeon-usb: move helper functions
Move helper functions to make them visible to all functions.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-11-26 13:45:12 -08:00
Aaro Koskinen 030739f52e staging: octeon-ethernet: drop multiple NAPI instances
Octeon Ethernet driver is currently trying to wake up multiple
CPU cores for parallel NAPI processing when needed, to cope
with the fact that all network interfaces are handled through
the same receive queue processed by a single core/interrupt
(see http://marc.info/?l=linux-kernel&m=137209784914565&w=2).

This partially overlaps with generic RPS functionality.
Commit a6a39a7fcf ("staging: octeon-ethernet: disable load balance
for receiving packet when CONFIG_RPS is enabled") already disabled this
when RPS is enabled. Let's delete this code altogether as it has issues
like packet reordering and potential problems with CPU offlining/onlining.

Tested on EdgeRouter Lite.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-By: David Daney <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-11-26 13:45:11 -08:00
Aaro Koskinen d47ff0ec0b MIPS: loongson: common: rtc: make loongson_rtc_resources static
Make loongson_rtc_resources static to eliminate the following
sparse warning:
warning: symbol 'loongson_rtc_resources' was not declared. Should it be static?

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8529/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:45:35 +01:00
Aaro Koskinen 8387efd26a MIPS: loongson: common: init: Add a missing include
Add a missing include to eliminate the following sparse warnings:
warning: symbol 'prom_init' was not declared. Should it be static?
warning: symbol 'prom_free_prom_memory' was not declared. Should it be static?

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8531/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:45:35 +01:00
Aaro Koskinen 65b432de80 MIPS: loongson: lemote-2f: reset: make ml2f_reboot static
Make ml2f_reboot static to elimite the following sparse warning:
warning: symbol 'ml2f_reboot' was not declared. Should it be static?

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8528/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:45:35 +01:00
Aaro Koskinen 55fa9889ca MIPS: loongson: lemote-2f: irq: Make internal data static
Make internal static to eliminate the following sparse warnings:
warning: symbol 'ip6_irqaction' was not declared. Should it be static?
warning: symbol 'cascade_irqaction' was not declared. Should it be static?

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8527/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:45:34 +01:00
Aaro Koskinen 15dd8eb0ee MIPS: loongson: common: Setup: add a missing include
Add a missing include to get rid of the following sparse warning:
warning: symbol 'plat_mem_setup' was not declared. Should it be static?

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8530/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:45:34 +01:00
Aaro Koskinen fdd6a1fd61 MIPS: Loongson: cs5536_pci: Add a missing include
Add a missing include to get rid of the following sparse warnings:
warning: symbol 'cs5536_pci_conf_write4' was not declared. Should it be static?
warning: symbol 'cs5536_pci_conf_read4' was not declared. Should it be static?

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8526/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:45:34 +01:00
Aaro Koskinen efa386f317 MIPS: Loongson: common: Fix array initializer syntax.
Fix array initializer syntax to get rid of the following sparse warnings:
"obsolete array initializer, use C99 syntax".

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8525/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:45:34 +01:00
Aaro Koskinen 26927f7649 MIPS: Loongson: Make platform serial setup always built-in.
If SERIAL_8250 is compiled as a module, the platform specific setup
for Loongson will be a module too, and it will not work very well.
At least on Loongson 3 it will trigger a build failure,
since loongson_sysconf is not exported to modules.

Fix by making the platform specific serial code always built-in.

Signed-off-by: Aaro Koskinen <[email protected]>
Reported-by: Ralf Baechle <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: Huacai Chen <[email protected]>
Cc: Markos Chandras <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/8533/
Signed-off-by: Ralf Baechle <[email protected]>
2014-11-24 07:44:06 +01:00
Aaro Koskinen cdb685ad44 MIPS: ptrace.h: Add a missing include
Commit a79ebea620 (MIPS: ptrace: Fix user pt_regs definition,
use in ptrace_{get, set}regs()) converted struct pt_regs to use __u64.
Some userspace applications (e.g. GDB) include this file directly,
and fail to see this type. Fix by including <linux/types.h>.

The patch fixes the following build failure with GDB 7.8 when using
GLIBC headers created against Linux 3.17:

In file included from /home/aaro/los/work/shared/gdb-7.8/gdb/mips-linux-nat.c:37:0:
/home/aaro/los/work/mips/rootfs/mips-linux-gnu/usr/include/asm/ptrace.h:32:2: error: unknown type name '__u64'
  __u64 regs[32];
  ^
/home/aaro/los/work/mips/rootfs/mips-linux-gnu/usr/include/asm/ptrace.h:35:2: error: unknown type name '__u64'
  __u64 lo;
  ^
/home/aaro/los/work/mips/rootfs/mips-linux-gnu/usr/include/asm/ptrace.h:36:2: error: unknown type name '__u64'
  __u64 hi;
  ^

Fixes: a79ebea620 ("MIPS: ptrace: Fix user pt_regs definition, use in ptrace_{get, set}regs()")
Cc: [email protected] # 3.17
Signed-off-by: Aaro Koskinen <[email protected]>
Cc: Alex Smith <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/8067/
Signed-off-by: Ralf Baechle <[email protected]>
2014-10-23 13:23:08 +02:00
Aaro Koskinen aa08ed5544 MIPS: loongson2_cpufreq: Fix CPU clock rate setting mismerge
During 3.16 merge window, parts of the commit 8e8acb3296
(MIPS/loongson2_cpufreq: Fix CPU clock rate setting) seem to have
been deleted probably due to a mismerge, and as a result cpufreq
is broken again on Loongson2 boards in 3.16 and newer kernels.
Fix by repeating the fix.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected] # 3.16
Cc: Rafael J. Wysocki <[email protected]>
Cc: [email protected]
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/7835/
Signed-off-by: Ralf Baechle <[email protected]>
2014-10-22 19:10:42 +02:00
Aaro Koskinen 96ee2cc81f staging: octeon-usb: use USB_DIR_IN
Replace a magic value with #defined macro.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-02 10:48:32 -07:00
Aaro Koskinen e301dfb208 staging: octeon-usb: use generic control packet header
Use generic control packet header structure definition.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-02 10:48:32 -07:00
Aaro Koskinen 8bd70c6af3 MIPS: OCTEON: add interface & port definitions for D-Link DSR-1000N
Add interface & port definitions for D-Link DSR-1000N.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: David Daney <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/7219/
Signed-off-by: Ralf Baechle <[email protected]>
2014-08-02 00:06:43 +02:00
Aaro Koskinen 8a1fbefaf1 MIPS: OCTEON: add USB clock type for D-Link DSR-1000N
Add USB clock type for D-Link DSR-1000N.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: David Daney <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/7218/
Signed-off-by: Ralf Baechle <[email protected]>
2014-08-02 00:06:42 +02:00
Aaro Koskinen 01b985bc64 MIPS: OCTEON: cvmx-bootinfo: add D-Link DSR-1000N
Add a definition for D-Link DSR-1000N router. The bootloader on this board
supplies 20006 in the bootinfo; the enum CVMX_BOARD_TYPE_CUST_DSR1000N
comes from the GPL sources of the board.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: David Daney <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/7217/
Signed-off-by: Ralf Baechle <[email protected]>
2014-08-02 00:06:42 +02:00
Aaro Koskinen eac44d9c95 MIPS: OCTEON: disable HOTPLUG_CPU if the bootloader version is incorrect
Disable HOTPLUG_CPU functionality if the bootloader version is incorrect.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Cc: David Daney <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/7200/
Signed-off-by: Ralf Baechle <[email protected]>
2014-08-02 00:06:42 +02:00
Aaro Koskinen 5ca0e377a6 MIPS: OCTEON: support disabling HOTPLUG_CPU run-time
If nosmp kernel option given, we can assume HOTPLUG_CPU is disabled.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: David Daney <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/7202/
Signed-off-by: Ralf Baechle <[email protected]>
2014-08-02 00:06:42 +02:00
Aaro Koskinen f64988f13e MIPS: OCTEON: watchdog: don't jump to bootloader without entry address
If CONFIG_HOTPLUG_CPU is set, the driver thinks bootloader entry
address is configured and we should jump there. However, this is
not necessarily true if the kernel is booted on a system
with older/incompatible bootloader.

Add dynamic checks for the bootloader entry address.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: David Daney <[email protected]>
Cc: [email protected]
Patchwork: https://patchwork.linux-mips.org/patch/7201/
Signed-off-by: Ralf Baechle <[email protected]>
2014-08-02 00:06:42 +02:00
Aaro Koskinen 0953609f29 MIPS: OCTEON: SMP: delete redundant check
The same check is already done earlier in octeon_smp_hotplug_setup().

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: David Daney <[email protected]>
Cc: [email protected]
Cc: Aaro Koskinen <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/7199/
Signed-off-by: Ralf Baechle <[email protected]>
2014-08-02 00:06:41 +02:00
Aaro Koskinen e5873388e2 staging: octeon-usb: fix endianness bug
wHubCharacteristics gets wrong value on big-endian CPUs.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-07-08 16:39:22 -07:00
Aaro Koskinen 8dcf4ecea9 staging: octeon-usb: return transferred bytes only on success
Return transferred bytes only when transfer was successful.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-07-08 16:39:22 -07:00
Aaro Koskinen d8c39d3f20 staging: octeon-usb: don't retry on data toggle error
On data toggle error, we don't know if and how many bytes were
successfully transferred by DMA. We should just fail the transaction
instead of trying a retry.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-07-08 16:39:22 -07:00
Aaro Koskinen e5b90898d6 staging: octeon-usb: use usb_hcd_link_urb_to_ep()
The driver did not use link_urb_to_ep() / unlink_urb_from_ep(). This
caused odd behaviour in some error recovery situations, all requests
would start to fail after the first failure.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-07-08 16:39:22 -07:00
Aaro Koskinen cdd15d8925 staging: octeon-usb: drop dequeue tasklet
Cancel requests synchronously instead of using the dequeue tasklet.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-07-08 16:39:22 -07:00
Aaro Koskinen 20f6b82992 staging: octeon-usb: use generic prefetch
Use generic prefetch.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-05-24 02:01:09 +09:00
Aaro Koskinen a4570140b3 staging: octeon-usb: delete redudant prefetches
cvmx_usb_pipe fits into a cache-line so additional prefetches are not
really helping anything.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-05-24 02:01:08 +09:00
Aaro Koskinen 7ceb1892c0 video: omap: delete support for early fbmem allocation
Commit 1e434f9318 (OMAPFB: remove early mem
alloc from old omapfb) deleted the support for early fbmem allocation
from the platform code, but some code still remains in the driver side.
Delete this code now, as it repotedly causes build issues on !MMU.

The patch was tested on Amstrad E3 and Nokia 770 and framebuffer
functionality is not affected.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
2014-05-16 11:56:12 +03:00
Aaro Koskinen 8e8acb3296 MIPS/loongson2_cpufreq: Fix CPU clock rate setting
Loongson2 has been using (incorrectly) kHz for cpu_clk rate. This has
been unnoticed, as loongson2_cpufreq was the only place where the rate
was set/get. After commit 652ed95d5f
(cpufreq: introduce cpufreq_generic_get() routine) things however broke,
and now loops_per_jiffy adjustments are incorrect (1000 times too long).
The patch fixes this by changing cpu_clk rate to Hz.

Signed-off-by: Aaro Koskinen <[email protected]>
Cc: [email protected]
Cc: Rafael J. Wysocki <[email protected]>
Cc: Viresh Kumar <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: Aaro Koskinen <[email protected]>
Patchwork: https://patchwork.linux-mips.org/patch/6678/
Signed-off-by: Ralf Baechle <[email protected]>
2014-05-13 00:29:41 +02:00
Aaro Koskinen 120ee599b5 staging: octeon-usb: prevent memory corruption
octeon-hcd will crash the kernel when SLOB is used. This usually happens
after the 18-byte control transfer when a device descriptor is read.
The DMA engine is always transfering full 32-bit words and if the
transfer is shorter, some random garbage appears after the buffer.
The problem is not visible with SLUB since it rounds up the allocations
to word boundary, and the extra bytes will go undetected.

Fix by providing quirk functions for DMA map/unmap that allocate a bigger
temporary buffer when necessary. Tested by booting EdgeRouter Lite
to USB stick root file system with SLAB, SLOB and SLUB kernels.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=72121
Reported-by: Sergey Popov <[email protected]>
Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-20 01:51:12 +00:00
Aaro Koskinen 5c2f26def8 staging: octeon-ethernet: add missing include
ethernet-mem was missing its own include file, causing sparse to complain
about undeclared global functions.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-04 16:42:28 -08:00
Aaro Koskinen 54bf917ee1 staging: octeon-ethernet: make global_register_lock static
Make global_register_lock static to eliminate a sparse warning.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-04 16:42:28 -08:00
Aaro Koskinen 54396b6b03 staging: octeon-ethernet: make cvm_oct_free_tx_skbs static
Make cvm_oct_free_tx_skbs static to eliminate a sparse warning.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-04 16:42:28 -08:00
Aaro Koskinen 90419615c2 staging: octeon-ethernet: make num_packet_buffers static
Make num_packet_buffers static to eliminate a sparse warning.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-04 16:42:28 -08:00
Aaro Koskinen 5ff8bebbd2 staging: octeon-ethernet: drop CONFIG_CAVIUM_OCTEON_NUM_PACKET_BUFFERS
We don't have such Kconfig option, so the current code is dead and
the documentation is wrong. Users can adjust this setting by using
module parameter or kernel command line, so we can delete this code.

Signed-off-by: Aaro Koskinen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-04 16:42:28 -08:00
Aaro Koskinen ea2787f350 ASoC: n810: fix init with DT boot
Since 3.14-rc1 only DT boot has been supported on N810, so this
file fails to init. Make a minimal fix to retain functionality.
This file should be properly converted to DT in longer term.

There seems to be still other unresolved issues with N810 audio support,
but this patch is needed at minimum as otherwise the machine driver
probing would completely fail.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: Jarkko Nikula <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
2014-03-04 12:28:58 +08:00
Aaro Koskinen c3580bc125 ARM: dts: N900: add missing compatible property
Add missing compatible property to avoid problems in the future.

Signed-off-by: Aaro Koskinen <[email protected]>
Reviewed-by: Nishanth Menon <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
2014-02-13 15:22:07 -08:00
Aaro Koskinen 2a074deffd ARM: dts: N9/N950: fix boot hang with 3.14-rc1
N9/N950 does not boot anymore with 3.14-rc1, because SoC compatible
property is missing. Fix that.

Signed-off-by: Aaro Koskinen <[email protected]>
Reviewed-by: Nishanth Menon <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
2014-02-13 15:21:36 -08:00