From: kos Date: Fri, 26 Jul 2013 11:54:41 +0000 (+0900) Subject: Fix Duo2 WOL problem X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus;a=commitdiff_plain;h=b86dc9d3f1d6335ff143e2aab465ede524f38c5d Fix Duo2 WOL problem --- diff --git a/meta-bsp/vuduo2/recipes/linux/linux-vuplus-3.3.8/brcm_s3_wol.patch b/meta-bsp/vuduo2/recipes/linux/linux-vuplus-3.3.8/brcm_s3_wol.patch index dcfc5f7..1d1e4b5 100644 --- a/meta-bsp/vuduo2/recipes/linux/linux-vuplus-3.3.8/brcm_s3_wol.patch +++ b/meta-bsp/vuduo2/recipes/linux/linux-vuplus-3.3.8/brcm_s3_wol.patch @@ -1,3 +1,23 @@ +diff --git a/arch/mips/brcmstb/s3_standby.S b/arch/mips/brcmstb/s3_standby.S +index f1d836a..038a67d 100644 +--- a/arch/mips/brcmstb/s3_standby.S ++++ b/arch/mips/brcmstb/s3_standby.S +@@ -76,6 +76,7 @@ + # save cp0 sr + sw t1, 48(t0) + ++#if 0 + # Write-back gp registers - cache will be gone after wakeup + # align context area address to the cache line + addiu t1, a2, -1 +@@ -118,6 +119,7 @@ skip_dram_encode: + sw t1, 0(t0) + lw zero, 0(t0) + ++#endif + # deep power down request + pd_request: + li t0, REG(BCHP_AON_CTRL_PM_CTRL) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c old mode 100644 new mode 100755 @@ -39,29 +59,31 @@ index faf58ab..52e31ed device_set_wakeup_enable(&dev->dev, wol->wolopts); pDevCtrl->wolopts = wol->wolopts; return 0; -diff --git a/kernel/printk.c b/kernel/printk.c -index 1af3691..b0b73ff 100644 ---- a/kernel/printk.c -+++ b/kernel/printk.c -@@ -1125,11 +1125,21 @@ MODULE_PARM_DESC(console_suspend, "suspend console during suspend" +diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c +index 038d72b..dce3483 100644 +--- a/kernel/power/suspend.c ++++ b/kernel/power/suspend.c +@@ -131,6 +131,15 @@ void __attribute__ ((weak)) arch_suspend_enable_irqs(void) * - * This disables printk() while we go into suspend states + * This function should be called after devices have been suspended. */ +void (*brcm_s3_cb)(void); + + +void register_brcm_s3_cb(void (*cb)(void)) +{ -+ brcm_s3_cb = cb; ++ brcm_s3_cb = cb; +} +EXPORT_SYMBOL(register_brcm_s3_cb); + - void suspend_console(void) + static int suspend_enter(suspend_state_t state, bool *wakeup) { - if (!console_suspend_enabled) - return; - printk("Suspending console(s) (use no_console_suspend to debug)\n"); + int error; +@@ -156,6 +165,7 @@ static int suspend_enter(suspend_state_t state, bool *wakeup) + if (suspend_test(TEST_PLATFORM)) + goto Platform_wake; + + if(brcm_s3_cb) brcm_s3_cb(); - console_lock(); - console_suspended = 1; - up(&console_sem); + error = disable_nonboot_cpus(); + if (error || suspend_test(TEST_CPUS)) + goto Enable_cpus; diff --git a/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend b/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend index faf81bd..16bf74d 100644 --- a/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend +++ b/meta-bsp/vuduo2/recipes/linux/linux-vuplus_3.3.8.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" -PR .= "-bsp3" +PR .= "-bsp4" SRC_URI += "file://remove_genet1.patch;patch=1;pnum=1 \ file://nand_base.patch;patch=1;pnum=1 \