On Wed, Aug 05, 2015 at 11:25:41AM +0530, sourab.gupta@xxxxxxxxx wrote: > @@ -542,18 +548,27 @@ static void forward_one_gen_pmu_sample(struct drm_i915_private *dev_priv, > struct perf_sample_data data; > struct perf_event *event = dev_priv->gen_pmu.exclusive_event; > int snapshot_size; > - u8 *snapshot; > + u8 *snapshot, *current_ptr; > struct drm_i915_ts_node_ctx_id *ctx_info; > + struct drm_i915_ts_node_ring_id *ring_info; > struct perf_raw_record raw; > > - BUILD_BUG_ON(TS_DATA_SIZE != 8); > - BUILD_BUG_ON(CTX_INFO_SIZE != 8); > + BUILD_BUG_ON((TS_DATA_SIZE != 8) || (CTX_INFO_SIZE != 8) || > + (RING_INFO_SIZE != 8)); > > snapshot = dev_priv->gen_pmu.buffer.addr + node->offset; > snapshot_size = TS_DATA_SIZE + CTX_INFO_SIZE; > > ctx_info = (struct drm_i915_ts_node_ctx_id *)(snapshot + TS_DATA_SIZE); > ctx_info->ctx_id = node->ctx_id; > + current_ptr = snapshot + snapshot_size; > + > + if (dev_priv->gen_pmu.sample_info_flags & I915_GEN_PMU_SAMPLE_RING) { > + ring_info = (struct drm_i915_ts_node_ring_id *)current_ptr; > + ring_info->ring = node->ring; Stylewise I would be move familar with current_ptr = ring_info + 1, and make current_ptr void*. snapshot_size is then redundant. > + snapshot_size += RING_INFO_SIZE; > + current_ptr = snapshot + snapshot_size; > + } -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx