arch/powerpc/include/asm/kvm_host.h
830
struct kvmppc_vpa dtl;
arch/powerpc/kvm/book3s_hv.c
2385
val->vpaval.addr = vcpu->arch.dtl.next_gpa;
arch/powerpc/kvm/book3s_hv.c
2386
val->vpaval.length = vcpu->arch.dtl.len;
arch/powerpc/kvm/book3s_hv.c
2631
vcpu->arch.dtl.next_gpa))
arch/powerpc/kvm/book3s_hv.c
2651
r = set_vpa(vcpu, &vcpu->arch.dtl, addr, len);
arch/powerpc/kvm/book3s_hv.c
3143
unpin_vpa(vcpu->kvm, &vcpu->arch.dtl);
arch/powerpc/kvm/book3s_hv.c
3591
vcpu->arch.dtl.update_pending)
arch/powerpc/kvm/book3s_hv.c
5314
kvmppc_harvest_vpa_dirty(&vcpu->arch.dtl, memslot, buf);
arch/powerpc/kvm/book3s_hv.c
632
vpap = &tvcpu->arch.dtl;
arch/powerpc/kvm/book3s_hv.c
6466
unpin_vpa_reset(kvm, &vcpu->arch.dtl);
arch/powerpc/kvm/book3s_hv.c
649
if (vpa_is_registered(&tvcpu->arch.dtl) ||
arch/powerpc/kvm/book3s_hv.c
658
vpap = &tvcpu->arch.dtl;
arch/powerpc/kvm/book3s_hv.c
736
vcpu->arch.dtl.update_pending))
arch/powerpc/kvm/book3s_hv.c
754
if (vcpu->arch.dtl.update_pending) {
arch/powerpc/kvm/book3s_hv.c
755
kvmppc_update_vpa(vcpu, &vcpu->arch.dtl, &old_vpa);
arch/powerpc/kvm/book3s_hv.c
759
vcpu->arch.dtl_ptr = vcpu->arch.dtl.pinned_addr;
arch/powerpc/kvm/book3s_hv.c
816
if (dt == vcpu->arch.dtl.pinned_end)
arch/powerpc/kvm/book3s_hv.c
817
dt = vcpu->arch.dtl.pinned_addr;
arch/powerpc/perf/vpa-dtl.c
122
struct vpa_dtl *dtl, int index)
arch/powerpc/perf/vpa-dtl.c
139
memcpy(aux_copy_buf + buf->head, &dtl->buf[index], *n_entries * sizeof(struct dtl_entry));
arch/powerpc/perf/vpa-dtl.c
203
struct vpa_dtl *dtl = &per_cpu(vpa_dtl_cpu, event->cpu);
arch/powerpc/perf/vpa-dtl.c
207
last_idx = dtl->last_idx;
arch/powerpc/perf/vpa-dtl.c
218
dtl->last_idx = last_idx + n_req;
arch/powerpc/perf/vpa-dtl.c
245
vpa_dtl_capture_aux(&read_size, aux_buf, dtl, i);
arch/powerpc/perf/vpa-dtl.c
265
vpa_dtl_capture_aux(&n_req, aux_buf, dtl, i);
arch/powerpc/perf/vpa-dtl.c
334
struct vpa_dtl *dtl = &per_cpu(vpa_dtl_cpu, cpu);
arch/powerpc/perf/vpa-dtl.c
346
dtl->buf = buf;
arch/powerpc/perf/vpa-dtl.c
436
struct vpa_dtl *dtl = &per_cpu(vpa_dtl_cpu, event->cpu);
arch/powerpc/perf/vpa-dtl.c
444
((u32 *)dtl->buf)[1] = cpu_to_be32(DISPATCH_LOG_BYTES);
arch/powerpc/perf/vpa-dtl.c
445
dtl->last_idx = 0;
arch/powerpc/perf/vpa-dtl.c
448
addr = __pa(dtl->buf);
arch/powerpc/perf/vpa-dtl.c
477
struct vpa_dtl *dtl = &per_cpu(vpa_dtl_cpu, event->cpu);
arch/powerpc/perf/vpa-dtl.c
481
kmem_cache_free(dtl_cache, dtl->buf);
arch/powerpc/perf/vpa-dtl.c
482
dtl->buf = NULL;
arch/powerpc/platforms/pseries/dtl.c
101
dtlr->write_ptr = dtl->buf;
arch/powerpc/platforms/pseries/dtl.c
104
lppaca_of(dtl->cpu).dtl_enable_mask |= dtl_event_mask;
arch/powerpc/platforms/pseries/dtl.c
111
static void dtl_stop(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
113
struct dtl_ring *dtlr = &per_cpu(dtl_rings, dtl->cpu);
arch/powerpc/platforms/pseries/dtl.c
121
lppaca_of(dtl->cpu).dtl_enable_mask = DTL_LOG_PREEMPT;
arch/powerpc/platforms/pseries/dtl.c
127
static u64 dtl_current_index(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
129
return per_cpu(dtl_rings, dtl->cpu).write_index;
arch/powerpc/platforms/pseries/dtl.c
134
static int dtl_start(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
141
((u32 *)dtl->buf)[1] = cpu_to_be32(DISPATCH_LOG_BYTES);
arch/powerpc/platforms/pseries/dtl.c
143
hwcpu = get_hard_smp_processor_id(dtl->cpu);
arch/powerpc/platforms/pseries/dtl.c
144
addr = __pa(dtl->buf);
arch/powerpc/platforms/pseries/dtl.c
148
"failed with %d\n", __func__, dtl->cpu, hwcpu, ret);
arch/powerpc/platforms/pseries/dtl.c
153
lppaca_of(dtl->cpu).dtl_idx = 0;
arch/powerpc/platforms/pseries/dtl.c
160
lppaca_of(dtl->cpu).dtl_enable_mask = dtl_event_mask;
arch/powerpc/platforms/pseries/dtl.c
165
static void dtl_stop(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
167
int hwcpu = get_hard_smp_processor_id(dtl->cpu);
arch/powerpc/platforms/pseries/dtl.c
169
lppaca_of(dtl->cpu).dtl_enable_mask = 0x0;
arch/powerpc/platforms/pseries/dtl.c
174
static u64 dtl_current_index(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
176
return be64_to_cpu(lppaca_of(dtl->cpu).dtl_idx);
arch/powerpc/platforms/pseries/dtl.c
180
static int dtl_enable(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
190
if (dtl->buf)
arch/powerpc/platforms/pseries/dtl.c
198
buf = kmem_cache_alloc_node(dtl_cache, GFP_KERNEL, cpu_to_node(dtl->cpu));
arch/powerpc/platforms/pseries/dtl.c
201
__func__, dtl->cpu);
arch/powerpc/platforms/pseries/dtl.c
206
spin_lock(&dtl->lock);
arch/powerpc/platforms/pseries/dtl.c
208
if (!dtl->buf) {
arch/powerpc/platforms/pseries/dtl.c
210
dtl->buf_entries = n_entries;
arch/powerpc/platforms/pseries/dtl.c
211
dtl->buf = buf;
arch/powerpc/platforms/pseries/dtl.c
212
dtl->last_idx = 0;
arch/powerpc/platforms/pseries/dtl.c
213
rc = dtl_start(dtl);
arch/powerpc/platforms/pseries/dtl.c
215
dtl->buf = NULL;
arch/powerpc/platforms/pseries/dtl.c
217
spin_unlock(&dtl->lock);
arch/powerpc/platforms/pseries/dtl.c
227
static void dtl_disable(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
229
spin_lock(&dtl->lock);
arch/powerpc/platforms/pseries/dtl.c
230
dtl_stop(dtl);
arch/powerpc/platforms/pseries/dtl.c
231
kmem_cache_free(dtl_cache, dtl->buf);
arch/powerpc/platforms/pseries/dtl.c
232
dtl->buf = NULL;
arch/powerpc/platforms/pseries/dtl.c
233
dtl->buf_entries = 0;
arch/powerpc/platforms/pseries/dtl.c
234
spin_unlock(&dtl->lock);
arch/powerpc/platforms/pseries/dtl.c
242
struct dtl *dtl = inode->i_private;
arch/powerpc/platforms/pseries/dtl.c
245
rc = dtl_enable(dtl);
arch/powerpc/platforms/pseries/dtl.c
249
filp->private_data = dtl;
arch/powerpc/platforms/pseries/dtl.c
255
struct dtl *dtl = inode->i_private;
arch/powerpc/platforms/pseries/dtl.c
256
dtl_disable(dtl);
arch/powerpc/platforms/pseries/dtl.c
264
struct dtl *dtl;
arch/powerpc/platforms/pseries/dtl.c
270
dtl = filp->private_data;
arch/powerpc/platforms/pseries/dtl.c
278
spin_lock(&dtl->lock);
arch/powerpc/platforms/pseries/dtl.c
280
cur_idx = dtl_current_index(dtl);
arch/powerpc/platforms/pseries/dtl.c
281
last_idx = dtl->last_idx;
arch/powerpc/platforms/pseries/dtl.c
283
if (last_idx + dtl->buf_entries <= cur_idx)
arch/powerpc/platforms/pseries/dtl.c
284
last_idx = cur_idx - dtl->buf_entries + 1;
arch/powerpc/platforms/pseries/dtl.c
29
static DEFINE_PER_CPU(struct dtl, cpu_dtl);
arch/powerpc/platforms/pseries/dtl.c
290
dtl->last_idx = last_idx + n_req;
arch/powerpc/platforms/pseries/dtl.c
292
spin_unlock(&dtl->lock);
arch/powerpc/platforms/pseries/dtl.c
297
i = last_idx % dtl->buf_entries;
arch/powerpc/platforms/pseries/dtl.c
300
if (i + n_req > dtl->buf_entries) {
arch/powerpc/platforms/pseries/dtl.c
301
read_size = dtl->buf_entries - i;
arch/powerpc/platforms/pseries/dtl.c
303
rc = copy_to_user(buf, &dtl->buf[i],
arch/powerpc/platforms/pseries/dtl.c
315
rc = copy_to_user(buf, &dtl->buf[i], n_req * sizeof(struct dtl_entry));
arch/powerpc/platforms/pseries/dtl.c
332
static void dtl_setup_file(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
336
sprintf(name, "cpu-%d", dtl->cpu);
arch/powerpc/platforms/pseries/dtl.c
338
debugfs_create_file(name, 0400, dtl_dir, dtl, &dtl_fops);
arch/powerpc/platforms/pseries/dtl.c
357
struct dtl *dtl = &per_cpu(cpu_dtl, i);
arch/powerpc/platforms/pseries/dtl.c
358
spin_lock_init(&dtl->lock);
arch/powerpc/platforms/pseries/dtl.c
359
dtl->cpu = i;
arch/powerpc/platforms/pseries/dtl.c
361
dtl_setup_file(dtl);
arch/powerpc/platforms/pseries/dtl.c
377
struct dtl_entry *dtl = local_paca->dtl_curr;
arch/powerpc/platforms/pseries/dtl.c
384
if (!dtl)
arch/powerpc/platforms/pseries/dtl.c
390
dtb = be64_to_cpu(dtl->timebase);
arch/powerpc/platforms/pseries/dtl.c
391
tb_delta = be32_to_cpu(dtl->enqueue_to_dispatch_time) +
arch/powerpc/platforms/pseries/dtl.c
392
be32_to_cpu(dtl->ready_to_enqueue_time);
arch/powerpc/platforms/pseries/dtl.c
397
dtl = local_paca->dispatch_log + (i % N_DISPATCH_LOG);
arch/powerpc/platforms/pseries/dtl.c
404
dtl_consumer(dtl, i);
arch/powerpc/platforms/pseries/dtl.c
408
++dtl;
arch/powerpc/platforms/pseries/dtl.c
409
if (dtl == dtl_end)
arch/powerpc/platforms/pseries/dtl.c
410
dtl = local_paca->dispatch_log;
arch/powerpc/platforms/pseries/dtl.c
413
local_paca->dtl_curr = dtl;
arch/powerpc/platforms/pseries/dtl.c
91
static int dtl_start(struct dtl *dtl)
arch/powerpc/platforms/pseries/dtl.c
93
struct dtl_ring *dtlr = &per_cpu(dtl_rings, dtl->cpu);
arch/powerpc/platforms/pseries/dtl.c
95
dtlr->buf = dtl->buf;
arch/powerpc/platforms/pseries/dtl.c
96
dtlr->buf_end = dtl->buf + dtl->buf_entries;
arch/powerpc/platforms/pseries/lpar.c
107
pp->dispatch_log = dtl;
arch/powerpc/platforms/pseries/lpar.c
108
pp->dispatch_log_end = dtl + N_DISPATCH_LOG;
arch/powerpc/platforms/pseries/lpar.c
109
pp->dtl_curr = dtl;
arch/powerpc/platforms/pseries/lpar.c
122
struct dtl_entry *dtl;
arch/powerpc/platforms/pseries/lpar.c
126
dtl = pp->dispatch_log;
arch/powerpc/platforms/pseries/lpar.c
127
if (dtl && dtl_mask) {
arch/powerpc/platforms/pseries/lpar.c
129
pp->dtl_curr = dtl;
arch/powerpc/platforms/pseries/lpar.c
133
dtl->enqueue_to_dispatch_time = cpu_to_be32(DISPATCH_LOG_BYTES);
arch/powerpc/platforms/pseries/lpar.c
134
ret = register_dtl(hwcpu, __pa(dtl));
arch/powerpc/platforms/pseries/lpar.c
365
struct dtl_entry *dtl = local_paca->dispatch_log + (i % N_DISPATCH_LOG);
arch/powerpc/platforms/pseries/lpar.c
384
dtle = *dtl;
arch/powerpc/platforms/pseries/lpar.c
392
dtl = local_paca->dispatch_log + (i % N_DISPATCH_LOG);
arch/powerpc/platforms/pseries/lpar.c
397
++dtl;
arch/powerpc/platforms/pseries/lpar.c
398
if (dtl == dtl_end)
arch/powerpc/platforms/pseries/lpar.c
399
dtl = local_paca->dispatch_log;
arch/powerpc/platforms/pseries/lpar.c
90
struct dtl_entry *dtl;
arch/powerpc/platforms/pseries/lpar.c
96
dtl = kmem_cache_alloc(dtl_cache, GFP_KERNEL);
arch/powerpc/platforms/pseries/lpar.c
97
if (!dtl) {
tools/perf/builtin-script.c
2007
struct powerpc_vpadtl_entry *dtl = (struct powerpc_vpadtl_entry *)data->raw_data;
tools/perf/builtin-script.c
2013
get_unaligned_be64(&dtl->timebase),
tools/perf/builtin-script.c
2014
dispatch_reasons[dtl->dispatch_reason],
tools/perf/builtin-script.c
2015
preempt_reasons[dtl->preempt_reason],
tools/perf/builtin-script.c
2016
be32_to_cpu(dtl->enqueue_to_dispatch_time),
tools/perf/builtin-script.c
2017
be32_to_cpu(dtl->ready_to_enqueue_time),
tools/perf/builtin-script.c
2018
be32_to_cpu(dtl->waiting_to_ready_time),
tools/perf/builtin-script.c
2019
be16_to_cpu(dtl->processor_id));
tools/perf/util/powerpc-vpadtl.c
110
dtl = (struct powerpc_vpadtl_entry *)buf;
tools/perf/util/powerpc-vpadtl.c
111
if (dtl->timebase != 0) {
tools/perf/util/powerpc-vpadtl.c
115
dispatch_reasons[dtl->dispatch_reason],
tools/perf/util/powerpc-vpadtl.c
116
preempt_reasons[dtl->preempt_reason],
tools/perf/util/powerpc-vpadtl.c
117
be32_to_cpu(dtl->enqueue_to_dispatch_time),
tools/perf/util/powerpc-vpadtl.c
118
be32_to_cpu(dtl->ready_to_enqueue_time),
tools/perf/util/powerpc-vpadtl.c
119
be32_to_cpu(dtl->waiting_to_ready_time));
tools/perf/util/powerpc-vpadtl.c
135
struct powerpc_vpadtl_entry *record = vpaq->dtl;
tools/perf/util/powerpc-vpadtl.c
273
vpaq->dtl = (struct powerpc_vpadtl_entry *)buf;
tools/perf/util/powerpc-vpadtl.c
296
vpaq->dtl = (struct powerpc_vpadtl_entry *)buf;
tools/perf/util/powerpc-vpadtl.c
297
if ((long long)be64_to_cpu(vpaq->dtl->timebase) <= 0) {
tools/perf/util/powerpc-vpadtl.c
334
record = vpaq->dtl;
tools/perf/util/powerpc-vpadtl.c
47
struct powerpc_vpadtl_entry *dtl;
tools/perf/util/powerpc-vpadtl.c
95
struct powerpc_vpadtl_entry *dtl;