Re: [RESEND PATCH V6 1/4] cpufreq: exynos: Add cpufreq driver for exynos5440
Hi Rafael, On Fri, Apr 12, 2013 at 4:49 PM, Rafael J. Wysocki wrote: > On Thursday, April 11, 2013 06:23:52 PM Nishanth Menon wrote: >> Hi, >> On Mon, Apr 8, 2013 at 4:57 AM, Amit Daniel Kachhap >> wrote: >> > + >> > +static int init_div_table(void) >> > +{ >> > + struct cpufreq_frequency_table *freq_tbl = dvfs_info->freq_table; >> > + unsigned int tmp, clk_div, ema_div, freq, volt_id; >> > + int i = 0; >> > + struct opp *opp; >> > + >> > + for (i = 0; freq_tbl[i].frequency != CPUFREQ_TABLE_END; i++) { >> > + >> > + opp = opp_find_freq_exact(dvfs_info->dev, >> > + freq_tbl[i].frequency * 1000, >> > true); >> > + if (IS_ERR(opp)) { >> > + dev_err(dvfs_info->dev, >> > + "failed to find valid OPP for %u KHZ\n", >> > + freq_tbl[i].frequency); >> > + return PTR_ERR(opp); >> > + } >> please use RCU read locks. >> >> > + >> > + freq = freq_tbl[i].frequency / 1000; /* In MHZ */ >> > + clk_div = ((freq / CPU_DIV_FREQ_MAX) & P0_7_CPUCLKDEV_MASK) >> > + << P0_7_CPUCLKDEV_SHIFT; >> > + clk_div |= ((freq / CPU_ATB_FREQ_MAX) & >> > P0_7_ATBCLKDEV_MASK) >> > + << P0_7_ATBCLKDEV_SHIFT; >> > + clk_div |= ((freq / CPU_DBG_FREQ_MAX) & P0_7_CSCLKDEV_MASK) >> > + << P0_7_CSCLKDEV_SHIFT; >> > + >> > + /* Calculate EMA */ >> > + volt_id = opp_get_voltage(opp); >> Please use RCU read locks as documented for OPP library. > > Argh. I overlooked that and the series has been applied already. Care to > send > a fix against linux-pm.git/linux-next? Will submit a patch with RCU lock changes. Thanks, Amit Daniel > > Rafael > > > -- > I speak only for myself. > Rafael J. Wysocki, Intel Open Source Technology Center. > > ___ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RESEND PATCH V6 1/4] cpufreq: exynos: Add cpufreq driver for exynos5440
On Thursday, April 11, 2013 06:23:52 PM Nishanth Menon wrote: > Hi, > On Mon, Apr 8, 2013 at 4:57 AM, Amit Daniel Kachhap > wrote: > > + > > +static int init_div_table(void) > > +{ > > + struct cpufreq_frequency_table *freq_tbl = dvfs_info->freq_table; > > + unsigned int tmp, clk_div, ema_div, freq, volt_id; > > + int i = 0; > > + struct opp *opp; > > + > > + for (i = 0; freq_tbl[i].frequency != CPUFREQ_TABLE_END; i++) { > > + > > + opp = opp_find_freq_exact(dvfs_info->dev, > > + freq_tbl[i].frequency * 1000, true); > > + if (IS_ERR(opp)) { > > + dev_err(dvfs_info->dev, > > + "failed to find valid OPP for %u KHZ\n", > > + freq_tbl[i].frequency); > > + return PTR_ERR(opp); > > + } > please use RCU read locks. > > > + > > + freq = freq_tbl[i].frequency / 1000; /* In MHZ */ > > + clk_div = ((freq / CPU_DIV_FREQ_MAX) & P0_7_CPUCLKDEV_MASK) > > + << P0_7_CPUCLKDEV_SHIFT; > > + clk_div |= ((freq / CPU_ATB_FREQ_MAX) & P0_7_ATBCLKDEV_MASK) > > + << P0_7_ATBCLKDEV_SHIFT; > > + clk_div |= ((freq / CPU_DBG_FREQ_MAX) & P0_7_CSCLKDEV_MASK) > > + << P0_7_CSCLKDEV_SHIFT; > > + > > + /* Calculate EMA */ > > + volt_id = opp_get_voltage(opp); > Please use RCU read locks as documented for OPP library. Argh. I overlooked that and the series has been applied already. Care to send a fix against linux-pm.git/linux-next? Rafael -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RESEND PATCH V6 1/4] cpufreq: exynos: Add cpufreq driver for exynos5440
Hi, On Mon, Apr 8, 2013 at 4:57 AM, Amit Daniel Kachhap wrote: > + > +static int init_div_table(void) > +{ > + struct cpufreq_frequency_table *freq_tbl = dvfs_info->freq_table; > + unsigned int tmp, clk_div, ema_div, freq, volt_id; > + int i = 0; > + struct opp *opp; > + > + for (i = 0; freq_tbl[i].frequency != CPUFREQ_TABLE_END; i++) { > + > + opp = opp_find_freq_exact(dvfs_info->dev, > + freq_tbl[i].frequency * 1000, true); > + if (IS_ERR(opp)) { > + dev_err(dvfs_info->dev, > + "failed to find valid OPP for %u KHZ\n", > + freq_tbl[i].frequency); > + return PTR_ERR(opp); > + } please use RCU read locks. > + > + freq = freq_tbl[i].frequency / 1000; /* In MHZ */ > + clk_div = ((freq / CPU_DIV_FREQ_MAX) & P0_7_CPUCLKDEV_MASK) > + << P0_7_CPUCLKDEV_SHIFT; > + clk_div |= ((freq / CPU_ATB_FREQ_MAX) & P0_7_ATBCLKDEV_MASK) > + << P0_7_ATBCLKDEV_SHIFT; > + clk_div |= ((freq / CPU_DBG_FREQ_MAX) & P0_7_CSCLKDEV_MASK) > + << P0_7_CSCLKDEV_SHIFT; > + > + /* Calculate EMA */ > + volt_id = opp_get_voltage(opp); Please use RCU read locks as documented for OPP library. Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html