03 May, 2016

1 commit

  • 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: Chanwoo Choi
    Acked-by: MyungJoo Ham

    Chanwoo Choi
     

13 Jan, 2016

2 commits


30 Jan, 2015

1 commit

  • 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
    Cc: Kyungmin Park
    Signed-off-by: Chanwoo Choi
    [Commit message rewritten & conflict resolved by MyungJoo]
    Signed-off-by: MyungJoo Ham

    Chanwoo Choi