Loading drivers/hwtracing/coresight/coresight-replicator.c +16 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,18 @@ static int dynamic_replicator_enable(struct replicator_drvdata *drvdata, return rc; } static bool is_replicator_disabled(struct coresight_device *csdev) { int i; for (i = 0; i < csdev->pdata->nr_outport; i++) { if (atomic_read(&csdev->refcnt[i]) > 0) return false; } return true; } static int replicator_enable(struct coresight_device *csdev, int inport, int outport) { Loading @@ -103,6 +115,10 @@ static int replicator_enable(struct coresight_device *csdev, int inport, bool first_enable = false; spin_lock_irqsave(&drvdata->spinlock, flags); if (is_replicator_disabled(csdev)) dynamic_replicator_reset(drvdata); if (atomic_read(&csdev->refcnt[outport]) == 0) { if (drvdata->base) rc = dynamic_replicator_enable(drvdata, inport, Loading Loading
drivers/hwtracing/coresight/coresight-replicator.c +16 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,18 @@ static int dynamic_replicator_enable(struct replicator_drvdata *drvdata, return rc; } static bool is_replicator_disabled(struct coresight_device *csdev) { int i; for (i = 0; i < csdev->pdata->nr_outport; i++) { if (atomic_read(&csdev->refcnt[i]) > 0) return false; } return true; } static int replicator_enable(struct coresight_device *csdev, int inport, int outport) { Loading @@ -103,6 +115,10 @@ static int replicator_enable(struct coresight_device *csdev, int inport, bool first_enable = false; spin_lock_irqsave(&drvdata->spinlock, flags); if (is_replicator_disabled(csdev)) dynamic_replicator_reset(drvdata); if (atomic_read(&csdev->refcnt[outport]) == 0) { if (drvdata->base) rc = dynamic_replicator_enable(drvdata, inport, Loading