From 33d97b37f7cfc9a3f0634a77c50d91944f1b2816 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E6=9D=9C=E5=9D=A4=E6=98=8E?= Date: Wed, 9 Jun 2010 01:09:33 +0000 Subject: [PATCH] update rk2818_dsp probe --- drivers/staging/rk2818/rk2818_dsp/rk2818_dsp.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/staging/rk2818/rk2818_dsp/rk2818_dsp.c b/drivers/staging/rk2818/rk2818_dsp/rk2818_dsp.c index 01f9f070ac47..134a725dd324 100644 --- a/drivers/staging/rk2818/rk2818_dsp/rk2818_dsp.c +++ b/drivers/staging/rk2818/rk2818_dsp/rk2818_dsp.c @@ -170,7 +170,7 @@ void dsp_set_clk(int clkrate) if(clkrate > 24 && clkrate < 600) { if(inf->clk) clk_set_rate(inf->clk, clkrate*1000000); } else { - if(inf->clk) clk_set_rate(inf->clk, 300*1000000); + if(inf->clk) clk_set_rate(inf->clk, 500*1000000); } #else unsigned int freqreg = 0; @@ -854,6 +854,9 @@ static int __init dsp_drv_probe(struct platform_device *pdev) g_inf = inf; + dsp_powerctl(DPC_SLEEP, 0); + inf->dsp_status = DS_SLEEP; + return 0; reg_fail: @@ -913,9 +916,11 @@ static int dsp_drv_suspend(struct platform_device *pdev, pm_message_t state) if(DS_NORMAL==inf->dsp_status) return -EPERM; - dsp_powerctl(DPC_SLEEP, 0); - inf->dsp_status = DS_SLEEP; - //printk("dsp work mode : sleep mode \n"); + if(DS_SLEEP != inf->dsp_status ) { + dsp_powerctl(DPC_SLEEP, 0); + inf->dsp_status = DS_SLEEP; + //printk("dsp work mode : sleep mode \n"); + } return 0; } -- 2.34.1