Commit Graph

25 Commits (8cc005abbdf6d3b36bbde58b68a5a372a780b0eb)

Author SHA1 Message Date
Felix Fietkau d1902b686d oxnas: re-enable ubifs
After the changes make ubinize.cfg optional in image.mk, ubifs
generation can now safely be enabled again.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43789 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-27 13:03:26 +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
Felix Fietkau f28dad7c6e oxnas: refresh kernel config-3.1[48]
and no longer compile-in ext4 filesystem now that sata_oxnas is
also built as a module.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43765 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-22 20:46:41 +00:00
John Crispin ff1614a661 add "preinit_regular" diag.sh set_state argument
This new argument is used right after starting regular preinit (which
happens if failsafe wasn't triggered). The main purpose of "preinit"
argument is to indicate that failsafe can be triggered, however we were
missing a way to inform user that we don't wait for a trigger anymore.
With this change it's clear when failsafe mode can be triggered.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43715 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-15 10:37:00 +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 b4924f5e2f oxnas: clean up default package selection
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43673 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-12 20:24:13 +00:00
John Crispin 7d6e649d46 oxnas: build S-ATA driver as a module
From: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43665 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-12 16:17:13 +00:00
John Crispin d48ff407a5 oxnas: use u-boot.bin in KDIR
This fixes building *u-boot-initramfs.bin images using ImageBuilder

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43663 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-12 16:16:57 +00:00
John Crispin 28633a32eb oxnas: use ARM BCJ filter for XZ decompression
Restoring the config for kernel 3.14 didn't contain that change already
made to config-3.18.
It is needed to make squashfs in the kernel match the compression settings
for ARCH=arm in the framework.
If set to ARMTHUMB, boot fails due to squashfs being unreadable if the
filesystem was generated for wth ARM BCJ filter.

in include/image.mk:    BCJ_FILTER:=-Xbcj $(LINUX_KARCH)
Thus the ARM filter is used for all ARM targets.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43640 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-11 20:41:51 +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
Felix Fietkau 6e4472e69e kernel: refresh patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43564 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-08 12:04:25 +00:00
John Crispin c2749301a6 oxnas: switch back to kernel 3.14
3.18 still got problems with stuck reboots if rootfs is ubifs...

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43521 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-05 00:20:50 +00:00
John Crispin 64a0deb752 oxnas: re-add support for kernel 3.14
This reverts commit c81ddddde5fd193802d511b42eb7b108aac17136 on
https://gitorious.org/openwrt-oxnas/openwrt-oxnas.git
which removed patches and config for 3.14.

[arm_introduce-dma-fiq-irq-broadcast patch was renamed to match 3.18]

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43520 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-05 00:20:41 +00:00
John Crispin ab7a23e72a oxnas: switch CRC32 implementation to SLICEBY8
similar to what was observed on kirkwood this significantly accelerates
btrfs write operations.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43498 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-02 15:25:28 +00:00
John Crispin 84841474ce oxnas/kd20: add usb-storage to default package set
KD20 got a built-in card-reader wired to the USB-3 root-hub.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43497 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-02 15:25:14 +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 7ee3dad0b6 oxnas: change visible board name
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43475 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-01 16:15:37 +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