Exemple #1
0
void etb_enable(void)
{
	mutex_lock(&etb.lock);
	__etb_enable();
	etb.enabled = true;
	dev_info(etb.dev, "etb enabled\n");
	mutex_unlock(&etb.lock);
}
Exemple #2
0
void etb_enable(void)
{
	unsigned long flags;

	spin_lock_irqsave(&etb.spinlock, flags);
	__etb_enable();
	etb.enabled = true;
	spin_unlock_irqrestore(&etb.spinlock, flags);
}
Exemple #3
0
void etb_enable(void)
{
	unsigned long flags;

	spin_lock_irqsave(&etb.spinlock, flags);
	__etb_enable();
	etb.enabled = true;
	dev_info(etb.dev, "ETB enabled\n");
	spin_unlock_irqrestore(&etb.spinlock, flags);
}
Exemple #4
0
void etb_dump(void)
{
	mutex_lock(&etb.lock);
	if (etb.enabled) {
		__etb_disable();
		__etb_dump();
		__etb_enable();

		dev_info(etb.dev, "etb dumped\n");
	}
	mutex_unlock(&etb.lock);
}
Exemple #5
0
void etb_dump(void)
{
	unsigned long flags;

	spin_lock_irqsave(&etb.spinlock, flags);
	if (etb.enabled) {
		__etb_disable();
		__etb_dump();
		__etb_enable();

	}
	spin_unlock_irqrestore(&etb.spinlock, flags);
}
Exemple #6
0
static void etb_dump(struct etb_drvdata *drvdata)
{
	unsigned long flags;

	spin_lock_irqsave(&drvdata->spinlock, flags);
	if (drvdata->enable) {
		__etb_disable(drvdata);
		__etb_dump(drvdata);
		__etb_enable(drvdata);
	}
	spin_unlock_irqrestore(&drvdata->spinlock, flags);

	dev_info(drvdata->dev, "ETB dumped\n");
}
Exemple #7
0
static int etb_enable(struct coresight_device *csdev)
{
	struct etb_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
	int ret;
	unsigned long flags;

	ret = clk_prepare_enable(drvdata->clk);
	if (ret)
		return ret;

	spin_lock_irqsave(&drvdata->spinlock, flags);
	__etb_enable(drvdata);
	drvdata->enable = true;
	spin_unlock_irqrestore(&drvdata->spinlock, flags);

	dev_info(drvdata->dev, "ETB enabled\n");
	return 0;
}