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

Commit cd196ac3 authored by Chunyan Zhang's avatar Chunyan Zhang Committed by Greg Kroah-Hartman
Browse files

coresight-etm4x: Change the name of the ctxid_val to ctxid_pid



'ctxid_val' array was used to store the value of ETM context ID comparator
which actually stores the process ID to be traced, so using 'ctxid_pid' as
its name instead make it easier to understand.

This patch also changes the ABI, it is normally not allowed, but
fortunately it is a testing ABI and very new for now. Nevertheless,
if you don't think it should be changed, we could always add an alias
for userspace.

Signed-off-by: default avatarChunyan Zhang <zhang.chunyan@linaro.org>
Reviewed-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 414a1417
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -249,7 +249,7 @@ KernelVersion: 4.01
Contact:	Mathieu Poirier <mathieu.poirier@linaro.org>
Contact:	Mathieu Poirier <mathieu.poirier@linaro.org>
Description:	(RW) Select which context ID comparator to work with.
Description:	(RW) Select which context ID comparator to work with.


What:		/sys/bus/coresight/devices/<memory_map>.etm/ctxid_val
What:		/sys/bus/coresight/devices/<memory_map>.etm/ctxid_pid
Date:		April 2015
Date:		April 2015
KernelVersion:	4.01
KernelVersion:	4.01
Contact:	Mathieu Poirier <mathieu.poirier@linaro.org>
Contact:	Mathieu Poirier <mathieu.poirier@linaro.org>
+10 −10
Original line number Original line Diff line number Diff line
@@ -155,7 +155,7 @@ static void etm4_enable_hw(void *info)
			       drvdata->base + TRCACATRn(i));
			       drvdata->base + TRCACATRn(i));
	}
	}
	for (i = 0; i < drvdata->numcidc; i++)
	for (i = 0; i < drvdata->numcidc; i++)
		writeq_relaxed(drvdata->ctxid_val[i],
		writeq_relaxed(drvdata->ctxid_pid[i],
			       drvdata->base + TRCCIDCVRn(i));
			       drvdata->base + TRCCIDCVRn(i));
	writel_relaxed(drvdata->ctxid_mask0, drvdata->base + TRCCIDCCTLR0);
	writel_relaxed(drvdata->ctxid_mask0, drvdata->base + TRCCIDCCTLR0);
	writel_relaxed(drvdata->ctxid_mask1, drvdata->base + TRCCIDCCTLR1);
	writel_relaxed(drvdata->ctxid_mask1, drvdata->base + TRCCIDCCTLR1);
@@ -507,7 +507,7 @@ static ssize_t reset_store(struct device *dev,


	drvdata->ctxid_idx = 0x0;
	drvdata->ctxid_idx = 0x0;
	for (i = 0; i < drvdata->numcidc; i++)
	for (i = 0; i < drvdata->numcidc; i++)
		drvdata->ctxid_val[i] = 0x0;
		drvdata->ctxid_pid[i] = 0x0;
	drvdata->ctxid_mask0 = 0x0;
	drvdata->ctxid_mask0 = 0x0;
	drvdata->ctxid_mask1 = 0x0;
	drvdata->ctxid_mask1 = 0x0;


@@ -1815,7 +1815,7 @@ static ssize_t ctxid_idx_store(struct device *dev,
}
}
static DEVICE_ATTR_RW(ctxid_idx);
static DEVICE_ATTR_RW(ctxid_idx);


