coresight: implementing 'cpu_id()' API
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 <mathieu.poirier@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
このコミットが含まれているのは:
@@ -315,6 +315,13 @@ static void etm_enable_hw(void *info)
|
||||
dev_dbg(drvdata->dev, "cpu: %d enable smp call done\n", drvdata->cpu);
|
||||
}
|
||||
|
||||
static int etm_cpu_id(struct coresight_device *csdev)
|
||||
{
|
||||
struct etm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
|
||||
|
||||
return drvdata->cpu;
|
||||
}
|
||||
|
||||
static int etm_trace_id(struct coresight_device *csdev)
|
||||
{
|
||||
struct etm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
|
||||
@@ -421,6 +428,7 @@ static void etm_disable(struct coresight_device *csdev)
|
||||
}
|
||||
|
||||
static const struct coresight_ops_source etm_source_ops = {
|
||||
.cpu_id = etm_cpu_id,
|
||||
.trace_id = etm_trace_id,
|
||||
.enable = etm_enable,
|
||||
.disable = etm_disable,
|
||||
|
@@ -63,6 +63,13 @@ static bool etm4_arch_supported(u8 arch)
|
||||
return true;
|
||||
}
|
||||
|
||||
static int etm4_cpu_id(struct coresight_device *csdev)
|
||||
{
|
||||
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
|
||||
|
||||
return drvdata->cpu;
|
||||
}
|
||||
|
||||
static int etm4_trace_id(struct coresight_device *csdev)
|
||||
{
|
||||
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
|
||||
@@ -262,6 +269,7 @@ static void etm4_disable(struct coresight_device *csdev)
|
||||
}
|
||||
|
||||
static const struct coresight_ops_source etm4_source_ops = {
|
||||
.cpu_id = etm4_cpu_id,
|
||||
.trace_id = etm4_trace_id,
|
||||
.enable = etm4_enable,
|
||||
.disable = etm4_disable,
|
||||
|
新しいイシューから参照
ユーザーをブロックする