|
@@ -935,6 +935,7 @@ static int cs_etm__sample(struct cs_etm_queue *etmq)
|
|
|
static int cs_etm__flush(struct cs_etm_queue *etmq)
|
|
|
{
|
|
|
int err = 0;
|
|
|
+ struct cs_etm_auxtrace *etm = etmq->etm;
|
|
|
struct cs_etm_packet *tmp;
|
|
|
|
|
|
if (!etmq->prev_packet)
|
|
@@ -965,6 +966,13 @@ static int cs_etm__flush(struct cs_etm_queue *etmq)
|
|
|
|
|
|
}
|
|
|
|
|
|
+ if (etm->sample_branches &&
|
|
|
+ etmq->prev_packet->sample_type == CS_ETM_RANGE) {
|
|
|
+ err = cs_etm__synth_branch_sample(etmq);
|
|
|
+ if (err)
|
|
|
+ return err;
|
|
|
+ }
|
|
|
+
|
|
|
swap_packet:
|
|
|
if (etmq->etm->synth_opts.last_branch) {
|
|
|
/*
|