On 20/03/2026 17:42, Leo Yan wrote:
Add a new flag CORESIGHT_DESC_CPU_BOUND to indicate components that are CPU bound. Populate CPU ID into the coresight_device structure; otherwise, set CPU ID to -1 for non CPU bound devices.
Use the {0} initializer to clear coresight_desc structures to avoid uninitialized values.
Signed-off-by: Leo Yan leo.yan@arm.com
...
t-trbe.c b/drivers/hwtracing/coresight/coresight-trbe.c
index 1511f8eb95afb5b4610b8fbdacc8b174b6b08530..14e35b9660d76e47619cc6026b94929b3bb3e02b 100644 --- a/drivers/hwtracing/coresight/coresight-trbe.c +++ b/drivers/hwtracing/coresight/coresight-trbe.c @@ -1289,6 +1289,8 @@ static void arm_trbe_register_coresight_cpu(struct trbe_drvdata *drvdata, int cp desc.ops = &arm_trbe_cs_ops; desc.groups = arm_trbe_groups; desc.dev = dev;
- desc.cpu = cpu;
- desc.flags = CORESIGHT_DESC_CPU_BOUND; trbe_csdev = coresight_register(&desc); if (IS_ERR(trbe_csdev)) goto cpu_clear;
diff --git a/include/linux/coresight.h b/include/linux/coresight.h index 2131febebee93d609df1aea8534a10898b600be2..9d85e15337bc7e339695df18bcd5dac291d44916 100644 --- a/include/linux/coresight.h +++ b/include/linux/coresight.h @@ -141,6 +141,8 @@ struct csdev_access { .base = (_addr), \ }) +#define CORESIGHT_DESC_CPU_BOUND BIT(0)
- /**
- struct coresight_desc - description of a component required from drivers
- @type: as defined by @coresight_dev_type.
@@ -153,6 +155,8 @@ struct csdev_access {
in the component's sysfs sub-directory.- @name: name for the coresight device, also shown under sysfs.
- @access: Describe access to the device
- @flags: The descritpion flags.
*/ struct coresight_desc { enum coresight_dev_type type;
- @cpu: The CPU this component is affined to.
@@ -163,6 +167,8 @@ struct coresight_desc { const struct attribute_group **groups; const char *name; struct csdev_access access;
- u32 flags;
- int cpu; };
/** @@ -261,6 +267,7 @@ struct coresight_trace_id_map {
CS_MODE_SYSFS. Otherwise it must be accessed from inside thespinlock.- @orphan: true if the component has connections that haven't been linked.
- @cpu: The CPU this component is affined to (-1 for not CPU bound).
- @sysfs_sink_activated: 'true' when a sink has been selected for use via sysfs
by writing a 1 to the 'enable_sink' file. A sink can beactivated but not yet enabled. Enabling for a _sink_ happens@@ -287,6 +294,7 @@ struct coresight_device { atomic_t mode; int refcnt; bool orphan;
- int cpu;
super minor nit: Could we keep the bools closer to better pack the structure ? Not that it really matters.
Otherwise looks good to me
Suzuki