- 03 5月, 2016 9 次提交
-
-
由 MyungJoo Ham 提交于
- Typo in comments fixed - Unnecessary return statement removed Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch use the phandle to find the instance of devfreq-event device in Device Tree when calling the devfreq_event_get_edev_by_phandle() because there is two type devfreq-event devices as following: First case, exynos-ppmu.c driver provides the maximum four event of each PPMU. So, when getting the instance of devfreq-event device, using the unique name of struct devfreq_event_desc. Second case, exynos-nocp.c driver provide the only one event of each NoC Probe device. So, when getting the instance of devfreq-event device, using the phandle of each NoC probe device. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds NoC (Network on Chip) Probe driver which provides the primitive values to get the performance data. The packets that the Network on Chip (NoC) probes detects are transported over the network infrastructure. Exynos542x bus has multiple NoC probes to provide bandwidth information about behavior of the SoC that you can use while analyzing system performance. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Tested-by: NMarkus Reichl <m.reichl@fivetechno.de> Tested-by: NAnand Moon <linux.amoon@gmail.com> Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch removes the unused exynos4/5 busfreq driver. Instead, generic exynos-bus frequency driver support the all Exynos SoCs. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the support of bus frequency feature for sub-blocks which share the one power line. If each bus depends on the power line, each bus is not able to change the voltage by oneself. To optimize the power-consumption on runtime, some buses using the same power line should change the source clock and regulator at the same time. So, this patch uses the passive governor to support the bus frequency for all buses which sharing the one power line. For example, Exynos3250 include the two power line for AXI buses as following: : VDD_MIF : MIF (Memory Interface) provide the DMC (Dynamic Memory Controller) with the power (regulator). : VDD_INT : INT (Internal) provide the various sub-blocks with the power (regulator). Each bus is included in as follwoing block. In the case of VDD_MIF, only DMC bus use the power line. So, there is no any depencency between buese. But, in the case of VDD_INT, various buses share the one power line of VDD_INT. We need to make the depenency between buses. When using passive governor, there is no problem to support the bus frequency as DVFS for all buses. One bus should be operated as the parent bus device which gathering the current load of INT block and then decides the new frequency with some governors except of passive governor. After deciding the new frequency by the parent bus device, the rest bus devices will change the each source clock according to new frequency of the parent bus device. - MIF (Memory Interface) block : VDD_MIF |--- DMC - INT (Internal) block : VDD_INT |--- LEFTBUS (parent) |--- PERIL |--- MFC |--- G3D |--- RIGHTBUS |--- FSYS |--- LCD0 |--- PERIR |--- ISP |--- CAM Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> [tjakobi: Reported debugfs error during booting and cw00.choi fix it.] Reported-by: NTobias Jakobi <tjakobi@math.uni-bielefeld.de> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the new passive governor for DEVFREQ framework. The following governors are already present and used for DVFS (Dynamic Voltage and Frequency Scaling) drivers. The following governors are independently used for one device driver which don't give the influence to other device drviers and also don't receive the effect from other device drivers. - ondemand / performance / powersave / userspace The passive governor depends on operation of parent driver with specific governos extremely and is not able to decide the new frequency by oneself. According to the decided new frequency of parent driver with governor, the passive governor uses it to decide the appropriate frequency for own device driver. The passive governor must need the following information from device tree: - the source clock and OPP tables - the instance of parent device For exameple, there are one more devfreq device drivers which need to change their source clock according to their utilization on runtime. But, they share the same power line (e.g., regulator). So, specific device driver is operated as parent with ondemand governor and then the rest device driver with passive governor is influenced by parent device. Suggested-by: NMyungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> [tjakobi: Reported RCU locking issue and cw00.choi fix it] Reported-by: NTobias Jakobi <tjakobi@math.uni-bielefeld.de> [linux.amoon: Reported possible recursive locking and cw00.choi fix it] Reported-by: NAnand Moon <linux.amoon@gmail.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the new DEVFREQ_TRANSITION_NOTIFIER notifier to send the notification when the frequency of device is changed. This notifier has two state as following: - DEVFREQ_PRECHANGE : Notify it before chaning the frequency of device - DEVFREQ_POSTCHANGE : Notify it after changed the frequency of device And this patch adds the resourced-managed function to release the resource automatically when error happen. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> [m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board] Tested-by: NMarkus Reichl <m.reichl@fivetechno.de> Tested-by: NAnand Moon <linux.amoon@gmail.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the new devfreq_get_devfreq_by_phandle() OF helper function which can find the instance of devfreq device by using phandle ("devfreq"). Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> [m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board] Tested-by: NMarkus Reichl <m.reichl@fivetechno.de> Tested-by: NAnand Moon <linux.amoon@gmail.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the generic exynos bus frequency driver for AMBA AXI bus of sub-blocks in exynos SoC with DEVFREQ framework. The Samsung Exynos SoC have the common architecture for bus between DRAM and sub-blocks in SoC. This driver can support the generic bus frequency driver for Exynos SoCs. In devicetree, Each bus block has a bus clock, regulator, operation-point and devfreq-event devices which measure the utilization of each bus block. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> [m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board] Tested-by: NMarkus Reichl <m.reichl@fivetechno.de> Tested-by: NAnand Moon <linux.amoon@gmail.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
- 17 3月, 2016 1 次提交
-
-
由 Geert Uytterhoeven 提交于
Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 23 2月, 2016 1 次提交
-
-
由 Tomeu Vizoso 提交于
As per the documentation of the devfreq_dev_profile.target callback, set the freq argument to the new frequency before returning. This caused endless messages like this after recent changes in the core: devfreq 6000c800.actmon: Couldn't update frequency transition information. Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Reported-by: NTyler Baker <tyler.baker@linaro.org> Tested-by: NThierry Reding <treding@nvidia.com> Acked-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 13 1月, 2016 6 次提交
-
-
由 MyungJoo Ham 提交于
Before this patch for a device without statistics support, $ cat trans_stat From : To : time(ms) Total transitions : 0 $ After this patch applied for such a device, $ cat trans_stat Not Supported. $ Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch modifies the indentation of 'trans_stat' sysfs to improve readability. The 1GHz is 1000,000,000. So it needs the least 10 position to show the GHz unit. - Before apply this patch, -sh-3.2# cat trans_stat From : To :50000000100000000133000000200000000400000000 time(ms) *50000000: 0 0 0 0 7 1817635 100000000: 4 0 0 0 4 1590 133000000: 1 4 0 0 7 975 200000000: 2 2 7 0 1 2655 400000000: 0 2 5 12 0 1860 Total transition : 58 - After apply this patch, -sh-3.2# cat trans_stat From : To : 50000000 100000000 133000000 200000000 400000000 time(ms) * 50000000: 0 0 0 0 7 14405 100000000: 4 0 0 0 3 2015 133000000: 2 3 0 0 7 1020 200000000: 1 2 7 0 0 2970 400000000: 0 2 5 10 0 1575 Total transition : 53 Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch initialize the freq_table array of each devfreq device by using the devfreq_set_freq_table(). If freq_table is NULL, the devfreq framework is not able to support the frequency transtion information through sysfs. The OPP core uses the integer type for the number of opps in the opp list and uses the 'unsigned long' type for each frequency. So, this patch modifies the type of some variable as following: - the type of freq_table : unsigned int -> unsigned long - the type of max_state : unsigned int -> int - Corrected types, format strings, mutex usages by MyungJoo Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the 'show_one' macro to simplify the duplicate code of both max_freq_show() and min_freq_show(). Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch just fixes following error and warning by using scripts/checkpatch.pl. - Follwoing issue from checkpatch.pl: ERROR: space prohibited before that close parenthesis ')' + if (count < 0 ) { WARNING: line over 80 characters + ptr = devres_alloc(devm_devfreq_event_release, sizeof(*ptr), GFP_KERNEL); Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch just removes the error log when devfreq_event_get_edev_by_phandle() fail to get the instance of devfreq-event device. It is related to sequence of the probe() of each driver. So, this error log might show the always during kernel booting. Each driver using this function can show the appropriate error log. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 02 10月, 2015 1 次提交
-
-
由 Geliang Tang 提交于
When device_register() fails, kfree(devfreq) is called already in devfreq_dev_release(), hence there is no need to call kfree(devfreq) in err_dev again. Signed-off-by: NGeliang Tang <geliangtang@163.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 30 9月, 2015 1 次提交
-
-
由 Tobias Jakobi 提交于
Writing the currently set governor into sysfs currently seems to fail. Fix this by setting the return code to zero before leaving governor_store(). Signed-off-by: NTobias Jakobi <tjakobi@math.uni-bielefeld.de> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 11 9月, 2015 7 次提交
-
-
由 Xiaolong Ye 提交于
time_in_state in struct devfreq is defined as unsigned long, so devm_kzalloc should use sizeof(unsigned long) as argument instead of sizeof(unsigned int), otherwise it will cause unexpected result in 64bit system. Signed-off-by: NXiaolong Ye <yexl@marvell.com> Signed-off-by: NKevin Liu <kliu5@marvell.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 MyungJoo Ham 提交于
Direct invocation of get_dev_status() is no more recommended. Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Javi Merino 提交于
The thermal infrastructure should use the devfreq cooling device, which uses the OPP library to disable OPPs as necessary. Fix a couple of typos in the same comment while we are at it. Signed-off-by: NJavi Merino <javi.merino@arm.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Javi Merino 提交于
The return value of get_dev_status() can be reused. Cache it so that other parts of the kernel can reuse it instead of having to call the same function again. Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NJavi Merino <javi.merino@arm.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Viresh Kumar 提交于
IS_ERR(_OR_NULL) already contain an 'unlikely' compiler flag and there is no need to do that again from its callers. Drop it. Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 MyungJoo Ham 提交于
Make it u64 before left-shifting 32bits. Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the support for PPMU (Platform Performance Monitoring Unit) version 2.0 for Exynos5433 SoC. Exynos5433 SoC must need PPMUv2 which is quite different from PPMUv1.1. The exynos-ppmu.c driver supports both PPMUv1.1 and PPMUv2. Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 03 8月, 2015 1 次提交
-
-
由 Chanwoo Choi 提交于
This patch adds the support for PPMU (Platform Performance Monitoring Unit) version 2.0 for Exynos5433 SoC. Exynos5433 SoC must need PPMUv2 which is quite different from PPMUv1.1. The exynos-ppmu.c driver supports both PPMUv1.1 and PPMUv2. Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 31 3月, 2015 6 次提交
-
-
由 Tomeu Vizoso 提交于
So this driver builds as a module. Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Tomeu Vizoso 提交于
Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Tomeu Vizoso 提交于
To avoid a race in which the interrupt will be handled before the drvdata has been set up. Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Tomeu Vizoso 提交于
As the DT bindings don't have an operating-points property any more, build the OPP table from the frequencies supported by the EMC clock. Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Tomeu Vizoso 提交于
Now that we have per-user clocks and the possibility to set constraints in a clock, set a floor constraint on the EMC clock. Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Tomeu Vizoso 提交于
There seemed to be some miscommunication and an old version of the submitted patches was merged. This commit updates the driver to v5, which had this changelog: * Clarify the units of avg_dependency_threshold * Remove unused references to platform_device * Enable and disable interrupts on governor events * Make sure we handle all interrupts for any of the devices we are sampling * Move locking to be per-actmon-device Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> CC: Alex Frid <afrid@nvidia.com> CC: Mikko Perttunen <mikko.perttunen@kapsi.fi> [Added const to device ID by MyungJoo] Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 30 3月, 2015 2 次提交
-
-
由 MyungJoo Ham 提交于
_remove_devfreq() does not have @skip anymore after 3.16. The comment for _remove_devfreq() has been updated correspondingly. Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the const keyword for devfreq_event_ops structure because the ops of devfreq_event_desc structure should not be changed after initialization. Cc: Myungjoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 12 2月, 2015 1 次提交
-
-
由 Dan Carpenter 提交于
There is a typo here so we test "edev" but we intended to test "edev[i]". Fixes: f262f28c ('PM / devfreq: event: Add devfreq_event class') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 30 1月, 2015 2 次提交
-
-
由 Chanwoo Choi 提交于
This patch fixes the build break of the exynos-ppmu driver because Makefile in drivers/devfreq don't include the entry of devfreq-event.c driver. The original patch[1] includes the entry to build devfreq-event.c without the build break. This build break is generated in the process of merging the patch. [1] https://lkml.org/lkml/2015/1/25/579 - [PATCH v10 1/7] devfreq: event: Add new devfreq_event class to provide basic data for devfreq governor CC init/version.o LD init/built-in.o drivers/built-in.o: In function `exynos_ppmu_probe': binder.c:(.text+0x4447ec): undefined reference to `devm_devfreq_event_add_edev' make: *** [vmlinux] Error 1 Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds a new class in devfreq, devfreq_event, which provides raw data (e.g., memory bus utilization, GPU utilization) for devfreq governors. - devfreq_event device : Provides raw data for a governor of a devfreq device - devfreq device : Monitors device state and changes frequency/voltage of the device using the raw data from its devfreq_event device. A devfreq device dertermines performance states (normally the frequency and the voltage vlues) based on the results its designtated devfreq governor: e.g., ondemand, performance, powersave. In order to give such results required by a devfreq device, the devfreq governor requires data that indicates the performance requirement given to the devfreq device. The conventional (previous) implementatino of devfreq subsystem requires a devfreq device driver to implement its own mechanism to acquire performance requirement for its governor. However, there had been issues with such requirements: 1. Although performance requirement of such devices is usually acquired from common devices (PMU/PPMU), we do not have any abstract structure to represent them properly. 2. Such performance requirement devices (PMU/PPMU) are actual hardware pieces that may be represented by Device Tree directly while devfreq device itself is a virtual entity that are not considered to be represented by Device Tree according to Device Tree folks. In order to address such issues, a devferq_event device (represented by this patch) provides a template for device drivers representing performance monitoring unit, which gives the basic or raw data for preformance requirement, which in turn, is required by devfreq governors. The following description explains the feature of two kind of devfreq class: - devfreq class (existing) : devfreq consumer device use raw data from devfreq_event device for determining proper current system state and change voltage/frequency dynamically using various governors. - devfreq_event class (new) : Provide measured raw data to devfreq device for governor Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> [Commit message rewritten & conflict resolved by MyungJoo] Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 29 1月, 2015 1 次提交
-
-
由 Tomeu Vizoso 提交于
The ACTMON block can monitor several counters, providing averaging and firing interrupts based on watermarking configuration. This implementation monitors the MCALL and MCCPU counters to choose an appropriate frequency for the external memory clock. This patch is based on work by Alex Frid <afrid@nvidia.com> and Mikko Perttunen <mikko.perttunen@kapsi.fi>. Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
-
- 07 1月, 2015 1 次提交
-
-
由 Pranith Kumar 提交于
SRCU is not necessary to be compiled by default in all cases. For tinification efforts not compiling SRCU unless necessary is desirable. The current patch tries to make compiling SRCU optional by introducing a new Kconfig option CONFIG_SRCU which is selected when any of the components making use of SRCU are selected. If we do not select CONFIG_SRCU, srcu.o will not be compiled at all. text data bss dec hex filename 2007 0 0 2007 7d7 kernel/rcu/srcu.o Size of arch/powerpc/boot/zImage changes from text data bss dec hex filename 831552 64180 23944 919676 e087c arch/powerpc/boot/zImage : before 829504 64180 23952 917636 e0084 arch/powerpc/boot/zImage : after so the savings are about ~2000 bytes. Signed-off-by: NPranith Kumar <bobby.prani@gmail.com> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com> CC: Josh Triplett <josh@joshtriplett.org> CC: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com> [ paulmck: resolve conflict due to removal of arch/ia64/kvm/Kconfig. ]
-