static ssize_t ctxid_val_show(struct device *dev,
static ssize_t ctxid_pid_show(struct device *dev,
			      struct device_attribute *attr,
			      struct device_attribute *attr,
			      char *buf)
			      char *buf)
{
{
@@ -1825,12 +1825,12 @@ static ssize_t ctxid_val_show(struct device *dev,


	spin_lock(&drvdata->spinlock);
	spin_lock(&drvdata->spinlock);
	idx = drvdata->ctxid_idx;
	idx = drvdata->ctxid_idx;
	val = (unsigned long)drvdata->ctxid_val[idx];
	val = (unsigned long)drvdata->ctxid_pid[idx];
	spin_unlock(&drvdata->spinlock);
	spin_unlock(&drvdata->spinlock);
	return scnprintf(buf, PAGE_SIZE, "%#lx\n", val);
	return scnprintf(buf, PAGE_SIZE, "%#lx\n", val);
}
}


static ssize_t ctxid_val_store(struct device *dev,
static ssize_t ctxid_pid_store(struct device *dev,
			       struct device_attribute *attr,
			       struct device_attribute *attr,
			       const char *buf, size_t size)
			       const char *buf, size_t size)
{
{
@@ -1850,11 +1850,11 @@ static ssize_t ctxid_val_store(struct device *dev,


	spin_lock(&drvdata->spinlock);
	spin_lock(&drvdata->spinlock);
	idx = drvdata->ctxid_idx;
	idx = drvdata->ctxid_idx;
	drvdata->ctxid_val[idx] = (u64)val;
	drvdata->ctxid_pid[idx] = (u64)val;
	spin_unlock(&drvdata->spinlock);
	spin_unlock(&drvdata->spinlock);
	return size;
	return size;
}
}
static DEVICE_ATTR_RW(ctxid_val);
static DEVICE_ATTR_RW(ctxid_pid);


static ssize_t ctxid_masks_show(struct device *dev,
static ssize_t ctxid_masks_show(struct device *dev,
				struct device_attribute *attr,
				struct device_attribute *attr,
@@ -1949,7 +1949,7 @@ static ssize_t ctxid_masks_store(struct device *dev,
		 */
		 */
		for (j = 0; j < 8; j++) {
		for (j = 0; j < 8; j++) {
			if (maskbyte & 1)
			if (maskbyte & 1)
				drvdata->ctxid_val[i] &= ~(0xFF << (j * 8));
				drvdata->ctxid_pid[i] &= ~(0xFF << (j * 8));
			maskbyte >>= 1;
			maskbyte >>= 1;
		}
		}
		/* Select the next ctxid comparator mask value */
		/* Select the next ctxid comparator mask value */
@@ -2193,7 +2193,7 @@ static struct attribute *coresight_etmv4_attrs[] = {
	&dev_attr_res_idx.attr,
	&dev_attr_res_idx.attr,
	&dev_attr_res_ctrl.attr,
	&dev_attr_res_ctrl.attr,
	&dev_attr_ctxid_idx.attr,
	&dev_attr_ctxid_idx.attr,
	&dev_attr_ctxid_val.attr,
	&dev_attr_ctxid_pid.attr,
	&dev_attr_ctxid_masks.attr,
	&dev_attr_ctxid_masks.attr,
	&dev_attr_vmid_idx.attr,
	&dev_attr_vmid_idx.attr,
	&dev_attr_vmid_val.attr,
	&dev_attr_vmid_val.attr,
@@ -2514,7 +2514,7 @@ static void etm4_init_default_data(struct etmv4_drvdata *drvdata)
	}
	}


	for (i = 0; i < drvdata->numcidc; i++)
	for (i = 0; i < drvdata->numcidc; i++)
		drvdata->ctxid_val[i] = 0x0;
		drvdata->ctxid_pid[i] = 0x0;
	drvdata->ctxid_mask0 = 0x0;
	drvdata->ctxid_mask0 = 0x0;
	drvdata->ctxid_mask1 = 0x0;
	drvdata->ctxid_mask1 = 0x0;


+2 −2
Original line number Original line Diff line number Diff line
@@ -265,7 +265,7 @@
 * @addr_type:	Current status of the comparator register.
 * @addr_type:	Current status of the comparator register.
 * @ctxid_idx:	Context ID index selector.
 * @ctxid_idx:	Context ID index selector.
 * @ctxid_size:	Size of the context ID field to consider.
 * @ctxid_size:	Size of the context ID field to consider.
 * @ctxid_val:	Value of the context ID comparator.
 * @ctxid_pid:	Value of the context ID comparator.
 * @ctxid_mask0:Context ID comparator mask for comparator 0-3.
 * @ctxid_mask0:Context ID comparator mask for comparator 0-3.
 * @ctxid_mask1:Context ID comparator mask for comparator 4-7.
 * @ctxid_mask1:Context ID comparator mask for comparator 4-7.
 * @vmid_idx:	VM ID index selector.
 * @vmid_idx:	VM ID index selector.
@@ -352,7 +352,7 @@ struct etmv4_drvdata {
	u8				addr_type[ETM_MAX_SINGLE_ADDR_CMP];
	u8				addr_type[ETM_MAX_SINGLE_ADDR_CMP];
	u8				ctxid_idx;
	u8				ctxid_idx;
	u8				ctxid_size;
	u8				ctxid_size;
	u64				ctxid_val[ETMv4_MAX_CTXID_CMP];
	u64				ctxid_pid[ETMv4_MAX_CTXID_CMP];
	u32				ctxid_mask0;
	u32				ctxid_mask0;
	u32				ctxid_mask1;
	u32				ctxid_mask1;
	u8				vmid_idx;
	u8				vmid_idx;