• Leo Yan's avatar
    coresight: funnel: Support static funnel · 78e6427b
    Leo Yan authored
    Since CoreSight hardware topology can use a 'hidden' funnel in the
    trace data path, this kind funnel doesn't have register for accessing
    and is used by default from hardware design perspective.  Below is an
    example for related hardware topology:
    
      +------+  +------+
      | cpu0 |->| ETM  |-\
      +------+  +------+  \-> +--------+  +-----+
       ......                 | Funnel |->| ETF |-\    Hidden funnel
      +------+  +------+  /-> +--------+  +-----+  \        |
      | cpu3 |->| ETM  |-/                          \       V
      +------+  +------+                             \-> +--------+
                                                         | Funnel |-> ...
      +------+  +------+                             /-> +--------+
      | cpu4 |->| ETM  |-\                          /
      +------+  +------+  \-> +--------+  +-----+  /
       ......                 | Funnel |->| ETF |-/
      +------+  +------+  /-> +--------+  +-----+
      | cpu7 |->| ETM  |-/
      +------+  +------+
    
    The CoreSight funnel driver only supports dynamic funnel with
    registration register resource, thus it cannot support for the static
    funnel case and it's impossible to create trace data path for this case.
    
    This patch is to extend CoreSight funnel driver to support both for
    static funnel and dynamic funnel.  For the dynamic funnel it reuses the
    code existed in the driver, for static funnel the driver will support
    device probe if without providing register resource and the driver skips
    registers accessing when detect the register base is NULL.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
    Cc: Wanglai Shi <shiwanglai@hisilicon.com>
    Suggested-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Reviewed-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    78e6427b
coresight-funnel.c 7.87 KB