Commit Graph

13 Commits (36d122efb0dd37d6974ac8e1ab281fc2eeb02029)

Author SHA1 Message Date
John Crispin 6a44e4ebac oxnas: remove pre kernel 3.18 support from pinctrl driver
just some pruning...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44923 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-21 21:47:20 +00:00
Felix Fietkau 9d94ace19a oxnas: clk-oxnas: rework pllb enable function
kernel lock debugging unveiled that we should not call
of_reset_control_get inside a clock's enable operation (see below)

move of_reset_control_* previously used in pllb_clk_enable to new
pllb_clk_prepare and pllb_clk_unprepare functions.
use a container to carry runtime information.

------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:2742 lockdep_trace_alloc+0xb8/0xfc()
DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.26 #6
[<c001a6ac>] (unwind_backtrace) from [<c0016dec>] (show_stack+0x10/0x14)
[<c0016dec>] (show_stack) from [<c0194f68>] (dump_stack+0x7c/0x94)
[<c0194f68>] (dump_stack) from [<c0021b50>] (warn_slowpath_common+0x68/0x8c)
[<c0021b50>] (warn_slowpath_common) from [<c0021ba4>] (warn_slowpath_fmt+0x30/0x40)
[<c0021ba4>] (warn_slowpath_fmt) from [<c0061b30>] (lockdep_trace_alloc+0xb8/0xfc)
[<c0061b30>] (lockdep_trace_alloc) from [<c00cb740>] (kmem_cache_alloc+0x1c/0xf8)
[<c00cb740>] (kmem_cache_alloc) from [<c01d33c8>] (of_reset_control_get+0xe8/0x12c)
[<c01d33c8>] (of_reset_control_get) from [<c0269228>] (pllb_clk_enable+0x14/0xbc)
[<c0269228>] (pllb_clk_enable) from [<c0265738>] (__clk_enable+0x54/0xa0)
[<c0265738>] (__clk_enable) from [<c0265acc>] (clk_enable+0x18/0x2c)
[<c0265acc>] (clk_enable) from [<c04325f8>] (oxnas_pcie_probe+0x3b8/0x6a0)
[<c04325f8>] (oxnas_pcie_probe) from [<c01f2510>] (platform_drv_probe+0x18/0x48)
[<c01f2510>] (platform_drv_probe) from [<c01f1070>] (driver_probe_device+0xd8/0x24c)
[<c01f1070>] (driver_probe_device) from [<c01f1298>] (__driver_attach+0x70/0x94)
[<c01f1298>] (__driver_attach) from [<c01ef728>] (bus_for_each_dev+0x4c/0x98)
[<c01ef728>] (bus_for_each_dev) from [<c01f0818>] (bus_add_driver+0xcc/0x1e8)
[<c01f0818>] (bus_add_driver) from [<c01f169c>] (driver_register+0xa0/0xe8)
[<c01f169c>] (driver_register) from [<c01f2568>] (platform_driver_probe+0x20/0xa4)
[<c01f2568>] (platform_driver_probe) from [<c0013a3c>] (do_one_initcall+0x90/0x140)
[<c0013a3c>] (do_one_initcall) from [<c0421d38>] (kernel_init_freeable+0x1e4/0x2c0)
[<c0421d38>] (kernel_init_freeable) from [<c000c214>] (kernel_init+0x8/0x104)
[<c000c214>] (kernel_init) from [<c0008768>] (ret_from_fork+0x14/0x2c)
---[ end trace 5f17ed2f61e0683f ]---

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43787 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-27 13:03:12 +00:00
Felix Fietkau d1f285d96c oxnas: sata_oxnas: make irq handler more readable
safed one level of indention by using 'continue' instead of a
lengthy if-clause.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
v2: use logic-AND instead of '?' operator when checking for hw bug 6320

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43768 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-22 20:47:10 +00:00
Felix Fietkau 3230566326 oxnas: sata_oxnas: refactoring phase 2
- replaced // comments by /* comments */
 - added line-breaks where needed
 - fixed white-space according to kernel style
 - fixed some obvious spelling mistakes in comments and printks
 - removed some unneeded left-overs imported from vendor code-base
 - replaced printk(...) by libata macros where possible

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43767 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-22 20:47:01 +00:00
Felix Fietkau 10d27e3877 oxnas: sata_oxnas: refactoring phase 1
locking for 2nd port and hwraid was added from vendor's GPL code which
doesn't comply with current kernel coding style.

 - moved all global variables into host_priv
 - renamed locks
 - sanetized acquire() and release() parameter list

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43766 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-22 20:46:49 +00:00
John Crispin 28619490ee oxnas: fix gpio-fan on kd20
define speed-map and include kmod-hwmon-gpiofan in kd20 profile

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43678 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-13 08:04:54 +00:00
John Crispin bcb31c4bc7 oxnas: also make use of the GPIO poweroff driver
Works great to power-off the kd20 ;)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43677 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-13 08:02:52 +00:00
John Crispin 1c40c5b7ad oxnas: use libata ledtrig support for kd20 hdd leds
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43675 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-12 20:24:33 +00:00
John Crispin b689b5cb8a oxnas: add support for 2nd S-ATA port to sata_oxnas driver
similar to mv_sata, use nr-ports attribute from device tree.
import and adapt locking code from vendor GPL sources.
add dma controller handling, it may be used in future to avoid
full core resets similar to the vendor SDK's "progressive cleanup"
function.

this is still very dirty and aimed to first of all do things
quite exactly like the reference code. and it somehow works.
obviously there is lots of room for improvement :)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43598 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-10 15:51:07 +00:00
John Crispin bbbf88ec21 oxnas: add copyright header to sata_oxnas
sata_oxnas.c is obviously a refactored version of sata_ox820.c
which does contain this header.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43597 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-10 15:51:00 +00:00
John Crispin 2af13d3e79 oxnas/kd20: use gpio-beeper
gpio-beeper module was added to the kernel recently.
Make use of it to drive the piezoelectric buzzer of the kd20.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43496 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-02 15:25:09 +00:00
John Crispin 841fc9915f oxnas: ehci: rename vendor prefix plxtch to plxtech
it was changed in DTS by commit
oxnas-target: fix typo in OX820 device-tree

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43474 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:15:30 +00:00
John Crispin 7d4dfd7dd7 add new target 'oxnas'
This is the oxnas target previously developed at
http://gitorious.org/openwrt-oxnas
Basically, this consolidates the changes and addtionas from
http://github.org/kref/linux-oxnas
into a new OpenWrt hardware target 'oxnas' adding support for
 PLX Technology NAS7820/NAS7821/NAS7825/...
formally known as
 Oxford Semiconductor OXE810SE/OXE815/OX820/...

For now there are 4 supported boards:
Cloud Engines Pogoplug V3 (without PCIe)
 fully supported

Cloud Engines Pogoplug Pro (with PCIe)
 fully supported

MitraStar STG-212
 aka ZyXEL NSA-212,
 aka Medion Akoya P89625 / P89636 / P89626 / P89630,
 aka Medion MD 86407 / MD 86805 / MD 86517 / MD 86587
 fully supported, see http://wiki.openwrt.org/toh/medion/md86587

Shuttle KD-20
 partially supported (S-ATA driver lacks support for 2nd port)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43388 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-26 09:00:08 +00:00