Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 629b6784 authored by Xiaogang Cui's avatar Xiaogang Cui
Browse files

coresight: add attr to show the logical cpu number



Add a new attribute to show the paired cpu number of ETM.
This will be useful information for the user and can be
used for eg. to determine which logical cpu to online for
a particular ETM.

Change-Id: I3ace88606b93f93de47e1f1351d6ff5a7cd04cb4
Signed-off-by: default avatarXiaogang Cui <xiaogang@codeaurora.org>
parent 2049a6cf
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -1853,6 +1853,20 @@ static ssize_t etm_store_pcsave(struct device *dev,
static DEVICE_ATTR(pcsave, S_IRUGO | S_IWUSR, etm_show_pcsave,
		   etm_store_pcsave);

static ssize_t etm_show_cpu(struct device *dev,
				   struct device_attribute *attr,
				   char *buf)
{
	struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
	int cpu;

	cpu = drvdata->cpu;
	if (cpu < 0)
		return -EINVAL;
	return scnprintf(buf, PAGE_SIZE, "%#x\n", cpu);
}
static DEVICE_ATTR(cpu, S_IRUGO, etm_show_cpu, NULL);

static struct attribute *etm_attrs[] = {
	&dev_attr_nr_addr_cmp.attr,
	&dev_attr_nr_cntr.attr,
@@ -1887,6 +1901,7 @@ static struct attribute *etm_attrs[] = {
	&dev_attr_ctxid_mask.attr,
	&dev_attr_sync_freq.attr,
	&dev_attr_timestamp_event.attr,
	&dev_attr_cpu.attr,
	NULL,
};

+15 −0
Original line number Diff line number Diff line
@@ -2826,6 +2826,20 @@ static ssize_t etm_store_vmid_masks(struct device *dev,
static DEVICE_ATTR(vmid_masks, S_IRUGO | S_IWUSR, etm_show_vmid_masks,
		   etm_store_vmid_masks);

static ssize_t etm_show_cpu(struct device *dev,
				   struct device_attribute *attr,
				   char *buf)
{
	struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
	int cpu;

	cpu = drvdata->cpu;
	if (cpu < 0)
		return -EINVAL;
	return scnprintf(buf, PAGE_SIZE, "%#x\n", cpu);
}
static DEVICE_ATTR(cpu, S_IRUGO, etm_show_cpu, NULL);

static struct attribute *etm_attrs[] = {
	&dev_attr_nr_pe_cmp.attr,
	&dev_attr_nr_addr_cmp.attr,
@@ -2880,6 +2894,7 @@ static struct attribute *etm_attrs[] = {
	&dev_attr_vmid_idx.attr,
	&dev_attr_vmid_val.attr,
	&dev_attr_vmid_masks.attr,
	&dev_attr_cpu.attr,
	NULL,
};