31 Aug, 2016

1 commit

  • With this commit [1] address range filter information is now found
    in the struct hw_perf_event::addr_filters. As such pass the event
    itself to the coresight_source::enable/disable() functions so that
    both event attribute and filter can be accessible for configuration.

    [1] 'commit 375637bc5249 ("perf/core: Introduce address range filtering")'

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     

21 Feb, 2016

5 commits

  • Adding an ETB10 specific AUX area operations to be used
    by the perf framework when events are initialised.

    Part of this operation involves modeling the mmap'ed area
    based on the specific ways a sink buffer gathers information.

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     
  • Adding an operation mode to the sink->enable() API in order
    to prevent simultaneous access from different callers.

    TPIU and TMC won't be supplemented with the AUX area
    API immediately and as such ignore the new mode.

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     
  • That way traces can be enabled and disabled automatically
    from the Perf subystem using the PMU abstraction.

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     
  • Adding a new mode to source API enable() in order to
    distinguish where the request comes from. That way it is
    possible to perform different operations based on where
    the request was issued from.

    The ETM4x driver is also modified to keep in sync with the
    new interface.

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     
  • When using the Coresight framework from the sysFS interface a
    tracer is always handling a single session and as such, a path
    can be associated with a tracer. But when supporting multiple
    session per tracer there is no guarantee that sessions will always
    have the same path from source to sink.

    This patch is removing the automatic association between path and
    tracers. The building of a path and enablement of the components
    in the path are decoupled, allowing for the association of a path
    with a session rather than a tracer.

    To keep backward functionality with the current sysFS access methods
    a per-cpu place holder is used to keep a handle on the path built when
    tracers are enabled. Lastly APIs to build paths and enable tracers are
    made public so that other subsystem can interact with the Coresight
    framework.

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     

08 Feb, 2016

1 commit

  • Other than plainly parsing the device tree there is no way to
    know which CPU a tracer is affined to. As such adding an
    interface to lookup the CPU field enclosed in the etm_drvdata
    structure that was initialised at boot time.

    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mathieu Poirier
     

08 Oct, 2015

1 commit


06 Aug, 2015

2 commits

  • The patch "Coresight: Add an interface for supporting ETM3/4 Context ID
    tracing" adds uses of find_task_by_vpid() and task_pid_nr() from
    linux/sched.h but does not include that header causing build errors in
    at least an ARM allmodconfig where it is not implicitly included. Add an
    explicit include to fix that.

    Signed-off-by: Mark Brown
    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Mark Brown
     
  • If PID namespace is enabled, everytime users configure the Context ID
    register to trace the specific process, there needs to be a translation
    between the real PID seen from the kernel and VPID seen from the
    namespace in which the user's process resides .

    This patch just adds the translation interface for ETMs.

    Signed-off-by: Chunyan Zhang
    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Chunyan Zhang
     

05 Feb, 2015

1 commit


12 Jan, 2015

2 commits


27 Nov, 2014

1 commit

  • fixes following minor issues in code comments in coresight.h
    - typo %s/enpoint/endpoint
    - alignment of comment section for struct coresight_desc
    - correction of comment for struct coresight_connection and
    struct coresight_device.

    Signed-off-by: Pankaj Dubey
    Signed-off-by: Greg Kroah-Hartman

    Pankaj Dubey
     

08 Nov, 2014

1 commit

  • CoreSight components are compliant with the ARM CoreSight
    architecture specification and can be connected in various
    topologies to suit a particular SoC tracing needs. These trace
    components can generally be classified as sources, links and
    sinks. Trace data produced by one or more sources flows through
    the intermediate links connecting the source to the currently
    selected sink.

    The CoreSight framework provides an interface for the CoreSight trace
    drivers to register themselves with. It's intended to build up a
    topological view of the CoreSight components and configure the
    correct serie of components on user input via sysfs.

    For eg., when enabling a source, the framework builds up a path
    consisting of all the components connecting the source to the
    currently selected sink(s) and enables all of them.

    The framework also supports switching between available sinks
    and provides status information to user space applications
    through the debugfs interface.

    Signed-off-by: Pratik Patel
    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Pratik Patel