arch/arm/probes/decode.c
472
int action = d->decoder.action;
arch/arm/probes/decode.c
477
return actions[action].decoder(insn, asi, h);
arch/arm/probes/decode.c
502
return actions[action].decoder(insn, asi, h);
arch/arm/probes/kprobes/actions-arm.c
333
[PROBES_LDMSTM] = {.decoder = kprobe_decode_ldmstm}
arch/arm/probes/kprobes/actions-thumb.c
624
[PROBES_T16_PUSH] = {.decoder = t16_decode_push},
arch/arm/probes/kprobes/actions-thumb.c
625
[PROBES_T16_POP] = {.decoder = t16_decode_pop},
arch/arm/probes/kprobes/actions-thumb.c
628
[PROBES_T16_IT] = {.decoder = t16_decode_it},
arch/arm/probes/kprobes/actions-thumb.c
634
[PROBES_T16_HIREGOPS] = {.decoder = t16_decode_hiregs},
arch/arm/probes/kprobes/actions-thumb.c
639
[PROBES_T16_BRANCH_COND] = {.decoder = t16_decode_cond_branch},
arch/arm/probes/kprobes/actions-thumb.c
644
[PROBES_T32_LDMSTM] = {.decoder = t32_decode_ldmstm},
arch/arm/probes/kprobes/actions-thumb.c
660
[PROBES_T32_BRANCH_COND] = {.decoder = t32_decode_cond_branch},
arch/arm/probes/kprobes/checkers-common.c
83
[STACK_USE_NONE] = {.decoder = checker_stack_use_none},
arch/arm/probes/kprobes/checkers-common.c
84
[STACK_USE_UNKNOWN] = {.decoder = checker_stack_use_unknown},
arch/arm/probes/kprobes/checkers-common.c
86
[STACK_USE_FIXED_0XX] = {.decoder = checker_stack_use_imm_0xx},
arch/arm/probes/kprobes/checkers-common.c
87
[STACK_USE_T32STRD] = {.decoder = checker_stack_use_t32strd},
arch/arm/probes/kprobes/checkers-common.c
89
[STACK_USE_FIXED_X0X] = {.decoder = checker_stack_use_imm_x0x},
arch/arm/probes/kprobes/checkers-common.c
91
[STACK_USE_FIXED_XXX] = {.decoder = checker_stack_use_imm_xxx},
arch/arm/probes/kprobes/checkers-common.c
92
[STACK_USE_STMDX] = {.decoder = checker_stack_use_stmdx},
arch/arm/probes/uprobes/actions-arm.c
205
[PROBES_LDRSTRD] = {.decoder = decode_pc_ro},
arch/arm/probes/uprobes/actions-arm.c
206
[PROBES_LOAD_EXTRA] = {.decoder = decode_pc_ro},
arch/arm/probes/uprobes/actions-arm.c
207
[PROBES_LOAD] = {.decoder = decode_ldr},
arch/arm/probes/uprobes/actions-arm.c
208
[PROBES_STORE_EXTRA] = {.decoder = decode_pc_ro},
arch/arm/probes/uprobes/actions-arm.c
209
[PROBES_STORE] = {.decoder = decode_pc_ro},
arch/arm/probes/uprobes/actions-arm.c
212
.decoder = decode_rd12rn16rm0rs8_rwflags},
arch/arm/probes/uprobes/actions-arm.c
214
.decoder = decode_rd12rn16rm0rs8_rwflags},
arch/arm/probes/uprobes/actions-arm.c
228
[PROBES_LDMSTM] = {.decoder = uprobe_decode_ldmstm}
drivers/cxl/core/region.c
1024
struct cxl_decoder *cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
1053
struct cxl_decoder *cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
1096
cxl_rr->decoder = cxld;
drivers/cxl/core/region.c
1201
cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
1270
if (cxl_rr->decoder == &cxled->cxld)
drivers/cxl/core/region.c
1389
struct cxl_decoder *cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
1460
parent_cxld = parent_rr->decoder;
drivers/cxl/core/region.c
1599
cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
280
cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
328
cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
339
cxld = cxl_rr->decoder;
drivers/cxl/core/region.c
956
struct cxl_decoder *cxld_iter = rr->decoder;
drivers/cxl/cxl.h
751
struct cxl_decoder *decoder;
drivers/input/misc/gpio_decoder.c
29
static int gpio_decoder_get_gpios_state(struct gpio_decoder *decoder)
drivers/input/misc/gpio_decoder.c
31
struct gpio_descs *gpios = decoder->input_gpios;
drivers/input/misc/gpio_decoder.c
39
dev_err(decoder->dev, "Error reading GPIO: %d\n", err);
drivers/input/misc/gpio_decoder.c
48
struct gpio_decoder *decoder = input_get_drvdata(input);
drivers/input/misc/gpio_decoder.c
51
state = gpio_decoder_get_gpios_state(decoder);
drivers/input/misc/gpio_decoder.c
52
if (state >= 0 && state != decoder->last_stable) {
drivers/input/misc/gpio_decoder.c
53
input_report_abs(input, decoder->axis, state);
drivers/input/misc/gpio_decoder.c
55
decoder->last_stable = state;
drivers/input/misc/gpio_decoder.c
62
struct gpio_decoder *decoder;
drivers/input/misc/gpio_decoder.c
67
decoder = devm_kzalloc(dev, sizeof(*decoder), GFP_KERNEL);
drivers/input/misc/gpio_decoder.c
68
if (!decoder)
drivers/input/misc/gpio_decoder.c
71
decoder->dev = dev;
drivers/input/misc/gpio_decoder.c
72
device_property_read_u32(dev, "linux,axis", &decoder->axis);
drivers/input/misc/gpio_decoder.c
74
decoder->input_gpios = devm_gpiod_get_array(dev, NULL, GPIOD_IN);
drivers/input/misc/gpio_decoder.c
75
if (IS_ERR(decoder->input_gpios))
drivers/input/misc/gpio_decoder.c
76
return dev_err_probe(dev, PTR_ERR(decoder->input_gpios),
drivers/input/misc/gpio_decoder.c
79
if (decoder->input_gpios->ndescs < 2)
drivers/input/misc/gpio_decoder.c
82
if (decoder->input_gpios->ndescs > 31)
drivers/input/misc/gpio_decoder.c
86
max = BIT(decoder->input_gpios->ndescs) - 1;
drivers/input/misc/gpio_decoder.c
92
input_set_drvdata(input, decoder);
drivers/input/misc/gpio_decoder.c
96
input_set_abs_params(input, decoder->axis, 0, max, 0, 0);
drivers/media/i2c/adv7183.c
110
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
185
v4l2_ctrl_handler_log_status(&decoder->hdl, sd->name);
drivers/media/i2c/adv7183.c
191
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
193
*std = decoder->std;
drivers/media/i2c/adv7183.c
199
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
223
decoder->std = std;
drivers/media/i2c/adv7183.c
242
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
248
if (input != decoder->input) {
drivers/media/i2c/adv7183.c
249
decoder->input = input;
drivers/media/i2c/adv7183.c
303
if (output != decoder->output) {
drivers/media/i2c/adv7183.c
304
decoder->output = output;
drivers/media/i2c/adv7183.c
351
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
394
adv7183_s_std(sd, decoder->std);
drivers/media/i2c/adv7183.c
426
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
434
if (decoder->std & V4L2_STD_525_60) {
drivers/media/i2c/adv7183.c
444
decoder->fmt = *fmt;
drivers/media/i2c/adv7183.c
452
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
457
format->format = decoder->fmt;
drivers/media/i2c/adv7183.c
463
struct adv7183 *decoder = to_adv7183(sd);
drivers/media/i2c/adv7183.c
466
gpiod_set_value(decoder->oe_pin, 1);
drivers/media/i2c/adv7183.c
468
gpiod_set_value(decoder->oe_pin, 0);
drivers/media/i2c/adv7183.c
524
struct adv7183 *decoder;
drivers/media/i2c/adv7183.c
539
decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL);
drivers/media/i2c/adv7183.c
540
if (decoder == NULL)
drivers/media/i2c/adv7183.c
547
decoder->reset_pin = devm_gpiod_get(&client->dev, "reset",
drivers/media/i2c/adv7183.c
549
if (IS_ERR(decoder->reset_pin))
drivers/media/i2c/adv7183.c
550
return PTR_ERR(decoder->reset_pin);
drivers/media/i2c/adv7183.c
551
gpiod_set_consumer_name(decoder->reset_pin, "ADV7183 Reset");
drivers/media/i2c/adv7183.c
556
decoder->oe_pin = devm_gpiod_get(&client->dev, "oe",
drivers/media/i2c/adv7183.c
558
if (IS_ERR(decoder->oe_pin))
drivers/media/i2c/adv7183.c
559
return PTR_ERR(decoder->oe_pin);
drivers/media/i2c/adv7183.c
560
gpiod_set_consumer_name(decoder->reset_pin, "ADV7183 Output Enable");
drivers/media/i2c/adv7183.c
562
sd = &decoder->sd;
drivers/media/i2c/adv7183.c
565
hdl = &decoder->hdl;
drivers/media/i2c/adv7183.c
585
decoder->std = V4L2_STD_PAL;
drivers/media/i2c/adv7183.c
586
decoder->input = ADV7183_COMPOSITE4;
drivers/media/i2c/adv7183.c
587
decoder->output = ADV7183_8BIT_OUT;
drivers/media/i2c/adv7183.c
593
gpiod_set_value(decoder->reset_pin, 0);
drivers/media/i2c/adv7183.c
598
adv7183_s_std(sd, decoder->std);
drivers/media/i2c/bt819.c
109
decoder->reg[reg++] = data[1];
drivers/media/i2c/bt819.c
121
ret = bt819_write(decoder, reg, *data++);
drivers/media/i2c/bt819.c
131
static inline int bt819_read(struct bt819 *decoder, u8 reg)
drivers/media/i2c/bt819.c
133
struct i2c_client *client = v4l2_get_subdevdata(&decoder->sd);
drivers/media/i2c/bt819.c
174
struct bt819 *decoder = to_bt819(sd);
drivers/media/i2c/bt819.c
175
struct timing *timing = &timing_data[(decoder->norm & V4L2_STD_525_60) ? 1 : 0];
drivers/media/i2c/bt819.c
189
init[0x15 * 2 - 1] = (decoder->norm & V4L2_STD_625_50) ? 115 : 93; /* Chroma burst delay */
drivers/media/i2c/bt819.c
191
bt819_write(decoder, 0x1f, 0x00);
drivers/media/i2c/bt819.c
195
return bt819_write_block(decoder, init, sizeof(init));
drivers/media/i2c/bt819.c
202
struct bt819 *decoder = to_bt819(sd);
drivers/media/i2c/bt819.c
203
int status = bt819_read(decoder, 0x00);
drivers/media/i2c/bt819.c
237
struct bt819 *decoder = to_bt819(sd);
drivers/media/i2c/bt819.c
247
bt819_setbit(decoder, 0x01, 0, 1);
drivers/media/i2c/bt819.c
248
bt819_setbit(decoder, 0x01, 1, 0);
drivers/media/i2c/bt819.c
249
bt819_setbit(decoder, 0x01, 5, 0);
drivers/media/i2c/bt819.c
250
bt819_write(decoder, 0x18, 0x68);
drivers/media/i2c/bt819.c
251
bt819_write(decoder, 0x19, 0x5d);
drivers/media/i2c/bt819.c
256
bt819_setbit(decoder, 0x01, 0, 1);
drivers/media/i2c/bt819.c
257
bt819_setbit(decoder, 0x01, 1, 1);
drivers/media/i2c/bt819.c
258
bt819_setbit(decoder, 0x01, 5, 1);
drivers/media/i2c/bt819.c
259
bt819_write(decoder, 0x18, 0x7f);
drivers/media/i2c/bt819.c
260
bt819_write(decoder, 0x19, 0x72);
drivers/media/i2c/bt819.c
268
bt819_write(decoder, 0x03,
drivers/media/i2c/bt819.c
273
bt819_write(decoder, 0x04, timing->vdelay & 0xff);
drivers/media/i2c/bt819.c
274
bt819_write(decoder, 0x05, timing->vactive & 0xff);
drivers/media/i2c/bt819.c
275
bt819_write(decoder, 0x06, timing->hdelay & 0xff);
drivers/media/i2c/bt819.c
276
bt819_write(decoder, 0x07, timing->hactive & 0xff);
drivers/media/i2c/bt819.c
277
bt819_write(decoder, 0x08, (timing->hscale >> 8) & 0xff);
drivers/media/i2c/bt819.c
278
bt819_write(decoder, 0x09, timing->hscale & 0xff);
drivers/media/i2c/bt819.c
279
decoder->norm = std;
drivers/media/i2c/bt819.c
287
struct bt819 *decoder = to_bt819(sd);
drivers/media/i2c/bt819.c
297
if (decoder->input != input) {
drivers/media/i2c/bt819.c
299
decoder->input = input;
drivers/media/i2c/bt819.c
301
if (decoder->input == 0) {
drivers/media/i2c/bt819.c
302
bt819_setbit(decoder, 0x0b, 6, 0);
drivers/media/i2c/bt819.c
303
bt819_setbit(decoder, 0x1a, 1, 1);
drivers/media/i2c/bt819.c
305
bt819_setbit(decoder, 0x0b, 6, 1);
drivers/media/i2c/bt819.c
306
bt819_setbit(decoder, 0x1a, 1, 0);
drivers/media/i2c/bt819.c
315
struct bt819 *decoder = to_bt819(sd);
drivers/media/i2c/bt819.c
319
if (decoder->enable != enable) {
drivers/media/i2c/bt819.c
320
decoder->enable = enable;
drivers/media/i2c/bt819.c
321
bt819_setbit(decoder, 0x16, 7, !enable);
drivers/media/i2c/bt819.c
329
struct bt819 *decoder = to_bt819(sd);
drivers/media/i2c/bt819.c
334
bt819_write(decoder, 0x0a, ctrl->val);
drivers/media/i2c/bt819.c
338
bt819_write(decoder, 0x0c, ctrl->val & 0xff);
drivers/media/i2c/bt819.c
339
bt819_setbit(decoder, 0x0b, 2, ((ctrl->val >> 8) & 0x01));
drivers/media/i2c/bt819.c
343
bt819_write(decoder, 0x0d, (ctrl->val >> 7) & 0xff);
drivers/media/i2c/bt819.c
344
bt819_setbit(decoder, 0x0b, 1, ((ctrl->val >> 15) & 0x01));
drivers/media/i2c/bt819.c
349
bt819_write(decoder, 0x0e, (temp >> 7) & 0xff);
drivers/media/i2c/bt819.c
350
bt819_setbit(decoder, 0x0b, 0, (temp >> 15) & 0x01);
drivers/media/i2c/bt819.c
354
bt819_write(decoder, 0x0f, ctrl->val);
drivers/media/i2c/bt819.c
386
struct bt819 *decoder;
drivers/media/i2c/bt819.c
394
decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL);
drivers/media/i2c/bt819.c
395
if (decoder == NULL)
drivers/media/i2c/bt819.c
397
sd = &decoder->sd;
drivers/media/i2c/bt819.c
400
ver = bt819_read(decoder, 0x17);
drivers/media/i2c/bt819.c
420
decoder->norm = V4L2_STD_NTSC;
drivers/media/i2c/bt819.c
421
decoder->input = 0;
drivers/media/i2c/bt819.c
422
decoder->enable = 1;
drivers/media/i2c/bt819.c
428
v4l2_ctrl_handler_init(&decoder->hdl, 4);
drivers/media/i2c/bt819.c
429
v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops,
drivers/media/i2c/bt819.c
431
v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops,
drivers/media/i2c/bt819.c
433
v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops,
drivers/media/i2c/bt819.c
435
v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops,
drivers/media/i2c/bt819.c
437
sd->ctrl_handler = &decoder->hdl;
drivers/media/i2c/bt819.c
438
if (decoder->hdl.error) {
drivers/media/i2c/bt819.c
439
int err = decoder->hdl.error;
drivers/media/i2c/bt819.c
441
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/bt819.c
444
v4l2_ctrl_handler_setup(&decoder->hdl);
drivers/media/i2c/bt819.c
451
struct bt819 *decoder = to_bt819(sd);
drivers/media/i2c/bt819.c
454
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/bt819.c
77
static inline int bt819_write(struct bt819 *decoder, u8 reg, u8 value)
drivers/media/i2c/bt819.c
79
struct i2c_client *client = v4l2_get_subdevdata(&decoder->sd);
drivers/media/i2c/bt819.c
81
decoder->reg[reg] = value;
drivers/media/i2c/bt819.c
85
static inline int bt819_setbit(struct bt819 *decoder, u8 reg, u8 bit, u8 value)
drivers/media/i2c/bt819.c
87
return bt819_write(decoder, reg,
drivers/media/i2c/bt819.c
88
(decoder->reg[reg] & ~(1 << bit)) | (value ? (1 << bit) : 0));
drivers/media/i2c/bt819.c
91
static int bt819_write_block(struct bt819 *decoder, const u8 *data, unsigned int len)
drivers/media/i2c/bt819.c
93
struct i2c_client *client = v4l2_get_subdevdata(&decoder->sd);
drivers/media/i2c/saa7110.c
151
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
162
decoder->input = chan;
drivers/media/i2c/saa7110.c
180
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
185
saa7110_selmux(sd, decoder->input);
drivers/media/i2c/saa7110.c
186
prepare_to_wait(&decoder->wq, &wait, TASK_UNINTERRUPTIBLE);
drivers/media/i2c/saa7110.c
188
finish_wait(&decoder->wq, &wait);
drivers/media/i2c/saa7110.c
221
prepare_to_wait(&decoder->wq, &wait, TASK_UNINTERRUPTIBLE);
drivers/media/i2c/saa7110.c
223
finish_wait(&decoder->wq, &wait);
drivers/media/i2c/saa7110.c
237
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
242
status, (unsigned long long)decoder->norm);
drivers/media/i2c/saa7110.c
260
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
262
if (decoder->norm != std) {
drivers/media/i2c/saa7110.c
263
decoder->norm = std;
drivers/media/i2c/saa7110.c
293
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
299
if (decoder->input != input) {
drivers/media/i2c/saa7110.c
308
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
310
if (decoder->enable != enable) {
drivers/media/i2c/saa7110.c
311
decoder->enable = enable;
drivers/media/i2c/saa7110.c
363
struct saa7110 *decoder;
drivers/media/i2c/saa7110.c
375
decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL);
drivers/media/i2c/saa7110.c
376
if (!decoder)
drivers/media/i2c/saa7110.c
378
sd = &decoder->sd;
drivers/media/i2c/saa7110.c
380
decoder->norm = V4L2_STD_PAL;
drivers/media/i2c/saa7110.c
381
decoder->input = 0;
drivers/media/i2c/saa7110.c
382
decoder->enable = 1;
drivers/media/i2c/saa7110.c
383
v4l2_ctrl_handler_init(&decoder->hdl, 2);
drivers/media/i2c/saa7110.c
384
v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops,
drivers/media/i2c/saa7110.c
386
v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops,
drivers/media/i2c/saa7110.c
388
v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops,
drivers/media/i2c/saa7110.c
390
v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops,
drivers/media/i2c/saa7110.c
392
sd->ctrl_handler = &decoder->hdl;
drivers/media/i2c/saa7110.c
393
if (decoder->hdl.error) {
drivers/media/i2c/saa7110.c
394
int err = decoder->hdl.error;
drivers/media/i2c/saa7110.c
396
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/saa7110.c
399
v4l2_ctrl_handler_setup(&decoder->hdl);
drivers/media/i2c/saa7110.c
401
init_waitqueue_head(&decoder->wq);
drivers/media/i2c/saa7110.c
433
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
436
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/saa7110.c
70
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
72
decoder->reg[reg] = value;
drivers/media/i2c/saa7110.c
79
struct saa7110 *decoder = to_saa7110(sd);
drivers/media/i2c/saa7110.c
93
memcpy(decoder->reg + reg, data + 1, len - 1);
drivers/media/i2c/saa717x.c
1052
struct saa717x_state *decoder = to_state(sd);
drivers/media/i2c/saa717x.c
1054
decoder->radio = 1;
drivers/media/i2c/saa717x.c
1060
struct saa717x_state *decoder = to_state(sd);
drivers/media/i2c/saa717x.c
1065
decoder->radio = 0;
drivers/media/i2c/saa717x.c
1066
decoder->std = std;
drivers/media/i2c/saa717x.c
1073
struct saa717x_state *decoder = to_state(sd);
drivers/media/i2c/saa717x.c
1076
decoder->audio_input = input;
drivers/media/i2c/saa717x.c
1079
decoder->audio_input);
drivers/media/i2c/saa717x.c
1080
set_audio_regs(sd, decoder);
drivers/media/i2c/saa717x.c
1088
struct saa717x_state *decoder = to_state(sd);
drivers/media/i2c/saa717x.c
1092
decoder->enable = enable;
drivers/media/i2c/saa717x.c
1100
struct saa717x_state *decoder = to_state(sd);
drivers/media/i2c/saa717x.c
1125
decoder->tuner_audio_mode = audio_mode;
drivers/media/i2c/saa717x.c
1128
set_audio_mode(sd, decoder->tuner_audio_mode);
drivers/media/i2c/saa717x.c
1134
struct saa717x_state *decoder = to_state(sd);
drivers/media/i2c/saa717x.c
1137
if (decoder->radio)
drivers/media/i2c/saa717x.c
1233
struct saa717x_state *decoder;
drivers/media/i2c/saa717x.c
1243
decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL);
drivers/media/i2c/saa717x.c
1244
if (decoder == NULL)
drivers/media/i2c/saa717x.c
1247
sd = &decoder->sd;
drivers/media/i2c/saa717x.c
1270
hdl = &decoder->hdl;
drivers/media/i2c/saa717x.c
1299
decoder->std = V4L2_STD_NTSC;
drivers/media/i2c/saa717x.c
1300
decoder->input = -1;
drivers/media/i2c/saa717x.c
1301
decoder->enable = 1;
drivers/media/i2c/saa717x.c
1304
decoder->playback = 0; /* initially capture mode used */
drivers/media/i2c/saa717x.c
1305
decoder->audio = 1; /* DECODER_AUDIO_48_KHZ */
drivers/media/i2c/saa717x.c
1307
decoder->audio_input = 2; /* FIXME!! */
drivers/media/i2c/saa717x.c
1309
decoder->tuner_audio_mode = TUNER_AUDIO_STEREO;
drivers/media/i2c/saa717x.c
1311
decoder->audio_main_vol_l = 6;
drivers/media/i2c/saa717x.c
1312
decoder->audio_main_vol_r = 6;
drivers/media/i2c/saa717x.c
768
struct saa717x_state *decoder)
drivers/media/i2c/saa717x.c
775
saa717x_write(sd, 0x0594, decoder->audio_input);
drivers/media/i2c/saa717x.c
777
decoder->audio_input);
drivers/media/i2c/saa717x.c
780
work_l = (min(65536 - decoder->audio_main_balance, 32768) * decoder->audio_main_volume) / 32768;
drivers/media/i2c/saa717x.c
781
work_r = (min(decoder->audio_main_balance, (u16)32768) * decoder->audio_main_volume) / 32768;
drivers/media/i2c/saa717x.c
782
decoder->audio_main_vol_l = (long)work_l * (24 - (-40)) / 65535 - 40;
drivers/media/i2c/saa717x.c
783
decoder->audio_main_vol_r = (long)work_r * (24 - (-40)) / 65535 - 40;
drivers/media/i2c/saa717x.c
789
if (decoder->audio_main_mute) {
drivers/media/i2c/saa717x.c
792
val = (u8)decoder->audio_main_vol_l |
drivers/media/i2c/saa717x.c
793
((u8)decoder->audio_main_vol_r << 8);
drivers/media/i2c/saa717x.c
799
val = decoder->audio_main_bass & 0x1f;
drivers/media/i2c/saa717x.c
800
val |= (decoder->audio_main_treble & 0x1f) << 5;
drivers/media/i2c/saa717x.c
914
struct saa717x_state *decoder = to_state(sd);
drivers/media/i2c/saa717x.c
925
if (decoder->input != input) {
drivers/media/i2c/saa717x.c
928
decoder->input = input_line;
drivers/media/i2c/saa717x.c
946
set_audio_mode(sd, decoder->tuner_audio_mode);
drivers/media/i2c/ths8200.c
480
struct ths8200_state *decoder = to_state(sd);
drivers/media/i2c/ths8200.c
486
v4l2_async_unregister_subdev(&decoder->sd);
drivers/media/i2c/tvp514x.c
1028
struct tvp514x_decoder *decoder;
drivers/media/i2c/tvp514x.c
1041
decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL);
drivers/media/i2c/tvp514x.c
1042
if (!decoder)
drivers/media/i2c/tvp514x.c
1046
*decoder = tvp514x_dev;
drivers/media/i2c/tvp514x.c
1048
memcpy(decoder->tvp514x_regs, tvp514x_reg_list_default,
drivers/media/i2c/tvp514x.c
1051
decoder->int_seq = i2c_get_match_data(client);
drivers/media/i2c/tvp514x.c
1054
decoder->pdata = pdata;
drivers/media/i2c/tvp514x.c
1061
decoder->tvp514x_regs[REG_OUTPUT_FORMATTER2].val |=
drivers/media/i2c/tvp514x.c
1062
(decoder->pdata->clk_polarity << 1);
drivers/media/i2c/tvp514x.c
1063
decoder->tvp514x_regs[REG_SYNC_CONTROL].val |=
drivers/media/i2c/tvp514x.c
1064
((decoder->pdata->hs_polarity << 2) |
drivers/media/i2c/tvp514x.c
1065
(decoder->pdata->vs_polarity << 3));
drivers/media/i2c/tvp514x.c
1067
decoder->tvp514x_regs[REG_VIDEO_STD].val =
drivers/media/i2c/tvp514x.c
1071
sd = &decoder->sd;
drivers/media/i2c/tvp514x.c
1075
decoder->pad.flags = MEDIA_PAD_FL_SOURCE;
drivers/media/i2c/tvp514x.c
1076
decoder->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
drivers/media/i2c/tvp514x.c
1077
decoder->sd.entity.function = MEDIA_ENT_F_ATV_DECODER;
drivers/media/i2c/tvp514x.c
1079
ret = media_entity_pads_init(&decoder->sd.entity, 1, &decoder->pad);
drivers/media/i2c/tvp514x.c
1086
v4l2_ctrl_handler_init(&decoder->hdl, 5);
drivers/media/i2c/tvp514x.c
1087
v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops,
drivers/media/i2c/tvp514x.c
1089
v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops,
drivers/media/i2c/tvp514x.c
1091
v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops,
drivers/media/i2c/tvp514x.c
1093
v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops,
drivers/media/i2c/tvp514x.c
1095
v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops,
drivers/media/i2c/tvp514x.c
1097
sd->ctrl_handler = &decoder->hdl;
drivers/media/i2c/tvp514x.c
1098
if (decoder->hdl.error) {
drivers/media/i2c/tvp514x.c
1099
ret = decoder->hdl.error;
drivers/media/i2c/tvp514x.c
1102
v4l2_ctrl_handler_setup(&decoder->hdl);
drivers/media/i2c/tvp514x.c
1104
ret = v4l2_async_register_subdev(&decoder->sd);
drivers/media/i2c/tvp514x.c
1110
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/tvp514x.c
1111
media_entity_cleanup(&decoder->sd.entity);
drivers/media/i2c/tvp514x.c
1126
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
1128
v4l2_async_unregister_subdev(&decoder->sd);
drivers/media/i2c/tvp514x.c
1129
media_entity_cleanup(&decoder->sd.entity);
drivers/media/i2c/tvp514x.c
1130
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/tvp514x.c
466
struct tvp514x_decoder *decoder)
drivers/media/i2c/tvp514x.c
472
tvp514x_write_regs(sd, decoder->tvp514x_regs);
drivers/media/i2c/tvp514x.c
494
struct tvp514x_decoder *decoder)
drivers/media/i2c/tvp514x.c
517
decoder->ver = rom_ver;
drivers/media/i2c/tvp514x.c
520
client->name, decoder->ver,
drivers/media/i2c/tvp514x.c
535
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
544
if (!decoder->streaming) {
drivers/media/i2c/tvp514x.c
556
input_sel = decoder->input;
drivers/media/i2c/tvp514x.c
600
*std_id &= decoder->std_list[current_std].standard.id;
drivers/media/i2c/tvp514x.c
603
decoder->std_list[current_std].standard.name);
drivers/media/i2c/tvp514x.c
617
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
620
for (i = 0; i < decoder->num_stds; i++)
drivers/media/i2c/tvp514x.c
621
if (std_id & decoder->std_list[i].standard.id)
drivers/media/i2c/tvp514x.c
624
if ((i == decoder->num_stds) || (i == STD_INVALID))
drivers/media/i2c/tvp514x.c
628
decoder->std_list[i].video_std);
drivers/media/i2c/tvp514x.c
632
decoder->current_std = i;
drivers/media/i2c/tvp514x.c
633
decoder->tvp514x_regs[REG_VIDEO_STD].val =
drivers/media/i2c/tvp514x.c
634
decoder->std_list[i].video_std;
drivers/media/i2c/tvp514x.c
637
decoder->std_list[i].standard.name);
drivers/media/i2c/tvp514x.c
655
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
679
decoder->tvp514x_regs[REG_INPUT_SEL].val = input_sel;
drivers/media/i2c/tvp514x.c
680
decoder->tvp514x_regs[REG_OUTPUT_FORMATTER1].val = output_sel;
drivers/media/i2c/tvp514x.c
681
decoder->input = input;
drivers/media/i2c/tvp514x.c
682
decoder->output = output;
drivers/media/i2c/tvp514x.c
699
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
708
decoder->tvp514x_regs[REG_BRIGHTNESS].val = value;
drivers/media/i2c/tvp514x.c
713
decoder->tvp514x_regs[REG_CONTRAST].val = value;
drivers/media/i2c/tvp514x.c
718
decoder->tvp514x_regs[REG_SATURATION].val = value;
drivers/media/i2c/tvp514x.c
727
decoder->tvp514x_regs[REG_HUE].val = value;
drivers/media/i2c/tvp514x.c
732
decoder->tvp514x_regs[REG_AFE_GAIN_CTRL].val = value;
drivers/media/i2c/tvp514x.c
746
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
757
current_std = decoder->current_std;
drivers/media/i2c/tvp514x.c
760
decoder->std_list[current_std].standard.frameperiod;
drivers/media/i2c/tvp514x.c
770
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
784
current_std = decoder->current_std;
drivers/media/i2c/tvp514x.c
787
decoder->std_list[current_std].standard.frameperiod;
drivers/media/i2c/tvp514x.c
802
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
804
if (decoder->streaming == enable)
drivers/media/i2c/tvp514x.c
816
decoder->streaming = enable;
drivers/media/i2c/tvp514x.c
822
err = tvp514x_write_regs(sd, decoder->int_seq);
drivers/media/i2c/tvp514x.c
828
err = tvp514x_detect(sd, decoder);
drivers/media/i2c/tvp514x.c
833
err = tvp514x_configure(sd, decoder);
drivers/media/i2c/tvp514x.c
838
decoder->streaming = enable;
drivers/media/i2c/tvp514x.c
892
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
899
format->format = decoder->format;
drivers/media/i2c/tvp514x.c
904
format->format.width = tvp514x_std_list[decoder->current_std].width;
drivers/media/i2c/tvp514x.c
905
format->format.height = tvp514x_std_list[decoder->current_std].height;
drivers/media/i2c/tvp514x.c
924
struct tvp514x_decoder *decoder = to_decoder(sd);
drivers/media/i2c/tvp514x.c
929
fmt->format.width != tvp514x_std_list[decoder->current_std].width ||
drivers/media/i2c/tvp514x.c
930
fmt->format.height != tvp514x_std_list[decoder->current_std].height)
drivers/media/i2c/tvp514x.c
933
decoder->format = fmt->format;
drivers/media/i2c/tvp5150.c
1002
regmap_write(decoder->regmap, TVP5150_SATURATION_CTL,
drivers/media/i2c/tvp5150.c
1006
regmap_write(decoder->regmap, TVP5150_HUE_CTL, ctrl->val);
drivers/media/i2c/tvp5150.c
1009
decoder->enable = ctrl->val ? false : true;
drivers/media/i2c/tvp5150.c
1029
tvp5150_get_pad_crop(struct tvp5150 *decoder,
drivers/media/i2c/tvp5150.c
1035
return &decoder->rect;
drivers/media/i2c/tvp5150.c
1052
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1059
f->width = decoder->rect.width;
drivers/media/i2c/tvp5150.c
1060
f->height = decoder->rect.height / 2;
drivers/media/i2c/tvp5150.c
1073
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1077
if (decoder->norm == V4L2_STD_ALL)
drivers/media/i2c/tvp5150.c
1080
std = decoder->norm;
drivers/media/i2c/tvp5150.c
1089
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1092
regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_START, rect->top);
drivers/media/i2c/tvp5150.c
1093
regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_STOP,
drivers/media/i2c/tvp5150.c
1095
regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_ST_MSB,
drivers/media/i2c/tvp5150.c
1097
regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_ST_LSB,
drivers/media/i2c/tvp5150.c
1099
regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_STP_MSB,
drivers/media/i2c/tvp5150.c
110
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1102
regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_STP_LSB,
drivers/media/i2c/tvp5150.c
1110
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
113
ret = regmap_read(decoder->regmap, addr, &val);
drivers/media/i2c/tvp5150.c
1141
crop = tvp5150_get_pad_crop(decoder, sd_state, sel->pad, sel->which);
drivers/media/i2c/tvp5150.c
1162
struct tvp5150 *decoder = container_of(sd, struct tvp5150, sd);
drivers/media/i2c/tvp5150.c
1173
if (decoder->norm == V4L2_STD_ALL)
drivers/media/i2c/tvp5150.c
1176
std = decoder->norm;
drivers/media/i2c/tvp5150.c
1183
crop = tvp5150_get_pad_crop(decoder, sd_state, sel->pad,
drivers/media/i2c/tvp5150.c
1198
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1200
cfg->type = decoder->mbus_type;
drivers/media/i2c/tvp5150.c
1215
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1222
if (decoder->norm == V4L2_STD_ALL) {
drivers/media/i2c/tvp5150.c
1224
if (std != decoder->detected_norm) {
drivers/media/i2c/tvp5150.c
1225
decoder->detected_norm = std;
drivers/media/i2c/tvp5150.c
1226
tvp5150_set_default(std, &decoder->rect);
drivers/media/i2c/tvp5150.c
1248
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1254
fse->min_width = decoder->rect.width;
drivers/media/i2c/tvp5150.c
1255
fse->max_width = decoder->rect.width;
drivers/media/i2c/tvp5150.c
1256
fse->min_height = decoder->rect.height / 2;
drivers/media/i2c/tvp5150.c
1257
fse->max_height = decoder->rect.height / 2;
drivers/media/i2c/tvp5150.c
1281
static int tvp5150_disable_all_input_links(struct tvp5150 *decoder)
drivers/media/i2c/tvp5150.c
1288
connector_pad = media_pad_remote_pad_first(&decoder->pads[i]);
drivers/media/i2c/tvp5150.c
1292
err = tvp5150_set_link(connector_pad, &decoder->pads[i], 0);
drivers/media/i2c/tvp5150.c
1308
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1310
&decoder->pads[tvp5150_pad->index ^ 1];
drivers/media/i2c/tvp5150.c
1324
for (i = 0; i < decoder->connectors_num; i++) {
drivers/media/i2c/tvp5150.c
1325
if (remote->entity == &decoder->connectors[i].ent) {
drivers/media/i2c/tvp5150.c
1326
v4l2c = &decoder->connectors[i].base;
drivers/media/i2c/tvp5150.c
1359
err = tvp5150_disable_all_input_links(decoder);
drivers/media/i2c/tvp5150.c
1383
if (!decoder->connectors_num)
drivers/media/i2c/tvp5150.c
1387
decoder->cur_connector =
drivers/media/i2c/tvp5150.c
1394
v4l2ca = &decoder->cur_connector->base.connector.analog;
drivers/media/i2c/tvp5150.c
1395
new_norm = decoder->norm & v4l2ca->sdtv_stds;
drivers/media/i2c/tvp5150.c
1396
if (decoder->norm == new_norm)
drivers/media/i2c/tvp5150.c
1419
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1421
if (decoder->irq)
drivers/media/i2c/tvp5150.c
1423
return regmap_update_bits(decoder->regmap,
drivers/media/i2c/tvp5150.c
1432
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1434
if (decoder->irq)
drivers/media/i2c/tvp5150.c
1436
return regmap_update_bits(decoder->regmap,
drivers/media/i2c/tvp5150.c
1445
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1460
if (decoder->irq)
drivers/media/i2c/tvp5150.c
1461
val = decoder->lock ? decoder->oe : 0;
drivers/media/i2c/tvp5150.c
1463
val = decoder->oe;
drivers/media/i2c/tvp5150.c
1465
v4l2_subdev_notify_event(&decoder->sd, &tvp5150_ev_fmt);
drivers/media/i2c/tvp5150.c
1470
regmap_update_bits(decoder->regmap, TVP5150_MISC_CTL, mask, val);
drivers/media/i2c/tvp5150.c
1478
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1480
decoder->input = input;
drivers/media/i2c/tvp5150.c
1481
decoder->output = output;
drivers/media/i2c/tvp5150.c
1484
decoder->enable = false;
drivers/media/i2c/tvp5150.c
1486
decoder->enable = true;
drivers/media/i2c/tvp5150.c
1494
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1505
regmap_write(decoder->regmap, TVP5150_LUMA_PROC_CTL_1, 0x70);
drivers/media/i2c/tvp5150.c
1507
regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_START,
drivers/media/i2c/tvp5150.c
1509
regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_STOP, 0x01);
drivers/media/i2c/tvp5150.c
1516
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1527
regmap_write(decoder->regmap, TVP5150_FIFO_OUT_CTRL, 1);
drivers/media/i2c/tvp5150.c
1530
regmap_write(decoder->regmap, TVP5150_FIFO_OUT_CTRL, 0);
drivers/media/i2c/tvp5150.c
1533
regmap_write(decoder->regmap, TVP5150_FULL_FIELD_ENA, 0);
drivers/media/i2c/tvp5150.c
1537
regmap_write(decoder->regmap, i, 0xff);
drivers/media/i2c/tvp5150.c
1575
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1577
return regmap_write(decoder->regmap, reg->reg & 0xff, reg->val & 0xff);
drivers/media/i2c/tvp5150.c
1605
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
1613
for (i = 0; i < decoder->connectors_num; i++) {
drivers/media/i2c/tvp5150.c
1614
struct media_entity *con = &decoder->connectors[i].ent;
drivers/media/i2c/tvp5150.c
1615
struct media_pad *pad = &decoder->connectors[i].pad;
drivers/media/i2c/tvp5150.c
1617
&decoder->connectors[i].base;
drivers/media/i2c/tvp5150.c
1652
decoder->input =
drivers/media/i2c/tvp5150.c
1658
decoder->cur_connector = &decoder->connectors[i];
drivers/media/i2c/tvp5150.c
1666
for (i = 0; i < decoder->connectors_num; i++) {
drivers/media/i2c/tvp5150.c
1667
media_device_unregister_entity(&decoder->connectors[i].ent);
drivers/media/i2c/tvp5150.c
1668
media_entity_cleanup(&decoder->connectors[i].ent);
drivers/media/i2c/tvp5150.c
1898
static int tvp5150_mc_init(struct tvp5150 *decoder)
drivers/media/i2c/tvp5150.c
1900
struct v4l2_subdev *sd = &decoder->sd;
drivers/media/i2c/tvp5150.c
1907
decoder->pads[i].flags = MEDIA_PAD_FL_SINK;
drivers/media/i2c/tvp5150.c
1908
decoder->pads[i].sig_type = PAD_SIGNAL_ANALOG;
drivers/media/i2c/tvp5150.c
1911
decoder->pads[i].flags = MEDIA_PAD_FL_SOURCE;
drivers/media/i2c/tvp5150.c
1912
decoder->pads[i].sig_type = PAD_SIGNAL_DV;
drivers/media/i2c/tvp5150.c
1915
decoder->pads);
drivers/media/i2c/tvp5150.c
1920
static inline int tvp5150_mc_init(struct tvp5150 *decoder)
drivers/media/i2c/tvp5150.c
1926
static int tvp5150_validate_connectors(struct tvp5150 *decoder)
drivers/media/i2c/tvp5150.c
1928
struct device *dev = decoder->sd.dev;
drivers/media/i2c/tvp5150.c
1933
if (!decoder->connectors_num) {
drivers/media/i2c/tvp5150.c
1938
for (i = 0; i < decoder->connectors_num; i++) {
drivers/media/i2c/tvp5150.c
1942
tvpc = &decoder->connectors[i];
drivers/media/i2c/tvp5150.c
1989
static int tvp5150_parse_dt(struct tvp5150 *decoder, struct device_node *np)
drivers/media/i2c/tvp5150.c
1991
struct device *dev = decoder->sd.dev;
drivers/media/i2c/tvp5150.c
2022
unsigned int next_connector = decoder->connectors_num;
drivers/media/i2c/tvp5150.c
2032
tvpc = &decoder->connectors[next_connector];
drivers/media/i2c/tvp5150.c
2042
decoder->connectors_num++;
drivers/media/i2c/tvp5150.c
2046
tvpc = &decoder->connectors[i];
drivers/media/i2c/tvp5150.c
2058
ret = tvp5150_validate_connectors(decoder);
drivers/media/i2c/tvp5150.c
2062
for (i = 0; i < decoder->connectors_num; i++) {
drivers/media/i2c/tvp5150.c
2063
tvpc = &decoder->connectors[i];
drivers/media/i2c/tvp5150.c
2097
decoder->mbus_type = bus_cfg.bus_type;
drivers/media/i2c/tvp5150.c
2105
v4l2_fwnode_connector_free(&decoder->connectors[i].base);
drivers/media/i2c/tvp5150.c
2240
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
2247
for (i = 0; i < decoder->connectors_num; i++)
drivers/media/i2c/tvp5150.c
2248
v4l2_fwnode_connector_free(&decoder->connectors[i].base);
drivers/media/i2c/tvp5150.c
2249
for (i = 0; i < decoder->connectors_num; i++) {
drivers/media/i2c/tvp5150.c
2250
media_device_unregister_entity(&decoder->connectors[i].ent);
drivers/media/i2c/tvp5150.c
2251
media_entity_cleanup(&decoder->connectors[i].ent);
drivers/media/i2c/tvp5150.c
2254
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/tvp5150.c
282
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
287
if ((decoder->dev_id == 0x5150 && decoder->rom_ver == 0x0400) ||
drivers/media/i2c/tvp5150.c
288
(decoder->dev_id == 0x5151 && decoder->rom_ver == 0x0100)) {
drivers/media/i2c/tvp5150.c
289
if (!decoder->enable)
drivers/media/i2c/tvp5150.c
293
switch (decoder->input) {
drivers/media/i2c/tvp5150.c
307
decoder->input == 0 ? "aip1a" :
drivers/media/i2c/tvp5150.c
308
decoder->input == 2 ? "aip1b" : "svideo",
drivers/media/i2c/tvp5150.c
309
decoder->output == 0 ? "normal" : "black-frame-gen",
drivers/media/i2c/tvp5150.c
312
regmap_write(decoder->regmap, TVP5150_OP_MODE_CTL, opmode);
drivers/media/i2c/tvp5150.c
313
regmap_write(decoder->regmap, TVP5150_VD_IN_SRC_SEL_1, input);
drivers/media/i2c/tvp5150.c
323
if (decoder->input == TVP5150_SVIDEO)
drivers/media/i2c/tvp5150.c
327
regmap_update_bits(decoder->regmap, TVP5150_MISC_CTL, mask, val);
drivers/media/i2c/tvp5150.c
600
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
603
regmap_write(decoder->regmap, regs->reg, regs->value);
drivers/media/i2c/tvp5150.c
611
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
612
struct regmap *map = decoder->regmap;
drivers/media/i2c/tvp5150.c
682
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
683
v4l2_std_id std = decoder->norm;
drivers/media/i2c/tvp5150.c
715
regmap_write(decoder->regmap, reg, type);
drivers/media/i2c/tvp5150.c
718
regmap_write(decoder->regmap, reg + 1, type);
drivers/media/i2c/tvp5150.c
725
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
726
v4l2_std_id std = decoder->norm;
drivers/media/i2c/tvp5150.c
761
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
783
regmap_write(decoder->regmap, TVP5150_VIDEO_STD, fmt);
drivers/media/i2c/tvp5150.c
789
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
791
*std = decoder->norm;
drivers/media/i2c/tvp5150.c
798
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
799
struct tvp5150_connector *cur_con = decoder->cur_connector;
drivers/media/i2c/tvp5150.c
802
if (decoder->norm == std)
drivers/media/i2c/tvp5150.c
806
if (!decoder->connectors_num)
drivers/media/i2c/tvp5150.c
820
decoder->rect.height = TVP5150_V_MAX_525_60;
drivers/media/i2c/tvp5150.c
822
decoder->rect.height = TVP5150_V_MAX_OTHERS;
drivers/media/i2c/tvp5150.c
825
decoder->norm = supported_stds & std;
drivers/media/i2c/tvp5150.c
854
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
857
if (decoder->irq)
drivers/media/i2c/tvp5150.c
858
return decoder->lock;
drivers/media/i2c/tvp5150.c
860
regmap_read(decoder->regmap, TVP5150_STATUS_REG_1, &status);
drivers/media/i2c/tvp5150.c
880
struct tvp5150 *decoder = dev_id;
drivers/media/i2c/tvp5150.c
881
struct regmap *map = decoder->regmap;
drivers/media/i2c/tvp5150.c
892
decoder->lock = !!(status & TVP5150_INT_A_LOCK_STATUS);
drivers/media/i2c/tvp5150.c
893
dev_dbg_lvl(decoder->sd.dev, 1, debug,
drivers/media/i2c/tvp5150.c
895
decoder->lock ? "ck" : "ss");
drivers/media/i2c/tvp5150.c
896
v4l2_subdev_notify_event(&decoder->sd, &tvp5150_ev_fmt);
drivers/media/i2c/tvp5150.c
898
decoder->lock ? decoder->oe : 0);
drivers/media/i2c/tvp5150.c
917
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
918
struct regmap *map = decoder->regmap;
drivers/media/i2c/tvp5150.c
923
if (decoder->irq) {
drivers/media/i2c/tvp5150.c
944
v4l2_ctrl_handler_setup(&decoder->hdl);
drivers/media/i2c/tvp5150.c
951
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
957
if (decoder->norm == V4L2_STD_ALL)
drivers/media/i2c/tvp5150.c
960
std = decoder->norm;
drivers/media/i2c/tvp5150.c
969
switch (decoder->mbus_type) {
drivers/media/i2c/tvp5150.c
972
regmap_update_bits(decoder->regmap, TVP5150_DATA_RATE_SEL,
drivers/media/i2c/tvp5150.c
974
decoder->oe = TVP5150_MISC_CTL_YCBCR_OE |
drivers/media/i2c/tvp5150.c
979
decoder->oe = TVP5150_MISC_CTL_YCBCR_OE |
drivers/media/i2c/tvp5150.c
992
struct tvp5150 *decoder = to_tvp5150(sd);
drivers/media/i2c/tvp5150.c
996
regmap_write(decoder->regmap, TVP5150_BRIGHT_CTL, ctrl->val);
drivers/media/i2c/tvp5150.c
999
regmap_write(decoder->regmap, TVP5150_CONTRAST_CTL, ctrl->val);
drivers/media/i2c/vpx3220.c
267
struct vpx3220 *decoder = to_vpx3220(sd);
drivers/media/i2c/vpx3220.c
271
if (decoder->norm & V4L2_STD_NTSC)
drivers/media/i2c/vpx3220.c
273
else if (decoder->norm & V4L2_STD_PAL)
drivers/media/i2c/vpx3220.c
275
else if (decoder->norm & V4L2_STD_SECAM)
drivers/media/i2c/vpx3220.c
339
struct vpx3220 *decoder = to_vpx3220(sd);
drivers/media/i2c/vpx3220.c
361
decoder->norm = std;
drivers/media/i2c/vpx3220.c
461
struct vpx3220 *decoder;
drivers/media/i2c/vpx3220.c
472
decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL);
drivers/media/i2c/vpx3220.c
473
if (decoder == NULL)
drivers/media/i2c/vpx3220.c
475
sd = &decoder->sd;
drivers/media/i2c/vpx3220.c
477
decoder->norm = V4L2_STD_PAL;
drivers/media/i2c/vpx3220.c
478
decoder->input = 0;
drivers/media/i2c/vpx3220.c
479
decoder->enable = 1;
drivers/media/i2c/vpx3220.c
480
v4l2_ctrl_handler_init(&decoder->hdl, 4);
drivers/media/i2c/vpx3220.c
481
v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops,
drivers/media/i2c/vpx3220.c
483
v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops,
drivers/media/i2c/vpx3220.c
485
v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops,
drivers/media/i2c/vpx3220.c
487
v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops,
drivers/media/i2c/vpx3220.c
489
sd->ctrl_handler = &decoder->hdl;
drivers/media/i2c/vpx3220.c
490
if (decoder->hdl.error) {
drivers/media/i2c/vpx3220.c
491
int err = decoder->hdl.error;
drivers/media/i2c/vpx3220.c
493
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/vpx3220.c
496
v4l2_ctrl_handler_setup(&decoder->hdl);
drivers/media/i2c/vpx3220.c
531
struct vpx3220 *decoder = to_vpx3220(sd);
drivers/media/i2c/vpx3220.c
534
v4l2_ctrl_handler_free(&decoder->hdl);
drivers/media/i2c/vpx3220.c
59
struct vpx3220 *decoder = i2c_get_clientdata(client);
drivers/media/i2c/vpx3220.c
61
decoder->reg[reg] = value;
drivers/media/pci/cx25821/cx25821-medusa-video.c
409
int decoder = 0;
drivers/media/pci/cx25821/cx25821-medusa-video.c
423
decoder = decoder_select;
drivers/media/pci/cx25821/cx25821-medusa-video.c
426
decoder = 0;
drivers/media/pci/cx25821/cx25821-medusa-video.c
457
for (; decoder < decoder_count; decoder++) {
drivers/media/pci/cx25821/cx25821-medusa-video.c
460
HSCALE_CTRL + (0x200 * decoder), hscale);
drivers/media/pci/cx25821/cx25821-medusa-video.c
462
VSCALE_CTRL + (0x200 * decoder), vscale);
drivers/media/pci/cx25821/cx25821-medusa-video.c
466
static void medusa_set_decoderduration(struct cx25821_dev *dev, int decoder,
drivers/media/pci/cx25821/cx25821-medusa-video.c
474
if (decoder < VDEC_A || decoder > VDEC_H) {
drivers/media/pci/cx25821/cx25821-medusa-video.c
478
switch (decoder) {
drivers/media/pci/cx25821/cx25821-medusa-video.c
498
if (!(decoder % 2)) { /* EVEN decoder */
drivers/media/pci/cx25821/cx25821-medusa-video.c
551
int medusa_set_brightness(struct cx25821_dev *dev, int brightness, int decoder)
drivers/media/pci/cx25821/cx25821-medusa-video.c
565
VDEC_A_BRITE_CTRL + (0x200 * decoder), &tmp);
drivers/media/pci/cx25821/cx25821-medusa-video.c
568
VDEC_A_BRITE_CTRL + (0x200 * decoder), val | value);
drivers/media/pci/cx25821/cx25821-medusa-video.c
572
int medusa_set_contrast(struct cx25821_dev *dev, int contrast, int decoder)
drivers/media/pci/cx25821/cx25821-medusa-video.c
585
VDEC_A_CNTRST_CTRL + (0x200 * decoder), &tmp);
drivers/media/pci/cx25821/cx25821-medusa-video.c
588
VDEC_A_CNTRST_CTRL + (0x200 * decoder), val | value);
drivers/media/pci/cx25821/cx25821-medusa-video.c
593
int medusa_set_hue(struct cx25821_dev *dev, int hue, int decoder)
drivers/media/pci/cx25821/cx25821-medusa-video.c
608
VDEC_A_HUE_CTRL + (0x200 * decoder), &tmp);
drivers/media/pci/cx25821/cx25821-medusa-video.c
612
VDEC_A_HUE_CTRL + (0x200 * decoder), val | value);
drivers/media/pci/cx25821/cx25821-medusa-video.c
617
int medusa_set_saturation(struct cx25821_dev *dev, int saturation, int decoder)
drivers/media/pci/cx25821/cx25821-medusa-video.c
632
VDEC_A_USAT_CTRL + (0x200 * decoder), &tmp);
drivers/media/pci/cx25821/cx25821-medusa-video.c
635
VDEC_A_USAT_CTRL + (0x200 * decoder), val | value);
drivers/media/pci/cx25821/cx25821-medusa-video.c
638
VDEC_A_VSAT_CTRL + (0x200 * decoder), &tmp);
drivers/media/pci/cx25821/cx25821-medusa-video.c
641
VDEC_A_VSAT_CTRL + (0x200 * decoder), val | value);
drivers/media/pci/cx25821/cx25821.h
383
int decoder);
drivers/media/pci/cx25821/cx25821.h
385
int decoder);
drivers/media/pci/cx25821/cx25821.h
386
extern int medusa_set_hue(struct cx25821_dev *dev, int hue, int decoder);
drivers/media/pci/cx25821/cx25821.h
388
int decoder);
drivers/media/pci/saa7134/saa7134-core.c
811
struct media_entity *decoder = NULL;
drivers/media/pci/saa7134/saa7134-core.c
816
decoder = entity;
drivers/media/pci/saa7134/saa7134-core.c
825
if (!decoder) {
drivers/media/pci/saa7134/saa7134-core.c
842
dev->decoder = &dev->demod;
drivers/media/pci/saa7134/saa7134-core.c
844
dev->decoder = decoder;
drivers/media/pci/saa7134/saa7134-video.c
586
if (!mdev || !dev->decoder)
drivers/media/pci/saa7134/saa7134-video.c
596
list_for_each_entry(link, &dev->decoder->links, list) {
drivers/media/pci/saa7134/saa7134-video.c
597
if (link->sink->entity == dev->decoder) {
drivers/media/pci/saa7134/saa7134-video.c
615
if (sink == dev->decoder)
drivers/media/pci/saa7134/saa7134.h
663
struct media_entity *decoder;
drivers/media/pci/zoran/zoran.h
203
struct v4l2_subdev *decoder; /* video decoder sub-device */
drivers/media/pci/zoran/zoran_card.c
921
zr->decoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter,
drivers/media/pci/zoran/zoran_card.c
924
if (!zr->decoder) {
drivers/media/pci/zoran/zoran_device.h
52
v4l2_subdev_call((zr)->decoder, o, f, ##args)
drivers/media/platform/amphion/vpu.h
69
struct vpu_func decoder;
drivers/media/platform/amphion/vpu_drv.c
129
vpu->decoder.type = VPU_CORE_TYPE_DEC;
drivers/media/platform/amphion/vpu_drv.c
130
vpu->decoder.function = MEDIA_ENT_F_PROC_VIDEO_DECODER;
drivers/media/platform/amphion/vpu_drv.c
131
ret = vpu_add_func(vpu, &vpu->decoder);
drivers/media/platform/amphion/vpu_drv.c
149
vpu_remove_func(&vpu->decoder);
drivers/media/platform/amphion/vpu_drv.c
171
vpu_remove_func(&vpu->decoder);
drivers/media/platform/amphion/vpu_v4l2.c
732
func = &vpu->decoder;
drivers/media/platform/verisilicon/hantro.h
202
struct hantro_func *decoder;
drivers/media/platform/verisilicon/hantro_drv.c
916
vpu->decoder = func;
drivers/media/platform/verisilicon/hantro_drv.c
972
func = vpu->decoder;
drivers/media/rc/img-ir/img-ir-hw.c
317
static void img_ir_decoder_preprocess(struct img_ir_decoder *decoder)
drivers/media/rc/img-ir/img-ir-hw.c
320
if (!decoder->tolerance)
drivers/media/rc/img-ir/img-ir-hw.c
321
decoder->tolerance = 10; /* percent */
drivers/media/rc/img-ir/img-ir-hw.c
323
decoder->tolerance = decoder->tolerance * 128 / 100;
drivers/media/rc/img-ir/img-ir-hw.c
326
img_ir_timings_preprocess(&decoder->timings, decoder->unit);
drivers/media/rc/img-ir/img-ir-hw.c
329
if (decoder->repeat) {
drivers/media/rc/img-ir/img-ir-hw.c
330
img_ir_timings_preprocess(&decoder->rtimings, decoder->unit);
drivers/media/rc/img-ir/img-ir-hw.c
331
img_ir_timings_defaults(&decoder->rtimings, &decoder->timings);
drivers/media/rc/img-ir/img-ir-hw.c
344
static void img_ir_decoder_convert(const struct img_ir_decoder *decoder,
drivers/media/rc/img-ir/img-ir-hw.c
349
reg_timings->ctrl = img_ir_control(&decoder->control);
drivers/media/rc/img-ir/img-ir-hw.c
352
img_ir_timings_convert(®_timings->timings, &decoder->timings,
drivers/media/rc/img-ir/img-ir-hw.c
353
decoder->tolerance, clock_hz);
drivers/media/rc/img-ir/img-ir-hw.c
356
if (decoder->repeat)
drivers/media/rc/img-ir/img-ir-hw.c
358
&decoder->rtimings, decoder->tolerance,
drivers/media/rc/img-ir/img-ir-hw.c
479
if (!hw->decoder || !hw->decoder->filter) {
drivers/media/rc/img-ir/img-ir-hw.c
489
ret = hw->decoder->filter(sc_filter, &filter,
drivers/media/rc/img-ir/img-ir-hw.c
493
ret = hw->decoder->filter(sc_filter, &filter,
drivers/media/rc/img-ir/img-ir-hw.c
540
const struct img_ir_decoder *decoder,
drivers/media/rc/img-ir/img-ir-hw.c
598
hw->decoder = decoder;
drivers/media/rc/img-ir/img-ir-hw.c
599
if (!decoder)
drivers/media/rc/img-ir/img-ir-hw.c
604
proto = decoder->type;
drivers/media/rc/img-ir/img-ir-hw.c
608
img_ir_decoder_convert(decoder, &hw->reg_timings, hw->clk_hz);
drivers/media/rc/img-ir/img-ir-hw.c
690
if (!hw->decoder || !hw->decoder->filter)
drivers/media/rc/img-ir/img-ir-hw.c
818
const struct img_ir_decoder *dec = hw->decoder;
drivers/media/rc/img-ir/img-ir-hw.c
913
if (hw->decoder) {
drivers/media/rc/img-ir/img-ir-hw.c
914
img_ir_decoder_convert(hw->decoder, &hw->reg_timings,
drivers/media/rc/img-ir/img-ir-hw.c
961
if (!hw->decoder)
drivers/media/rc/img-ir/img-ir-hw.c
964
ct = hw->decoder->control.code_type;
drivers/media/rc/img-ir/img-ir-hw.h
238
const struct img_ir_decoder *decoder;
drivers/media/usb/au0828/au0828-core.c
216
struct media_entity *entity, *mixer = NULL, *decoder = NULL;
drivers/media/usb/au0828/au0828-core.c
228
decoder = entity;
drivers/media/usb/au0828/au0828-core.c
236
if (dev->decoder)
drivers/media/usb/au0828/au0828-core.c
237
decoder = dev->decoder;
drivers/media/usb/au0828/au0828-core.c
245
decoder = new;
drivers/media/usb/au0828/au0828-core.c
252
if (decoder && mixer) {
drivers/media/usb/au0828/au0828-core.c
253
ret = media_get_pad_index(decoder, MEDIA_PAD_FL_SOURCE,
drivers/media/usb/au0828/au0828-core.c
256
ret = media_create_pad_link(decoder, ret,
drivers/media/usb/au0828/au0828-core.c
319
if (!dev->decoder) {
drivers/media/usb/au0828/au0828-core.c
324
sink = dev->decoder;
drivers/media/usb/au0828/au0828-core.c
609
dev->decoder = entity;
drivers/media/usb/au0828/au0828-core.c
622
if (dev->decoder && link->sink->entity == dev->decoder)
drivers/media/usb/au0828/au0828.h
271
struct media_entity *decoder;
drivers/media/usb/cx231xx/cx231xx-cards.c
1260
if (dev->board.decoder == CX231XX_AVDECODER) {
drivers/media/usb/cx231xx/cx231xx-cards.c
128
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
168
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
209
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
244
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
280
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
308
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
336
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
370
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
397
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
435
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
473
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
511
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
540
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
569
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
604
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
634
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
660
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
696
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
735
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
774
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
808
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
837
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
862
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
88
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
889
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
920
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-cards.c
959
.decoder = CX231XX_AVDECODER,
drivers/media/usb/cx231xx/cx231xx-video.c
110
decoder = entity;
drivers/media/usb/cx231xx/cx231xx-video.c
114
if (!decoder)
drivers/media/usb/cx231xx/cx231xx-video.c
117
list_for_each_entry(link, &decoder->links, list) {
drivers/media/usb/cx231xx/cx231xx-video.c
118
if (link->sink->entity == decoder) {
drivers/media/usb/cx231xx/cx231xx-video.c
94
struct media_entity *entity, *decoder = NULL, *source;
drivers/media/usb/cx231xx/cx231xx.h
371
enum cx231xx_decoder decoder;
drivers/media/usb/em28xx/em28xx-cards.c
1003
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1028
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1045
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1065
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1086
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1110
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1128
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1146
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1163
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1233
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1337
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1364
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1390
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1416
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1442
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1468
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1490
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1521
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1546
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1567
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1585
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1601
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1619
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1639
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1657
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1673
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1692
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1715
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1736
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1763
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1786
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1808
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1830
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1854
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
1890
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1913
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1935
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1963
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
1985
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2010
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2036
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2051
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2083
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2104
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2130
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
2146
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2165
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
2183
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2202
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
2219
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2299
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
2407
.decoder = EM28XX_NODECODER,
drivers/media/usb/em28xx/em28xx-cards.c
2476
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
2562
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
2581
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
2617
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
4049
dev->board.decoder == EM28XX_NODECODER &&
drivers/media/usb/em28xx/em28xx-cards.c
712
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
733
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
756
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
771
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
791
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
811
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
832
.decoder = EM28XX_TVP5150,
drivers/media/usb/em28xx/em28xx-cards.c
851
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
871
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
891
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
911
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
935
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-cards.c
984
.decoder = EM28XX_SAA711X,
drivers/media/usb/em28xx/em28xx-video.c
2572
if (dev->board.decoder == EM28XX_SAA711X)
drivers/media/usb/em28xx/em28xx-video.c
2577
if (dev->board.decoder == EM28XX_TVP5150)
drivers/media/usb/em28xx/em28xx-video.c
904
if (!mdev || !v4l2->decoder)
drivers/media/usb/em28xx/em28xx-video.c
914
list_for_each_entry(link, &v4l2->decoder->links, list) {
drivers/media/usb/em28xx/em28xx-video.c
915
if (link->sink->entity == v4l2->decoder) {
drivers/media/usb/em28xx/em28xx-video.c
933
if (sink == v4l2->decoder)
drivers/media/usb/em28xx/em28xx.h
502
enum em28xx_decoder decoder;
drivers/media/usb/em28xx/em28xx.h
596
struct media_entity *decoder;
drivers/media/v4l2-core/v4l2-mc.c
100
if (!decoder) {
drivers/media/v4l2-core/v4l2-mc.c
130
pad_sink = media_get_pad_index(decoder,
drivers/media/v4l2-core/v4l2-mc.c
139
decoder, pad_sink,
drivers/media/v4l2-core/v4l2-mc.c
149
pad_sink = media_get_pad_index(decoder,
drivers/media/v4l2-core/v4l2-mc.c
158
decoder, pad_sink,
drivers/media/v4l2-core/v4l2-mc.c
191
pad_source = media_get_pad_index(decoder, MEDIA_PAD_FL_SOURCE,
drivers/media/v4l2-core/v4l2-mc.c
197
ret = media_create_pad_link(decoder, pad_source,
drivers/media/v4l2-core/v4l2-mc.c
207
pad_source = media_get_pad_index(decoder, MEDIA_PAD_FL_SOURCE,
drivers/media/v4l2-core/v4l2-mc.c
213
ret = media_create_pad_link(decoder, pad_source,
drivers/media/v4l2-core/v4l2-mc.c
223
pad_source = media_get_pad_index(decoder, MEDIA_PAD_FL_SOURCE,
drivers/media/v4l2-core/v4l2-mc.c
229
ret = media_create_pad_link(decoder, pad_source,
drivers/media/v4l2-core/v4l2-mc.c
257
pad_sink = media_get_pad_index(decoder,
drivers/media/v4l2-core/v4l2-mc.c
264
ret = media_create_pad_link(entity, 0, decoder,
drivers/media/v4l2-core/v4l2-mc.c
27
struct media_entity *tuner = NULL, *decoder = NULL;
drivers/media/v4l2-core/v4l2-mc.c
48
decoder = entity;
drivers/media/v4l2-core/v4l2-mc.c
95
if (!decoder)
include/linux/asn1_decoder.h
16
extern int asn1_ber_decoder(const struct asn1_decoder *decoder,
lib/asn1_decoder.c
167
int asn1_ber_decoder(const struct asn1_decoder *decoder,
lib/asn1_decoder.c
172
const unsigned char *machine = decoder->machine;
lib/asn1_decoder.c
173
const asn1_action_t *actions = decoder->actions;
lib/asn1_decoder.c
174
size_t machlen = decoder->machlen;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
101
free(decoder);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
104
static int arm_spe_get_data(struct arm_spe_decoder *decoder)
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
110
ret = decoder->get_trace(&buffer, decoder->data);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
114
decoder->buf = buffer.buf;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
115
decoder->len = buffer.len;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
117
if (!decoder->len)
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
120
return decoder->len;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
123
static int arm_spe_get_next_packet(struct arm_spe_decoder *decoder)
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
128
if (!decoder->len) {
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
129
ret = arm_spe_get_data(decoder);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
136
ret = arm_spe_get_packet(decoder->buf, decoder->len,
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
137
&decoder->packet);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
140
decoder->buf += 1;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
141
decoder->len -= 1;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
145
decoder->buf += ret;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
146
decoder->len -= ret;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
147
} while (decoder->packet.type == ARM_SPE_PAD);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
152
static int arm_spe_read_record(struct arm_spe_decoder *decoder)
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
158
memset(&decoder->record, 0x0, sizeof(decoder->record));
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
159
decoder->record.context_id = (u64)-1;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
162
err = arm_spe_get_next_packet(decoder);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
166
idx = decoder->packet.index;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
167
payload = decoder->packet.payload;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
169
switch (decoder->packet.type) {
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
171
decoder->record.timestamp = payload;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
178
decoder->record.from_ip = ip;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
180
decoder->record.to_ip = ip;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
182
decoder->record.virt_addr = ip;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
184
decoder->record.phys_addr = ip;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
186
decoder->record.prev_br_tgt = ip;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
190
decoder->record.latency = payload;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
193
decoder->record.context_id = payload;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
198
decoder->record.op |= ARM_SPE_OP_LDST;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
200
decoder->record.op |= ARM_SPE_OP_ST;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
202
decoder->record.op |= ARM_SPE_OP_LD;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
205
decoder->record.op |= ARM_SPE_OP_GP_REG;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
207
decoder->record.op |= ARM_SPE_OP_SIMD_FP;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
209
decoder->record.op |= ARM_SPE_OP_UNSPEC_REG;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
211
decoder->record.op |= ARM_SPE_OP_NV_SYSREG;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
213
decoder->record.op |= ARM_SPE_OP_MTE_TAG;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
216
decoder->record.op |= ARM_SPE_OP_AR;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
218
decoder->record.op |= ARM_SPE_OP_EXCL;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
220
decoder->record.op |= ARM_SPE_OP_ATOMIC;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
222
decoder->record.op |= ARM_SPE_OP_SVE;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
224
decoder->record.op |= ARM_SPE_OP_PRED;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
226
decoder->record.op |= ARM_SPE_OP_SG;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
228
decoder->record.op |= ARM_SPE_OP_MEMCPY;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
230
decoder->record.op |= ARM_SPE_OP_MEMSET;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
232
decoder->record.op |= ARM_SPE_OP_GCS;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
234
decoder->record.op |= ARM_SPE_OP_COMM;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
239
decoder->record.op |= ARM_SPE_OP_OTHER;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
241
decoder->record.op |= ARM_SPE_OP_SVE | ARM_SPE_OP_DP;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
243
decoder->record.op |= ARM_SPE_OP_FP;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
245
decoder->record.op |= ARM_SPE_OP_PRED;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
247
decoder->record.op |= ARM_SPE_OP_SME;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
249
decoder->record.op |= ARM_SPE_OP_FP;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
252
decoder->record.op |= ARM_SPE_OP_ASE;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
254
decoder->record.op |= ARM_SPE_OP_FP;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
256
decoder->record.op |= ARM_SPE_OP_COND;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
260
decoder->record.op |= ARM_SPE_OP_BRANCH_ERET;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
262
decoder->record.op |= ARM_SPE_OP_BR_COND;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
264
decoder->record.op |= ARM_SPE_OP_BR_INDIRECT;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
266
decoder->record.op |= ARM_SPE_OP_BR_GCS;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
268
decoder->record.op |= ARM_SPE_OP_BR_CR_BL;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
270
decoder->record.op |= ARM_SPE_OP_BR_CR_RET;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
272
decoder->record.op |= ARM_SPE_OP_BR_CR_NON_BL_RET;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
280
decoder->record.type = payload;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
283
decoder->record.source = payload;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
298
int arm_spe_decode(struct arm_spe_decoder *decoder)
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
300
return arm_spe_read_record(decoder);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
84
struct arm_spe_decoder *decoder;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
89
decoder = zalloc(sizeof(struct arm_spe_decoder));
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
90
if (!decoder)
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
93
decoder->get_trace = params->get_trace;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
94
decoder->data = params->data;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
96
return decoder;
tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
99
void arm_spe_decoder_free(struct arm_spe_decoder *decoder)
tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
155
void arm_spe_decoder_free(struct arm_spe_decoder *decoder);
tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
157
int arm_spe_decode(struct arm_spe_decoder *decoder);
tools/perf/util/arm-spe.c
1027
const struct arm_spe_record *record = &speq->decoder->record;
tools/perf/util/arm-spe.c
1157
record = &speq->decoder->record;
tools/perf/util/arm-spe.c
116
struct arm_spe_decoder *decoder;
tools/perf/util/arm-spe.c
1170
ret = arm_spe_decode(speq->decoder);
tools/perf/util/arm-spe.c
1183
record = &speq->decoder->record;
tools/perf/util/arm-spe.c
1230
ret = arm_spe_decode(speq->decoder);
tools/perf/util/arm-spe.c
1238
record = &speq->decoder->record;
tools/perf/util/arm-spe.c
1580
arm_spe_decoder_free(speq->decoder);
tools/perf/util/arm-spe.c
264
speq->decoder = arm_spe_decoder_new(¶ms);
tools/perf/util/arm-spe.c
265
if (!speq->decoder)
tools/perf/util/arm-spe.c
371
struct arm_spe_record *record = &speq->decoder->record;
tools/perf/util/arm-spe.c
392
struct arm_spe_record *record = &speq->decoder->record;
tools/perf/util/arm-spe.c
503
struct arm_spe_record *record = &speq->decoder->record;
tools/perf/util/arm-spe.c
527
struct arm_spe_record *record = &speq->decoder->record;
tools/perf/util/arm-spe.c
552
struct arm_spe_record *record = &speq->decoder->record;
tools/perf/util/arm-spe.c
606
const struct arm_spe_record *record = &speq->decoder->record;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
202
const struct cs_etm_decoder *decoder = p_context;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
204
if (p_context && str_len && !decoder->suppress_printing)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
205
decoder->packet_printer(msg, decoder->data);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
210
struct cs_etm_decoder *decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
217
decoder->packet_printer = d_params->packet_printer;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
236
ret = ocsd_def_errlog_set_strprint_cb(decoder->dcd_tree,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
237
(void *)decoder,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
248
struct cs_etm_decoder *decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
263
ocsd_def_errlog_set_strprint_cb(decoder->dcd_tree,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
264
(void *)decoder,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
268
ocsd_dt_set_raw_frame_printer(decoder->dcd_tree,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
276
struct cs_etm_decoder *decoder __maybe_unused)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
592
struct cs_etm_decoder *decoder = (struct cs_etm_decoder *) context;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
593
struct cs_etm_queue *etmq = decoder->data;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
60
struct cs_etm_decoder *decoder = (struct cs_etm_decoder *) context;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
62
return decoder->mem_access(decoder->data, trace_chan_id, address,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
631
struct cs_etm_decoder *decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
644
decoder->decoder_name = (t_params->protocol == CS_ETM_PROTO_ETMV3) ?
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
652
decoder->decoder_name = OCSD_BUILTIN_DCD_ETMV4I;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
658
decoder->decoder_name = OCSD_BUILTIN_DCD_ETE;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
66
int cs_etm_decoder__add_mem_access_cb(struct cs_etm_decoder *decoder,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
671
if (ocsd_dt_create_decoder(decoder->dcd_tree,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
672
decoder->decoder_name,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
677
if (ocsd_dt_set_gen_elem_outfn(decoder->dcd_tree,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
679
decoder))
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
684
if (ocsd_dt_create_decoder(decoder->dcd_tree, decoder->decoder_name,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
689
if (ocsd_dt_set_pkt_protocol_printer(decoder->dcd_tree, csid, 0))
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
70
decoder->mem_access = cb_func;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
702
struct cs_etm_decoder *decoder;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
710
decoder = zalloc(sizeof(*decoder));
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
712
if (!decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
715
decoder->data = d_params->data;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
716
decoder->prev_return = OCSD_RESP_CONT;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
72
if (ocsd_dt_add_callback_trcid_mem_acc(decoder->dcd_tree, start, end,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
731
decoder->dcd_tree = ocsd_create_dcd_tree(format, flags);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
733
if (decoder->dcd_tree == 0)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
737
ret = cs_etm_decoder__init_def_logger_printing(d_params, decoder);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
742
cs_etm_decoder__init_raw_frame_logging(d_params, decoder);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
747
decoder);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
75
decoder))
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
752
return decoder;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
755
cs_etm_decoder__free(decoder);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
759
int cs_etm_decoder__process_data_block(struct cs_etm_decoder *decoder,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
765
ocsd_datapath_resp_t prev_return = decoder->prev_return;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
771
cur = ocsd_dt_process_data(decoder->dcd_tree,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
778
cur = ocsd_dt_process_data(decoder->dcd_tree,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
801
decoder->prev_return = cur;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
807
void cs_etm_decoder__free(struct cs_etm_decoder *decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
809
if (!decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
81
int cs_etm_decoder__reset(struct cs_etm_decoder *decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
812
ocsd_destroy_dcd_tree(decoder->dcd_tree);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
813
decoder->dcd_tree = NULL;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
814
free(decoder);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
817
const char *cs_etm_decoder__get_name(struct cs_etm_decoder *decoder)
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
819
return decoder->decoder_name;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
85
decoder->prev_return = OCSD_RESP_CONT;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
86
decoder->suppress_printing = true;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
87
dp_ret = ocsd_dt_process_data(decoder->dcd_tree, OCSD_OP_RESET,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
89
decoder->suppress_printing = false;
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h
101
int cs_etm_decoder__add_mem_access_cb(struct cs_etm_decoder *decoder,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h
108
int cs_etm_decoder__reset(struct cs_etm_decoder *decoder);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h
109
const char *cs_etm_decoder__get_name(struct cs_etm_decoder *decoder);
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h
90
int cs_etm_decoder__process_data_block(struct cs_etm_decoder *decoder,
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h
99
void cs_etm_decoder__free(struct cs_etm_decoder *decoder);
tools/perf/util/cs-etm.c
107
struct cs_etm_decoder *decoder;
tools/perf/util/cs-etm.c
2028
ret = cs_etm_decoder__reset(etmq->decoder);
tools/perf/util/cs-etm.c
2399
ret = cs_etm_decoder__process_data_block(etmq->decoder,
tools/perf/util/cs-etm.c
3301
etmq->decoder = cs_etm_decoder__new(decoders, &d_params,
tools/perf/util/cs-etm.c
3304
if (!etmq->decoder)
tools/perf/util/cs-etm.c
3311
if (cs_etm_decoder__add_mem_access_cb(etmq->decoder,
tools/perf/util/cs-etm.c
3320
cs_etm_decoder__free(etmq->decoder);
tools/perf/util/cs-etm.c
885
cs_etm_decoder__get_name(etmq->decoder), buffer->size);
tools/perf/util/cs-etm.c
891
etmq->decoder, buffer->offset,
tools/perf/util/cs-etm.c
900
cs_etm_decoder__reset(etmq->decoder);
tools/perf/util/cs-etm.c
972
cs_etm_decoder__free(etmq->decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1009
intel_pt_pkt_lookahead(decoder, intel_pt_calc_cyc_cb, &data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1012
static int intel_pt_get_next_packet(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1016
decoder->last_packet_type = decoder->packet.type;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1019
decoder->pos += decoder->pkt_step;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1020
decoder->buf += decoder->pkt_step;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1021
decoder->len -= decoder->pkt_step;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1023
if (!decoder->len) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1024
ret = intel_pt_get_next_data(decoder, false);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1029
decoder->prev_pkt_ctx = decoder->pkt_ctx;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1030
ret = intel_pt_get_packet(decoder->buf, decoder->len,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1031
&decoder->packet, &decoder->pkt_ctx);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1033
decoder->len < INTEL_PT_PKT_MAX_SZ && !decoder->next_buf) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1034
ret = intel_pt_get_split_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1039
return intel_pt_bad_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1041
decoder->pkt_len = ret;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1042
decoder->pkt_step = ret;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1043
intel_pt_decoder_log_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1044
} while (decoder->packet.type == INTEL_PT_PAD);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1049
static uint64_t intel_pt_next_period(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1053
timestamp = decoder->timestamp + decoder->timestamp_insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1054
masked_timestamp = timestamp & decoder->period_mask;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1055
if (decoder->continuous_period) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1056
if (masked_timestamp > decoder->last_masked_timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1060
masked_timestamp = timestamp & decoder->period_mask;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1061
if (masked_timestamp > decoder->last_masked_timestamp) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1062
decoder->last_masked_timestamp = masked_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1063
decoder->continuous_period = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1067
if (masked_timestamp < decoder->last_masked_timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1068
return decoder->period_ticks;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1070
return decoder->period_ticks - (timestamp - masked_timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1073
static uint64_t intel_pt_next_sample(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1075
switch (decoder->period_type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1077
return decoder->period - decoder->period_insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1079
return intel_pt_next_period(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1087
static void intel_pt_sample_insn(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1091
switch (decoder->period_type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1093
decoder->period_insn_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1096
timestamp = decoder->timestamp + decoder->timestamp_insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1097
masked_timestamp = timestamp & decoder->period_mask;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1098
if (masked_timestamp > decoder->last_masked_timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1099
decoder->last_masked_timestamp = masked_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1101
decoder->last_masked_timestamp += decoder->period_ticks;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1109
decoder->state.type |= INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
111
#define INTEL_PT_STATE_ERR1 (decoder->pkt_state)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1116
static void intel_pt_sample_fup_insn(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1122
decoder->state.insn_op = INTEL_PT_OP_OTHER;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1123
decoder->state.insn_len = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1125
if (!decoder->branch_enable || !decoder->pge || decoder->hop ||
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1126
decoder->ip != decoder->last_ip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1129
if (!decoder->mtc_insn)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1130
decoder->mtc_insn = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1132
max_insn_cnt = intel_pt_next_sample(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1136
err = decoder->walk_insn(&intel_pt_insn, &insn_cnt, &decoder->ip,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1137
0, max_insn_cnt, decoder->data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1143
intel_pt_log_at("ERROR: Unexpected branch at FUP instruction", decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1147
decoder->tot_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1148
decoder->timestamp_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1149
decoder->sample_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1150
decoder->period_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1152
intel_pt_sample_insn(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1154
decoder->state.type |= INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1155
decoder->ip += intel_pt_insn.length;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1158
static int intel_pt_walk_insn(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1164
if (!decoder->mtc_insn)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1165
decoder->mtc_insn = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1167
max_insn_cnt = intel_pt_next_sample(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1169
err = decoder->walk_insn(intel_pt_insn, &insn_cnt, &decoder->ip, ip,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1170
max_insn_cnt, decoder->data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1172
decoder->tot_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1173
decoder->timestamp_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1174
decoder->sample_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1175
decoder->period_insn_cnt += insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1178
decoder->no_progress = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1179
decoder->pkt_state = INTEL_PT_STATE_ERR2;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1181
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1187
if (ip && decoder->ip == ip) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1193
intel_pt_sample_insn(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1196
decoder->state.type = INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1197
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1198
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1199
decoder->ip += intel_pt_insn->length;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1208
err = intel_pt_push(&decoder->stack, decoder->ip +
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1214
decoder->ret_addr = intel_pt_pop(&decoder->stack);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1218
int cnt = decoder->no_progress++;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1220
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1221
decoder->ip += intel_pt_insn->length +
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1223
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1235
decoder->stuck_ip = decoder->state.to_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1236
decoder->stuck_ip_prd = 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1237
decoder->stuck_ip_cnt = 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1238
} else if (cnt > decoder->max_loops ||
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1239
decoder->state.to_ip == decoder->stuck_ip) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1241
decoder->state.to_ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1242
decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1245
} else if (!--decoder->stuck_ip_cnt) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1246
decoder->stuck_ip_prd += 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1247
decoder->stuck_ip_cnt = decoder->stuck_ip_prd;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1248
decoder->stuck_ip = decoder->state.to_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1254
decoder->no_progress = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1256
decoder->state.insn_op = intel_pt_insn->op;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1257
decoder->state.insn_len = intel_pt_insn->length;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1258
memcpy(decoder->state.insn, intel_pt_insn->buf,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1261
if (decoder->tx_flags & INTEL_PT_IN_TX)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1262
decoder->state.flags |= INTEL_PT_IN_TX;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1267
static void intel_pt_mode_exec_status(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1269
bool iflag = decoder->packet.count & INTEL_PT_IFLAG;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1271
decoder->exec_mode = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1272
decoder->iflag = iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1273
decoder->next_iflag = iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1274
decoder->state.from_iflag = iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1275
decoder->state.to_iflag = iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1278
static void intel_pt_mode_exec(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1280
bool iflag = decoder->packet.count & INTEL_PT_IFLAG;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1282
decoder->exec_mode = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1283
decoder->next_iflag = iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1286
static void intel_pt_sample_iflag(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1288
decoder->state.type |= INTEL_PT_IFLAG_CHG;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1289
decoder->state.from_iflag = decoder->iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1290
decoder->state.to_iflag = decoder->next_iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1291
decoder->iflag = decoder->next_iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1294
static void intel_pt_sample_iflag_chg(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1296
if (decoder->iflag != decoder->next_iflag)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1297
intel_pt_sample_iflag(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1300
static void intel_pt_clear_fup_event(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1302
decoder->set_fup_tx_flags = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1303
decoder->set_fup_ptw = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1304
decoder->set_fup_mwait = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1305
decoder->set_fup_pwre = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1306
decoder->set_fup_exstop = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1307
decoder->set_fup_bep = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1308
decoder->set_fup_cfe_ip = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1309
decoder->set_fup_cfe = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1310
decoder->evd_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1311
decoder->set_fup_mode_exec = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1312
decoder->iflag = decoder->next_iflag;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1315
static bool intel_pt_fup_event(struct intel_pt_decoder *decoder, bool no_tip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1317
enum intel_pt_sample_type type = decoder->state.type;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1321
decoder->state.type &= ~INTEL_PT_BRANCH;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1322
decoder->state.insn_op = INTEL_PT_OP_OTHER;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1323
decoder->state.insn_len = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1325
if (decoder->set_fup_cfe_ip || decoder->set_fup_cfe) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1326
bool ip = decoder->set_fup_cfe_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1328
decoder->set_fup_cfe_ip = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1329
decoder->set_fup_cfe = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1330
decoder->state.type |= INTEL_PT_EVT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1331
if (!ip && decoder->pge)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1332
decoder->state.type |= INTEL_PT_BRANCH;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1333
decoder->state.cfe_type = decoder->fup_cfe_pkt.count;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1334
decoder->state.cfe_vector = decoder->fup_cfe_pkt.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1335
decoder->state.evd_cnt = decoder->evd_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1336
decoder->state.evd = decoder->evd;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1337
decoder->evd_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1338
if (ip || decoder->pge)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1339
decoder->state.flags |= INTEL_PT_FUP_IP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1342
if (decoder->set_fup_mode_exec) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1343
decoder->set_fup_mode_exec = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1344
intel_pt_sample_iflag(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1348
if (decoder->set_fup_tx_flags) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1349
decoder->set_fup_tx_flags = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1350
decoder->tx_flags = decoder->fup_tx_flags;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1351
decoder->state.type |= INTEL_PT_TRANSACTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1352
if (decoder->fup_tx_flags & INTEL_PT_ABORT_TX)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1353
decoder->state.type |= INTEL_PT_BRANCH;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1354
decoder->state.flags = decoder->fup_tx_flags;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1357
if (decoder->set_fup_ptw) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1358
decoder->set_fup_ptw = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1359
decoder->state.type |= INTEL_PT_PTW;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1360
decoder->state.flags |= INTEL_PT_FUP_IP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1361
decoder->state.ptw_payload = decoder->fup_ptw_payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1364
if (decoder->set_fup_mwait) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1365
decoder->set_fup_mwait = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1366
decoder->state.type |= INTEL_PT_MWAIT_OP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1367
decoder->state.mwait_payload = decoder->fup_mwait_payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1370
if (decoder->set_fup_pwre) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1371
decoder->set_fup_pwre = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1372
decoder->state.type |= INTEL_PT_PWR_ENTRY;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1373
decoder->state.pwre_payload = decoder->fup_pwre_payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1376
if (decoder->set_fup_exstop) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1377
decoder->set_fup_exstop = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1378
decoder->state.type |= INTEL_PT_EX_STOP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1379
decoder->state.flags |= INTEL_PT_FUP_IP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1382
if (decoder->set_fup_bep) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1383
decoder->set_fup_bep = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1384
decoder->state.type |= INTEL_PT_BLK_ITEMS;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1387
if (decoder->overflow) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1388
decoder->overflow = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1389
if (!ret && !decoder->pge) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1390
if (decoder->hop) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1391
decoder->state.type = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1392
decoder->pkt_state = INTEL_PT_STATE_RESAMPLE;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1394
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1395
decoder->state.type |= INTEL_PT_BRANCH | INTEL_PT_TRACE_BEGIN;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1396
decoder->state.from_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1397
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1402
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1403
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1405
intel_pt_sample_fup_insn(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1407
decoder->state.type = type;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1412
static inline bool intel_pt_fup_with_nlip(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1416
return decoder->flags & INTEL_PT_FUP_WITH_NLIP && !err &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1418
ip == decoder->ip + intel_pt_insn->length;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1421
static int intel_pt_walk_fup(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1427
ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1430
err = intel_pt_walk_insn(decoder, &intel_pt_insn, ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1434
intel_pt_fup_with_nlip(decoder, &intel_pt_insn, ip, err)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1435
bool no_tip = decoder->pkt_state != INTEL_PT_STATE_FUP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1437
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1438
if (intel_pt_fup_event(decoder, no_tip) && no_tip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1442
decoder->set_fup_tx_flags = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1448
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1449
decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1455
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1456
decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1460
intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1464
static int intel_pt_walk_tip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1469
err = intel_pt_walk_insn(decoder, &intel_pt_insn, 0);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1471
decoder->pgd_ip &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1472
decoder->pkt_state == INTEL_PT_STATE_TIP_PGD &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1473
(decoder->state.type & INTEL_PT_BRANCH) &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1474
decoder->pgd_ip(decoder->state.to_ip, decoder->data)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1476
decoder->no_progress = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1477
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1478
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1479
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1480
decoder->state.type |= INTEL_PT_TRACE_END;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1481
intel_pt_update_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1489
intel_pt_update_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1490
intel_pt_sample_iflag_chg(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1493
if (decoder->pkt_state == INTEL_PT_STATE_TIP_PGD) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1494
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1495
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1496
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1497
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1498
if (decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1499
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1501
decoder->state.to_ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1502
decoder->ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1504
decoder->state.type |= INTEL_PT_TRACE_END;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1506
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1507
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1508
if (decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1509
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1511
decoder->state.to_ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1512
decoder->ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1519
uint64_t to_ip = decoder->ip + intel_pt_insn.length +
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1522
if (decoder->pgd_ip &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1523
decoder->pkt_state == INTEL_PT_STATE_TIP_PGD &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1524
decoder->pgd_ip(to_ip, decoder->data)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1526
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1527
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1528
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1529
decoder->ip = to_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1530
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1531
decoder->state.to_ip = to_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1532
decoder->state.type |= INTEL_PT_TRACE_END;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1536
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1537
decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1541
return intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1607
static int intel_pt_emulated_ptwrite(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1609
int n = 64 - decoder->tnt.count;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1612
.payload = decoder->tnt.payload >> n,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1615
decoder->emulated_ptwrite = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1618
intel_pt_pkt_lookahead(decoder, intel_pt_eptw_lookahead_cb, &data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1622
decoder->state.type = INTEL_PT_PTW;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1623
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1624
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1625
decoder->state.ptw_payload = data.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1629
static int intel_pt_walk_tnt(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1635
if (decoder->emulated_ptwrite)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1636
return intel_pt_emulated_ptwrite(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1637
err = intel_pt_walk_insn(decoder, &intel_pt_insn, 0);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1639
decoder->emulated_ptwrite = intel_pt_insn.emulated_ptwrite;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1643
decoder->emulated_ptwrite = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1648
if (!decoder->return_compression) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1650
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1651
decoder->pkt_state = INTEL_PT_STATE_ERR3;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1654
if (!decoder->ret_addr) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1656
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1657
decoder->pkt_state = INTEL_PT_STATE_ERR3;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1660
if (!(decoder->tnt.payload & BIT63)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1662
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1663
decoder->pkt_state = INTEL_PT_STATE_ERR3;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1666
decoder->tnt.count -= 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1667
if (decoder->tnt.count)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1668
decoder->pkt_state = INTEL_PT_STATE_TNT_CONT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1670
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1671
decoder->tnt.payload <<= 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1672
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1673
decoder->ip = decoder->ret_addr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1674
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1680
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1683
if (decoder->packet.type != INTEL_PT_TIP ||
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1684
decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1686
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1687
decoder->pkt_state = INTEL_PT_STATE_ERR3;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1688
decoder->pkt_step = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1691
intel_pt_set_last_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1692
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1693
decoder->state.to_ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1694
decoder->ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1695
intel_pt_update_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1696
intel_pt_sample_iflag_chg(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1701
decoder->tnt.count -= 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1702
if (decoder->tnt.count)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1703
decoder->pkt_state = INTEL_PT_STATE_TNT_CONT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1705
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1706
if (decoder->tnt.payload & BIT63) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1707
decoder->tnt.payload <<= 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1708
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1709
decoder->ip += intel_pt_insn.length +
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1711
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1715
if (decoder->state.type & INTEL_PT_INSTRUCTION) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1716
decoder->tnt.payload <<= 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1717
decoder->state.type = INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1718
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1719
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1720
decoder->ip += intel_pt_insn.length;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1723
decoder->sample_cyc = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1724
decoder->ip += intel_pt_insn.length;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1725
if (!decoder->tnt.count) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1726
intel_pt_update_sample_time(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1729
decoder->tnt.payload <<= 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1733
return intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1737
static int intel_pt_mode_tsx(struct intel_pt_decoder *decoder, bool *no_tip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1742
fup_tx_flags = decoder->packet.payload &
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1744
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1747
if (decoder->packet.type == INTEL_PT_FUP) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1748
decoder->fup_tx_flags = fup_tx_flags;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1749
decoder->set_fup_tx_flags = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1750
if (!(decoder->fup_tx_flags & INTEL_PT_ABORT_TX))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1754
decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1755
intel_pt_update_in_tx(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1760
static int intel_pt_evd(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1762
if (decoder->evd_cnt >= INTEL_PT_MAX_EVDS) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1763
intel_pt_log_at("ERROR: Too many EVD packets", decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1766
decoder->evd[decoder->evd_cnt++] = (struct intel_pt_evd){
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1767
.type = decoder->packet.count,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1768
.payload = decoder->packet.payload,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1789
static bool intel_pt_time_in_range(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1792
uint64_t max_timestamp = decoder->buf_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1795
max_timestamp = decoder->last_reliable_timestamp +
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1798
return timestamp >= decoder->last_reliable_timestamp &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1799
timestamp < decoder->buf_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1802
static void intel_pt_calc_tsc_timestamp(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1807
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1809
if (decoder->ref_timestamp) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1810
timestamp = intel_pt_8b_tsc(decoder->packet.payload,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1811
decoder->ref_timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1812
decoder->tsc_timestamp = timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1813
decoder->timestamp = timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1814
decoder->ref_timestamp = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1815
decoder->timestamp_insn_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1816
} else if (decoder->timestamp) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1817
timestamp = decoder->packet.payload |
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1818
(decoder->timestamp & (0xffULL << 56));
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1819
decoder->tsc_timestamp = timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1820
if (timestamp < decoder->timestamp &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1821
decoder->timestamp - timestamp < decoder->tsc_slip) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1824
timestamp = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1826
if (timestamp < decoder->timestamp) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1827
if (!decoder->buf_timestamp ||
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1828
(timestamp + (1ULL << 56) < decoder->buf_timestamp)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1831
decoder->tsc_timestamp = timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1834
timestamp = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1838
if (decoder->vm_time_correlation &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1839
(bad || !intel_pt_time_in_range(decoder, timestamp)) &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1840
intel_pt_print_once(decoder, INTEL_PT_PRT_ONCE_ERANGE))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1842
decoder->timestamp = timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1843
decoder->timestamp_insn_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1846
if (decoder->last_packet_type == INTEL_PT_CYC) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1847
decoder->cyc_ref_timestamp = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1848
decoder->cycle_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1849
decoder->have_calc_cyc_to_tsc = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1850
intel_pt_calc_cyc_to_tsc(decoder, false);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1853
intel_pt_log_to("Setting timestamp", decoder->timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1856
static int intel_pt_overflow(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1859
intel_pt_clear_tx_flags(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1860
intel_pt_set_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1861
decoder->timestamp_insn_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1862
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1863
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1864
decoder->ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1865
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1866
intel_pt_clear_fup_event(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1867
decoder->overflow = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1871
static inline void intel_pt_mtc_cyc_cnt_pge(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1873
if (decoder->have_cyc)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1876
decoder->cyc_cnt_timestamp = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1877
decoder->base_cyc_cnt = decoder->tot_cyc_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1880
static inline void intel_pt_mtc_cyc_cnt_cbr(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1882
decoder->tsc_to_cyc = decoder->cbr / decoder->max_non_turbo_ratio_fp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1884
if (decoder->pge)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1885
intel_pt_mtc_cyc_cnt_pge(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1888
static inline void intel_pt_mtc_cyc_cnt_upd(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1892
if (decoder->have_cyc)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1895
decoder->sample_cyc = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1897
if (!decoder->pge || decoder->timestamp <= decoder->cyc_cnt_timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1900
tsc_delta = decoder->timestamp - decoder->cyc_cnt_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1901
tot_cyc_cnt = tsc_delta * decoder->tsc_to_cyc + decoder->base_cyc_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1903
if (tot_cyc_cnt > decoder->tot_cyc_cnt)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1904
decoder->tot_cyc_cnt = tot_cyc_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1907
static void intel_pt_calc_tma(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1909
uint32_t ctc = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1910
uint32_t fc = decoder->packet.count;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1911
uint32_t ctc_rem = ctc & decoder->ctc_rem_mask;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1913
if (!decoder->tsc_ctc_ratio_d)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1916
if (decoder->pge && !decoder->in_psb)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1917
intel_pt_mtc_cyc_cnt_pge(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1919
intel_pt_mtc_cyc_cnt_upd(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1921
decoder->last_mtc = (ctc >> decoder->mtc_shift) & 0xff;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1922
decoder->last_ctc = ctc - ctc_rem;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1923
decoder->ctc_timestamp = decoder->tsc_timestamp - fc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1924
if (decoder->tsc_ctc_mult) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1925
decoder->ctc_timestamp -= ctc_rem * decoder->tsc_ctc_mult;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1927
decoder->ctc_timestamp -= multdiv(ctc_rem,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1928
decoder->tsc_ctc_ratio_n,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1929
decoder->tsc_ctc_ratio_d);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1931
decoder->ctc_delta = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1932
decoder->have_tma = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1933
decoder->fixup_last_mtc = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1935
decoder->ctc_timestamp, decoder->last_mtc, ctc_rem);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1938
static void intel_pt_calc_mtc_timestamp(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1943
if (!decoder->have_tma)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1946
mtc = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1948
if (decoder->mtc_shift > 8 && decoder->fixup_last_mtc) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1949
decoder->fixup_last_mtc = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1950
intel_pt_fixup_last_mtc(mtc, decoder->mtc_shift,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1951
&decoder->last_mtc);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1954
if (mtc > decoder->last_mtc)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1955
mtc_delta = mtc - decoder->last_mtc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1957
mtc_delta = mtc + 256 - decoder->last_mtc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1959
decoder->ctc_delta += mtc_delta << decoder->mtc_shift;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1961
if (decoder->tsc_ctc_mult) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1962
timestamp = decoder->ctc_timestamp +
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1963
decoder->ctc_delta * decoder->tsc_ctc_mult;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1965
timestamp = decoder->ctc_timestamp +
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1966
multdiv(decoder->ctc_delta,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1967
decoder->tsc_ctc_ratio_n,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1968
decoder->tsc_ctc_ratio_d);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1971
if (timestamp < decoder->timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1973
timestamp, decoder->timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1975
decoder->timestamp = timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1977
intel_pt_mtc_cyc_cnt_upd(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1979
decoder->timestamp_insn_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1980
decoder->last_mtc = mtc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1982
if (decoder->last_packet_type == INTEL_PT_CYC) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1983
decoder->cyc_ref_timestamp = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1984
decoder->cycle_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1985
decoder->have_calc_cyc_to_tsc = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1986
intel_pt_calc_cyc_to_tsc(decoder, true);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1989
intel_pt_log_to("Setting timestamp", decoder->timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1992
static void intel_pt_calc_cbr(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1994
unsigned int cbr = decoder->packet.payload & 0xff;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1996
decoder->cbr_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
1998
if (decoder->cbr == cbr)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2001
decoder->cbr = cbr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2002
decoder->cbr_cyc_to_tsc = decoder->max_non_turbo_ratio_fp / cbr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2003
decoder->cyc_ref_timestamp = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2004
decoder->cycle_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2006
intel_pt_mtc_cyc_cnt_cbr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2009
static void intel_pt_calc_cyc_timestamp(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2011
uint64_t timestamp = decoder->cyc_ref_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2013
decoder->have_cyc = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2015
decoder->cycle_cnt += decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2016
if (decoder->pge)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2017
decoder->tot_cyc_cnt += decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2018
decoder->sample_cyc = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2020
if (!decoder->cyc_ref_timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2023
if (decoder->have_calc_cyc_to_tsc)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2024
timestamp += decoder->cycle_cnt * decoder->calc_cyc_to_tsc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2025
else if (decoder->cbr)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2026
timestamp += decoder->cycle_cnt * decoder->cbr_cyc_to_tsc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2030
if (timestamp < decoder->timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2032
timestamp, decoder->timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2034
decoder->timestamp = timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2036
decoder->timestamp_insn_cnt = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2038
intel_pt_log_to("Setting timestamp", decoder->timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2041
static void intel_pt_bbp(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2043
if (decoder->prev_pkt_ctx == INTEL_PT_NO_CTX) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2044
memset(decoder->state.items.mask, 0, sizeof(decoder->state.items.mask));
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2045
decoder->state.items.is_32_bit = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2047
decoder->blk_type = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2048
decoder->blk_type_pos = intel_pt_blk_type_pos(decoder->blk_type);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2049
if (decoder->blk_type == INTEL_PT_GP_REGS)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2050
decoder->state.items.is_32_bit = decoder->packet.count;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2051
if (decoder->blk_type_pos < 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2053
decoder->blk_type);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2054
} else if (decoder->state.items.mask[decoder->blk_type_pos]) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2056
decoder->blk_type);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2060
static void intel_pt_bip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2062
uint32_t id = decoder->packet.count;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2064
int pos = decoder->blk_type_pos;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2068
id, decoder->blk_type);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2072
if (decoder->state.items.mask[pos] & bit) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2074
id, decoder->blk_type);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2077
decoder->state.items.mask[pos] |= bit;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2078
decoder->state.items.val[pos][id] = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2082
static int intel_pt_walk_psbend(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2086
decoder->in_psb = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2089
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2093
switch (decoder->packet.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2119
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2125
err = intel_pt_overflow(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2129
intel_pt_calc_tsc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2133
intel_pt_calc_tma(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2137
intel_pt_calc_cbr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2141
intel_pt_mode_exec_status(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2145
intel_pt_set_pip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2149
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2150
if (decoder->packet.count) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2151
intel_pt_set_last_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2152
decoder->psb_ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2157
intel_pt_update_in_tx(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2161
intel_pt_calc_mtc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2162
if (decoder->period_type == INTEL_PT_PERIOD_MTC)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2163
decoder->state.type |= INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2167
intel_pt_calc_cyc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2178
decoder->in_psb = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2183
static int intel_pt_walk_fup_tip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2187
if (decoder->tx_flags & INTEL_PT_ABORT_TX) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2188
decoder->tx_flags = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2189
decoder->state.flags &= ~INTEL_PT_IN_TX;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2190
decoder->state.flags |= INTEL_PT_ABORT_TX;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2192
decoder->state.flags |= INTEL_PT_ASYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2196
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2200
switch (decoder->packet.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2225
decoder->pkt_state = INTEL_PT_STATE_ERR3;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2226
decoder->pkt_step = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2230
intel_pt_calc_cbr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2234
return intel_pt_overflow(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2237
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2238
if (decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2239
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2241
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2242
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2244
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2245
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2246
decoder->state.type |= INTEL_PT_TRACE_END;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2247
intel_pt_update_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2251
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2253
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2254
decoder->state.from_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2255
if (decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2256
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2258
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2259
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2261
decoder->state.type |= INTEL_PT_TRACE_BEGIN;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2262
intel_pt_mtc_cyc_cnt_pge(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2263
intel_pt_set_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2267
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2268
if (decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2269
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2271
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2272
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2274
intel_pt_update_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2275
intel_pt_sample_iflag_chg(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2279
intel_pt_update_pip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2283
intel_pt_calc_mtc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2284
if (decoder->period_type == INTEL_PT_PERIOD_MTC)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2285
decoder->state.type |= INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2289
intel_pt_calc_cyc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2293
intel_pt_mode_exec(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2302
return intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2307
static int intel_pt_resample(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2309
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2310
decoder->state.type = INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2311
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2312
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2412
static bool intel_pt_ovf_fup_lookahead(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2419
intel_pt_pkt_lookahead(decoder, intel_pt_ovf_fup_lookahead_cb, &data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2439
static uint64_t intel_pt_ctc_to_tsc(struct intel_pt_decoder *decoder, uint64_t ctc)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2441
if (decoder->tsc_ctc_mult)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2442
return ctc * decoder->tsc_ctc_mult;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2444
return multdiv(ctc, decoder->tsc_ctc_ratio_n, decoder->tsc_ctc_ratio_d);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2447
static uint64_t intel_pt_calc_expected_tsc(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2470
expected_tsc = last_ctc_timestamp + intel_pt_ctc_to_tsc(decoder, new_ctc_delta) + fc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2481
intel_pt_log_x64(intel_pt_ctc_to_tsc(decoder, new_ctc_delta));
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2488
static uint64_t intel_pt_expected_tsc(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2494
return intel_pt_calc_expected_tsc(decoder, ctc, fc,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2495
decoder->ctc_timestamp,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2499
static void intel_pt_translate_vm_tsc(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2502
uint64_t payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2505
decoder->packet.payload -= vmcs_info->tsc_offset;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2507
decoder->packet.payload &= SEVEN_BYTES;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2513
if (!decoder->vm_tm_corr_dry_run)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2514
memcpy((void *)decoder->buf + 1, &decoder->packet.payload, 7);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2518
payload, decoder->packet.payload, vmcs_info->vmcs,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2522
static void intel_pt_translate_vm_tsc_offset(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2530
intel_pt_translate_vm_tsc(decoder, &vmcs_info);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2549
static void intel_pt_vm_tm_corr_psb(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2553
data->ctc_delta = decoder->ctc_delta;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2554
data->last_ctc = decoder->last_ctc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2555
intel_pt_pkt_lookahead(decoder, intel_pt_vm_psb_lookahead_cb, data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2558
decoder->in_psb = data->psbend;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2561
static void intel_pt_vm_tm_corr_first_tsc(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2566
if (!decoder->in_psb) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2574
intel_pt_translate_vm_tsc(decoder, vmcs_info);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2575
decoder->vm_tm_corr_reliable = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2580
decoder->vm_tm_corr_reliable = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2583
decoder->vm_tm_corr_reliable = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2584
if (intel_pt_time_in_range(decoder, host_tsc)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2589
intel_pt_translate_vm_tsc(decoder, vmcs_info);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2596
static void intel_pt_vm_tm_corr_tsc(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2611
if (!decoder->in_psb) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2613
data->ctc_delta = decoder->ctc_delta;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2614
data->last_ctc = decoder->last_ctc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2616
intel_pt_pkt_lookahead(decoder, intel_pt_tma_lookahead_cb, data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2617
if (decoder->pge) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2619
data->pip_packet.payload = decoder->pip_payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2629
vmcs = data->vmcs ? data->vmcs_packet.payload : decoder->vmcs;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2633
vmcs_info = decoder->findnew_vmcs_info(decoder->data, vmcs);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2635
ref_timestamp = decoder->timestamp ? decoder->timestamp : decoder->buf_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2636
host_tsc = intel_pt_8b_tsc(decoder->packet.payload, ref_timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2638
if (!decoder->ctc_timestamp) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2639
intel_pt_vm_tm_corr_first_tsc(decoder, data, vmcs_info, host_tsc);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2643
expected_tsc = intel_pt_expected_tsc(decoder, data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2653
intel_pt_translate_vm_tsc_offset(decoder, tsc_offset);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2654
decoder->vm_tm_corr_reliable = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2658
decoder->last_reliable_timestamp = host_tsc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2659
decoder->vm_tm_corr_reliable = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2664
if (decoder->in_psb) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2687
if (host_tsc >= expected_tsc && intel_pt_time_in_range(decoder, host_tsc)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2689
decoder->vm_tm_corr_reliable = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
269
static bool intel_pt_print_once(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2700
} else if (decoder->in_psb && data->pip && decoder->vm_tm_corr_reliable &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2701
decoder->vm_tm_corr_continuous && decoder->vm_tm_corr_same_buf) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2705
} else if (decoder->in_psb && data->pip && decoder->vm_tm_corr_same_buf) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2730
intel_pt_translate_vm_tsc(decoder, vmcs_info);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
274
if (decoder->print_once & bit)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2740
if (intel_pt_print_once(decoder, INTEL_PT_PRT_ONCE_UNK_VMCS))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2743
intel_pt_translate_vm_tsc_offset(decoder, tsc_offset);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2746
decoder->vm_tm_corr_reliable = reliable;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2749
static void intel_pt_vm_tm_corr_pebs_tsc(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2751
uint64_t host_tsc = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2752
uint64_t guest_tsc = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2756
vmcs = decoder->vmcs;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
276
decoder->print_once |= bit;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2760
vmcs_info = decoder->findnew_vmcs_info(decoder->data, vmcs);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2762
if (decoder->pge) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2763
if (in_vm(decoder->pip_payload)) { /* Guest */
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2772
if (intel_pt_time_in_range(decoder, host_tsc)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2781
host_tsc = intel_pt_8b_tsc(host_tsc, decoder->timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2786
if (!intel_pt_time_in_range(decoder, host_tsc) &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2787
intel_pt_print_once(decoder, INTEL_PT_PRT_ONCE_ERANGE))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2790
if (intel_pt_print_once(decoder, INTEL_PT_PRT_ONCE_UNK_VMCS))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2792
host_tsc = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2795
decoder->packet.payload = host_tsc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2797
if (!decoder->vm_tm_corr_dry_run)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2798
memcpy((void *)decoder->buf + 1, &host_tsc, 8);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2801
static int intel_pt_vm_time_correlation(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2807
if (decoder->in_psb)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2808
intel_pt_vm_tm_corr_psb(decoder, &data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2811
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2817
switch (decoder->packet.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2819
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2820
decoder->vm_tm_corr_continuous = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2826
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2830
decoder->in_psb = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2831
pge = decoder->pge;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2832
decoder->pge = intel_pt_ovf_fup_lookahead(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2833
if (pge != decoder->pge)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2835
if (!decoder->pge)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2836
decoder->vm_tm_corr_continuous = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2840
if (decoder->in_psb)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2841
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2845
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2846
decoder->vm_tm_corr_continuous = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2847
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2851
intel_pt_vm_tm_corr_psb(decoder, &data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2855
decoder->pip_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2859
intel_pt_calc_mtc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2863
intel_pt_vm_tm_corr_tsc(decoder, &data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2864
intel_pt_calc_tsc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2865
decoder->vm_tm_corr_same_buf = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2866
decoder->vm_tm_corr_continuous = decoder->pge;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2870
intel_pt_calc_tma(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2874
intel_pt_calc_cyc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2878
intel_pt_calc_cbr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
288
static void intel_pt_setup_period(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2882
decoder->in_psb = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2887
if (decoder->packet.payload != NO_VMCS)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2888
decoder->vmcs = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2892
decoder->blk_type = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2896
if (decoder->blk_type == INTEL_PT_PEBS_BASIC &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2897
decoder->packet.count == 2)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2898
intel_pt_vm_tm_corr_pebs_tsc(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
290
if (decoder->period_type == INTEL_PT_PERIOD_TICKS) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2903
decoder->blk_type = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
293
period = intel_pt_lower_power_of_2(decoder->period);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2934
static int intel_pt_scan_for_psb(struct intel_pt_decoder *decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2937
static int intel_pt_hop_trace(struct intel_pt_decoder *decoder, bool *no_tip, int *err)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
294
decoder->period_mask = ~(period - 1);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2942
if (decoder->leap && !decoder->in_psb && decoder->packet.type != INTEL_PT_PSB) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2943
*err = intel_pt_scan_for_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2948
switch (decoder->packet.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
295
decoder->period_ticks = period;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2953
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2954
if (!decoder->packet.count) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2955
intel_pt_set_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2958
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2959
decoder->state.type |= INTEL_PT_TRACE_END;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2960
decoder->state.from_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2961
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2962
intel_pt_update_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2966
if (!decoder->packet.count) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2967
intel_pt_set_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2970
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2971
decoder->state.type = INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2972
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2973
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2974
intel_pt_update_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2975
intel_pt_sample_iflag_chg(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2979
if (!decoder->packet.count)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2981
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2982
if (decoder->set_fup_mwait || decoder->set_fup_pwre)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2984
if (!decoder->branch_enable || !decoder->pge)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2987
decoder->state.type = INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2988
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2989
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2990
intel_pt_fup_event(decoder, *no_tip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2993
intel_pt_fup_event(decoder, *no_tip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2994
decoder->state.type |= INTEL_PT_INSTRUCTION | INTEL_PT_BRANCH;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2995
*err = intel_pt_walk_fup_tip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2996
if (!*err && decoder->state.to_ip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
2997
decoder->pkt_state = INTEL_PT_STATE_RESAMPLE;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3001
decoder->state.psb_offset = decoder->pos;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3002
decoder->psb_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3003
decoder->last_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3004
decoder->have_last_ip = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3005
*err = intel_pt_walk_psbend(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3010
decoder->state.type = INTEL_PT_PSB_EVT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3011
if (decoder->psb_ip) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3012
decoder->state.type |= INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3013
decoder->ip = decoder->psb_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3015
decoder->state.from_ip = decoder->psb_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3016
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
308
struct intel_pt_decoder *decoder;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
313
decoder = zalloc(sizeof(struct intel_pt_decoder));
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
314
if (!decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3142
static int intel_pt_psb(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3146
decoder->last_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3147
decoder->psb_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3148
decoder->have_last_ip = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3149
intel_pt_clear_stack(&decoder->stack);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3150
err = intel_pt_walk_psbend(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3153
decoder->state.type = INTEL_PT_PSB_EVT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3154
decoder->state.from_ip = decoder->psb_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3155
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3159
static int intel_pt_fup_in_psb(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3163
if (decoder->ip != decoder->last_ip) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3164
err = intel_pt_walk_fup(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3169
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
317
decoder->get_trace = params->get_trace;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3170
err = intel_pt_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3172
decoder->pkt_state = INTEL_PT_STATE_ERR3;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3179
static bool intel_pt_psb_with_fup(struct intel_pt_decoder *decoder, int *err)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
318
decoder->walk_insn = params->walk_insn;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3183
if (!decoder->branch_enable)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3186
intel_pt_pkt_lookahead(decoder, intel_pt_psb_lookahead_cb, &data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
319
decoder->pgd_ip = params->pgd_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3190
decoder->packet = data.fup_packet;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3191
intel_pt_set_last_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3192
decoder->pkt_state = INTEL_PT_STATE_FUP_IN_PSB;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3194
*err = intel_pt_fup_in_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3199
static int intel_pt_walk_trace(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
320
decoder->lookahead = params->lookahead;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3206
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
321
decoder->findnew_vmcs_info = params->findnew_vmcs_info;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3211
if (decoder->cyc_threshold) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3212
if (decoder->sample_cyc && last_packet_type != INTEL_PT_CYC)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3213
decoder->sample_cyc = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3214
last_packet_type = decoder->packet.type;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3217
if (decoder->hop) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3218
switch (intel_pt_hop_trace(decoder, &no_tip, &err)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
322
decoder->data = params->data;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
323
decoder->return_compression = params->return_compression;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3230
switch (decoder->packet.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3232
if (!decoder->packet.count)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3234
decoder->tnt = decoder->packet;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3235
decoder->pkt_state = INTEL_PT_STATE_TNT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3236
err = intel_pt_walk_tnt(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
324
decoder->branch_enable = params->branch_enable;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3242
if (decoder->packet.count != 0)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3243
intel_pt_set_last_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3244
decoder->pkt_state = INTEL_PT_STATE_TIP_PGD;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3245
return intel_pt_walk_tip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3248
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3249
decoder->overflow = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
325
decoder->hop = params->quick >= 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3250
intel_pt_mtc_cyc_cnt_pge(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3251
intel_pt_set_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3252
if (decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3254
decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3257
intel_pt_sample_iflag_chg(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3258
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3259
decoder->state.from_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
326
decoder->leap = params->quick >= 2;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3260
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3261
decoder->state.type |= INTEL_PT_TRACE_BEGIN;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3266
if (decoder->hop)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3267
decoder->pkt_state = INTEL_PT_STATE_RESAMPLE;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
327
decoder->vm_time_correlation = params->vm_time_correlation;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3272
return intel_pt_overflow(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3275
if (decoder->packet.count != 0)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3276
intel_pt_set_last_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3277
decoder->pkt_state = INTEL_PT_STATE_TIP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3278
return intel_pt_walk_tip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
328
decoder->vm_tm_corr_dry_run = params->vm_tm_corr_dry_run;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3281
if (decoder->packet.count == 0) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3283
decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3287
intel_pt_set_last_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3288
if (!decoder->branch_enable || !decoder->pge) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3289
decoder->ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
329
decoder->first_timestamp = params->first_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3290
if (intel_pt_fup_event(decoder, no_tip))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3295
if (decoder->set_fup_mwait)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3298
decoder->pkt_state = INTEL_PT_STATE_FUP_NO_TIP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
330
decoder->last_reliable_timestamp = params->first_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3300
decoder->pkt_state = INTEL_PT_STATE_FUP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3301
err = intel_pt_walk_fup(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3308
return intel_pt_walk_fup_tip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
331
decoder->max_loops = params->max_loops ? params->max_loops : INTEL_PT_MAX_LOOPS;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3311
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3312
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3313
intel_pt_clear_tx_flags(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3314
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3318
decoder->state.psb_offset = decoder->pos;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3319
decoder->psb_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3320
if (intel_pt_psb_with_fup(decoder, &err))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3322
err = intel_pt_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3328
intel_pt_update_pip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
333
decoder->flags = params->flags;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3332
intel_pt_calc_mtc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3333
if (decoder->period_type != INTEL_PT_PERIOD_MTC)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3339
if (!decoder->mtc_insn)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3341
decoder->mtc_insn = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3343
if (!decoder->timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3345
decoder->state.type = INTEL_PT_INSTRUCTION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3346
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3347
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3348
decoder->mtc_insn = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
335
decoder->ctl = params->ctl;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3352
intel_pt_calc_tsc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3356
intel_pt_calc_tma(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
336
decoder->period = params->period;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3360
intel_pt_calc_cyc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3364
intel_pt_calc_cbr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3365
if (decoder->cbr != decoder->cbr_seen) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3366
decoder->state.type = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
337
decoder->period_type = params->period_type;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3372
intel_pt_mode_exec(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3373
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3376
if (decoder->packet.type == INTEL_PT_FUP) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3377
decoder->set_fup_mode_exec = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3384
if (!decoder->pge || decoder->in_psb) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3385
intel_pt_update_in_tx(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3388
err = intel_pt_mode_tsx(decoder, &no_tip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
339
decoder->max_non_turbo_ratio = params->max_non_turbo_ratio;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3394
return intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
340
decoder->max_non_turbo_ratio_fp = params->max_non_turbo_ratio;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3403
decoder->fup_ptw_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3404
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3407
if (decoder->packet.type == INTEL_PT_FUP) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3408
decoder->set_fup_ptw = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3412
decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3417
decoder->state.type = INTEL_PT_PTW;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3418
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3419
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
342
decoder->cyc_threshold = intel_pt_cyc_threshold(decoder->ctl);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3420
decoder->state.ptw_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3424
decoder->fup_mwait_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3425
decoder->set_fup_mwait = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3429
if (decoder->set_fup_mwait) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3430
decoder->fup_pwre_payload =
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3431
decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3432
decoder->set_fup_pwre = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3435
decoder->state.type = INTEL_PT_PWR_ENTRY;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3436
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3437
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3438
decoder->state.pwrx_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
344
intel_pt_setup_period(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3442
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3445
if (decoder->packet.type == INTEL_PT_FUP) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3446
decoder->set_fup_exstop = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3450
decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3455
decoder->state.type = INTEL_PT_EX_STOP;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3456
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3457
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
346
decoder->mtc_shift = params->mtc_period;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3461
decoder->state.type = INTEL_PT_PWR_EXIT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3462
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3463
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3464
decoder->state.pwrx_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3468
intel_pt_bbp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
347
decoder->ctc_rem_mask = (1 << decoder->mtc_shift) - 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3472
intel_pt_bip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3476
decoder->state.type = INTEL_PT_BLK_ITEMS;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3477
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3478
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3482
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3485
if (decoder->packet.type == INTEL_PT_FUP) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3486
decoder->set_fup_bep = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
349
decoder->tsc_ctc_ratio_n = params->tsc_ctc_ratio_n;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3490
decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3495
decoder->fup_cfe_pkt = decoder->packet;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3496
decoder->set_fup_cfe = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3497
if (!decoder->pge) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3498
intel_pt_fup_event(decoder, true);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
350
decoder->tsc_ctc_ratio_d = params->tsc_ctc_ratio_d;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3504
decoder->fup_cfe_pkt = decoder->packet;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3505
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3508
if (decoder->packet.type == INTEL_PT_FUP) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3509
decoder->set_fup_cfe_ip = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3513
decoder->pos);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3518
err = intel_pt_evd(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
352
if (!decoder->tsc_ctc_ratio_n)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3524
return intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3529
static inline bool intel_pt_have_ip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
353
decoder->tsc_ctc_ratio_d = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3531
return decoder->packet.count &&
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3532
(decoder->have_last_ip || decoder->packet.count == 3 ||
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3533
decoder->packet.count == 6);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3537
static int intel_pt_walk_psb(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3541
decoder->in_psb = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3544
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3548
switch (decoder->packet.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
355
if (decoder->tsc_ctc_ratio_d) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3550
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
356
if (!(decoder->tsc_ctc_ratio_n % decoder->tsc_ctc_ratio_d))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
357
decoder->tsc_ctc_mult = decoder->tsc_ctc_ratio_n /
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3573
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3574
if (intel_pt_have_ip(decoder)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3575
uint64_t current_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3577
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3578
decoder->psb_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
358
decoder->tsc_ctc_ratio_d;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3581
decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3586
intel_pt_calc_mtc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3590
intel_pt_calc_tsc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3594
intel_pt_calc_tma(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3598
intel_pt_calc_cyc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3602
intel_pt_calc_cbr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3606
intel_pt_set_pip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3610
intel_pt_mode_exec_status(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3614
intel_pt_update_in_tx(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3618
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3619
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3620
intel_pt_clear_tx_flags(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3624
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3626
if (decoder->ip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3627
decoder->pkt_state = INTEL_PT_STATE_ERR4;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3629
decoder->pkt_state = INTEL_PT_STATE_ERR3;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3634
err = intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3638
err = intel_pt_overflow(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3654
decoder->in_psb = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3659
static int intel_pt_walk_to_ip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3664
err = intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3668
switch (decoder->packet.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
367
decoder->tsc_slip = 0x10000;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3670
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3671
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3672
if (intel_pt_have_ip(decoder))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3673
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3674
if (!decoder->ip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3676
decoder->state.type |= INTEL_PT_TRACE_END;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3680
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3681
intel_pt_mtc_cyc_cnt_pge(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3682
if (intel_pt_have_ip(decoder))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3683
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3684
if (!decoder->ip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3686
decoder->state.type |= INTEL_PT_TRACE_BEGIN;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
369
intel_pt_log("timestamp: mtc_shift %u\n", decoder->mtc_shift);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3690
decoder->pge = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3691
if (intel_pt_have_ip(decoder))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3692
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3693
if (!decoder->ip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3698
if (intel_pt_have_ip(decoder))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3699
intel_pt_set_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
370
intel_pt_log("timestamp: tsc_ctc_ratio_n %u\n", decoder->tsc_ctc_ratio_n);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3700
if (decoder->ip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3705
intel_pt_calc_mtc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3709
intel_pt_calc_tsc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
371
intel_pt_log("timestamp: tsc_ctc_ratio_d %u\n", decoder->tsc_ctc_ratio_d);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3713
intel_pt_calc_tma(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3717
intel_pt_calc_cyc_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
372
intel_pt_log("timestamp: tsc_ctc_mult %u\n", decoder->tsc_ctc_mult);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3721
intel_pt_calc_cbr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3725
intel_pt_set_pip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3729
intel_pt_mode_exec_status(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
373
intel_pt_log("timestamp: tsc_slip %#x\n", decoder->tsc_slip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3733
intel_pt_update_in_tx(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3737
return intel_pt_overflow(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3740
return intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3743
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3744
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3745
intel_pt_clear_tx_flags(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3746
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
375
if (decoder->hop)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3750
decoder->state.psb_offset = decoder->pos;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3751
decoder->psb_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3752
decoder->last_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3753
decoder->have_last_ip = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3754
intel_pt_clear_stack(&decoder->stack);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3755
err = intel_pt_walk_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3758
decoder->state.type = INTEL_PT_PSB_EVT;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3759
decoder->state.from_ip = decoder->psb_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3760
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
378
return decoder;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3788
static int intel_pt_sync_ip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3792
intel_pt_clear_fup_event(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3793
decoder->overflow = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3795
if (!decoder->branch_enable) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3796
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3797
decoder->state.type = 0; /* Do not have a sample */
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3802
err = intel_pt_walk_to_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3803
if (err || ((decoder->state.type & INTEL_PT_PSB_EVT) && !decoder->ip))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3807
if (decoder->hop)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3808
decoder->pkt_state = INTEL_PT_STATE_RESAMPLE;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
381
void intel_pt_set_first_timestamp(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3810
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3812
decoder->state.from_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3813
decoder->state.to_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3814
intel_pt_log_to("Setting IP", decoder->ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3819
static int intel_pt_part_psb(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3821
const unsigned char *end = decoder->buf + decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3825
if (i > decoder->len)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3833
static int intel_pt_rest_psb(struct intel_pt_decoder *decoder, int part_psb)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3838
if (rest_psb > decoder->len ||
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3839
memcmp(decoder->buf, psb + part_psb, rest_psb))
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
384
decoder->first_timestamp = first_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3845
static int intel_pt_get_split_psb(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3850
decoder->pos += decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3851
decoder->len = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3853
ret = intel_pt_get_next_data(decoder, false);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3857
rest_psb = intel_pt_rest_psb(decoder, part_psb);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3861
decoder->pos -= part_psb;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3862
decoder->next_buf = decoder->buf + rest_psb;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3863
decoder->next_len = decoder->len - rest_psb;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3864
memcpy(decoder->temp_buf, INTEL_PT_PSB_STR, INTEL_PT_PSB_LEN);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3865
decoder->buf = decoder->temp_buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3866
decoder->len = INTEL_PT_PSB_LEN;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3871
static int intel_pt_scan_for_psb(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3878
if (!decoder->len) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3879
ret = intel_pt_get_next_data(decoder, false);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3884
next = memmem(decoder->buf, decoder->len, INTEL_PT_PSB_STR,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3889
part_psb = intel_pt_part_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3891
ret = intel_pt_get_split_psb(decoder, part_psb);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3895
decoder->pos += decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3896
decoder->len = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3901
decoder->pkt_step = next - decoder->buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3902
return intel_pt_get_next_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3906
static int intel_pt_sync(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3910
decoder->pge = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3911
decoder->continuous_period = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3912
decoder->have_last_ip = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3913
decoder->last_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3914
decoder->psb_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3915
decoder->ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3916
intel_pt_clear_stack(&decoder->stack);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3918
err = intel_pt_scan_for_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3922
if (decoder->vm_time_correlation) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3923
decoder->in_psb = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3924
if (!decoder->timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3925
decoder->timestamp = 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3926
decoder->state.type = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3927
decoder->pkt_state = INTEL_PT_STATE_VM_TIME_CORRELATION;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3931
decoder->have_last_ip = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3932
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3934
err = intel_pt_walk_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3938
decoder->state.type = INTEL_PT_PSB_EVT; /* Only PSB sample */
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3939
decoder->state.from_ip = decoder->psb_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3940
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3942
if (decoder->ip) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3947
if (decoder->hop)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3948
decoder->pkt_state = INTEL_PT_STATE_RESAMPLE;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3950
decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3956
static uint64_t intel_pt_est_timestamp(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3958
uint64_t est = decoder->sample_insn_cnt << 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3960
if (!decoder->cbr || !decoder->max_non_turbo_ratio)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3963
est *= decoder->max_non_turbo_ratio;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3964
est /= decoder->cbr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3966
return decoder->sample_timestamp + est;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3969
const struct intel_pt_state *intel_pt_decode(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3974
decoder->state.type = INTEL_PT_BRANCH;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3975
decoder->state.flags = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3977
switch (decoder->pkt_state) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3979
err = intel_pt_sync(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3982
decoder->have_last_ip = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3983
decoder->last_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3984
decoder->ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3987
err = intel_pt_sync_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3990
err = intel_pt_walk_trace(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3994
err = intel_pt_walk_tnt(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
3996
err = intel_pt_walk_trace(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4000
err = intel_pt_walk_tip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4003
err = intel_pt_walk_fup(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4005
err = intel_pt_walk_fup_tip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4008
err = intel_pt_walk_fup(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4010
err = intel_pt_walk_trace(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4013
err = intel_pt_fup_in_psb(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4016
err = intel_pt_resample(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4019
err = intel_pt_vm_time_correlation(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4022
err = intel_pt_bug(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4028
decoder->state.err = intel_pt_ext_err(err);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4030
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4031
intel_pt_update_sample_time(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4032
decoder->sample_tot_cyc_cnt = decoder->tot_cyc_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4033
intel_pt_set_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4035
decoder->state.err = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4036
if (decoder->cbr != decoder->cbr_seen) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4037
decoder->cbr_seen = decoder->cbr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4038
if (!decoder->state.type) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4039
decoder->state.from_ip = decoder->ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4040
decoder->state.to_ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4042
decoder->state.type |= INTEL_PT_CBR_CHG;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4043
decoder->state.cbr_payload = decoder->cbr_payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4044
decoder->state.cbr = decoder->cbr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4046
if (intel_pt_sample_time(decoder->pkt_state)) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4047
intel_pt_update_sample_time(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4048
if (decoder->sample_cyc) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4049
decoder->sample_tot_cyc_cnt = decoder->tot_cyc_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4050
decoder->state.flags |= INTEL_PT_SAMPLE_IPC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4051
decoder->sample_cyc = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4058
if (!decoder->have_cyc)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4059
decoder->state.flags |= INTEL_PT_SAMPLE_IPC;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4063
if ((decoder->state.type & INTEL_PT_PSB_EVT) && decoder->tsc_timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4064
decoder->sample_timestamp = decoder->tsc_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4066
decoder->state.from_nr = decoder->nr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4067
decoder->state.to_nr = decoder->next_nr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4068
decoder->nr = decoder->next_nr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4070
decoder->state.timestamp = decoder->sample_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4071
decoder->state.est_timestamp = intel_pt_est_timestamp(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4072
decoder->state.tot_insn_cnt = decoder->tot_insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4073
decoder->state.tot_cyc_cnt = decoder->sample_tot_cyc_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4075
return &decoder->state;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4451
int intel_pt_fast_forward(struct intel_pt_decoder *decoder, uint64_t timestamp)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4461
err = decoder->lookahead(decoder->data, intel_pt_ff_cb, &d);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4468
decoder->pos += decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4469
decoder->len = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4470
err = intel_pt_get_next_data(decoder, true);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4474
} while (decoder->buf_timestamp != d.buf_timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4477
if (!decoder->buf)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4480
buf = (unsigned char *)decoder->buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4481
len = decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4496
tsc = intel_pt_8b_tsc(tsc, decoder->buf_timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4505
decoder->pos += decoder->len - len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4506
decoder->buf = buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4507
decoder->len = len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
4508
intel_pt_reposition(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
458
void intel_pt_decoder_free(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
460
intel_pt_free_stack(&decoder->stack);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
461
free(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
548
static inline void intel_pt_set_last_ip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
550
decoder->last_ip = intel_pt_calc_ip(&decoder->packet, decoder->last_ip);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
551
decoder->have_last_ip = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
554
static inline void intel_pt_set_ip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
556
intel_pt_set_last_ip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
557
decoder->ip = decoder->last_ip;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
560
static void intel_pt_decoder_log_packet(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
562
intel_pt_log_packet(&decoder->packet, decoder->pkt_len, decoder->pos,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
563
decoder->buf);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
566
static int intel_pt_bug(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
569
decoder->pkt_state = INTEL_PT_STATE_NO_PSB;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
573
static inline void intel_pt_clear_tx_flags(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
575
decoder->tx_flags = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
578
static inline void intel_pt_update_in_tx(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
580
decoder->tx_flags = decoder->packet.payload & INTEL_PT_IN_TX;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
583
static inline void intel_pt_update_pip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
585
decoder->pip_payload = decoder->packet.payload;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
588
static inline void intel_pt_update_nr(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
590
decoder->next_nr = decoder->pip_payload & 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
593
static inline void intel_pt_set_nr(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
595
decoder->nr = decoder->pip_payload & 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
596
decoder->next_nr = decoder->nr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
599
static inline void intel_pt_set_pip(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
601
intel_pt_update_pip(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
602
intel_pt_set_nr(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
605
static int intel_pt_bad_packet(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
607
intel_pt_clear_tx_flags(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
608
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
609
decoder->pkt_len = 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
610
decoder->pkt_step = 1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
611
intel_pt_decoder_log_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
612
if (decoder->pkt_state != INTEL_PT_STATE_NO_PSB) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
614
decoder->pkt_state = INTEL_PT_STATE_ERR1;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
619
static inline void intel_pt_update_sample_time(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
621
decoder->sample_timestamp = decoder->timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
622
decoder->sample_insn_cnt = decoder->timestamp_insn_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
623
decoder->state.cycles = decoder->tot_cyc_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
626
static void intel_pt_reposition(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
628
decoder->ip = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
629
decoder->pkt_state = INTEL_PT_STATE_NO_PSB;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
630
decoder->timestamp = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
631
decoder->have_tma = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
634
static int intel_pt_get_data(struct intel_pt_decoder *decoder, bool reposition)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
639
decoder->pkt_step = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
642
ret = decoder->get_trace(&buffer, decoder->data);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
645
decoder->buf = buffer.buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
646
decoder->len = buffer.len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
647
if (!decoder->len) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
651
decoder->buf_timestamp = buffer.ref_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
653
intel_pt_reposition(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
654
decoder->ref_timestamp = buffer.ref_timestamp;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
655
decoder->state.trace_nr = buffer.trace_nr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
656
decoder->vm_tm_corr_same_buf = false;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
658
decoder->ref_timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
665
static int intel_pt_get_next_data(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
668
if (!decoder->next_buf)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
669
return intel_pt_get_data(decoder, reposition);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
671
decoder->buf = decoder->next_buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
672
decoder->len = decoder->next_len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
673
decoder->next_buf = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
674
decoder->next_len = 0;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
678
static int intel_pt_get_split_packet(struct intel_pt_decoder *decoder)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
680
unsigned char *buf = decoder->temp_buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
684
old_len = decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
685
len = decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
686
memcpy(buf, decoder->buf, len);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
688
ret = intel_pt_get_data(decoder, false);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
690
decoder->pos += old_len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
695
if (n > decoder->len)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
696
n = decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
697
memcpy(buf + len, decoder->buf, n);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
700
decoder->prev_pkt_ctx = decoder->pkt_ctx;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
701
ret = intel_pt_get_packet(buf, len, &decoder->packet, &decoder->pkt_ctx);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
703
decoder->next_buf = decoder->buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
704
decoder->next_len = decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
705
decoder->buf = buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
706
decoder->len = old_len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
707
return intel_pt_bad_packet(decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
710
decoder->next_buf = decoder->buf + (ret - old_len);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
711
decoder->next_len = decoder->len - (ret - old_len);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
713
decoder->buf = buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
714
decoder->len = ret;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
720
struct intel_pt_decoder *decoder;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
731
static int intel_pt_pkt_lookahead(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
735
const unsigned char *buf = decoder->buf;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
736
enum intel_pt_pkt_ctx pkt_ctx = decoder->pkt_ctx;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
737
size_t len = decoder->len;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
740
pkt_info.decoder = decoder;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
741
pkt_info.pos = decoder->pos;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
742
pkt_info.pkt_len = decoder->pkt_step;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
743
pkt_info.last_packet_type = decoder->last_packet_type;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
809
struct intel_pt_decoder *decoder = pkt_info->decoder;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
845
if (decoder->mtc_shift > 8 && data->fixup_last_mtc) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
847
intel_pt_fixup_last_mtc(mtc, decoder->mtc_shift,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
854
data->ctc_delta += mtc_delta << decoder->mtc_shift;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
857
if (decoder->tsc_ctc_mult) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
859
data->ctc_delta * decoder->tsc_ctc_mult;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
863
decoder->tsc_ctc_ratio_n,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
864
decoder->tsc_ctc_ratio_d);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
887
data->timestamp - timestamp < decoder->tsc_slip)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
904
if (!decoder->tsc_ctc_ratio_d)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
909
ctc_rem = ctc & decoder->ctc_rem_mask;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
911
data->last_mtc = (ctc >> decoder->mtc_shift) & 0xff;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
914
if (decoder->tsc_ctc_mult) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
915
data->ctc_timestamp -= ctc_rem * decoder->tsc_ctc_mult;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
918
multdiv(ctc_rem, decoder->tsc_ctc_ratio_n,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
919
decoder->tsc_ctc_ratio_d);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
937
data->cbr_cyc_to_tsc = decoder->max_non_turbo_ratio_fp / cbr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
953
if (!data->cbr && decoder->cbr) {
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
954
data->cbr = decoder->cbr;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
955
data->cbr_cyc_to_tsc = decoder->cbr_cyc_to_tsc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
961
cyc_to_tsc = (double)(timestamp - decoder->timestamp) / data->cycle_cnt;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
970
decoder->calc_cyc_to_tsc = cyc_to_tsc;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
971
decoder->have_calc_cyc_to_tsc = true;
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
984
static void intel_pt_calc_cyc_to_tsc(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
990
.last_mtc = decoder->last_mtc,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
991
.ctc_timestamp = decoder->ctc_timestamp,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
992
.ctc_delta = decoder->ctc_delta,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
993
.tsc_timestamp = decoder->tsc_timestamp,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
994
.timestamp = decoder->timestamp,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
995
.have_tma = decoder->have_tma,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
996
.fixup_last_mtc = decoder->fixup_last_mtc,
tools/perf/util/intel-pt-decoder/intel-pt-decoder.h
302
void intel_pt_decoder_free(struct intel_pt_decoder *decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.h
304
const struct intel_pt_state *intel_pt_decode(struct intel_pt_decoder *decoder);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.h
306
int intel_pt_fast_forward(struct intel_pt_decoder *decoder, uint64_t timestamp);
tools/perf/util/intel-pt-decoder/intel-pt-decoder.h
315
void intel_pt_set_first_timestamp(struct intel_pt_decoder *decoder,
tools/perf/util/intel-pt.c
1386
ptq->decoder = intel_pt_decoder_new(¶ms);
tools/perf/util/intel-pt.c
1387
if (!ptq->decoder)
tools/perf/util/intel-pt.c
1409
intel_pt_decoder_free(ptq->decoder);
tools/perf/util/intel-pt.c
1426
if (ptq && ptq->decoder)
tools/perf/util/intel-pt.c
1427
intel_pt_set_first_timestamp(ptq->decoder, timestamp);
tools/perf/util/intel-pt.c
1619
ret = intel_pt_fast_forward(ptq->decoder,
tools/perf/util/intel-pt.c
1626
state = intel_pt_decode(ptq->decoder);
tools/perf/util/intel-pt.c
187
void *decoder;
tools/perf/util/intel-pt.c
3097
err = intel_pt_fast_forward(ptq->decoder,
tools/perf/util/intel-pt.c
3149
state = intel_pt_decode(ptq->decoder);
tools/testing/selftests/ir/ir_loopback.c
134
if (write(protocolfd, protocols[i].decoder,
tools/testing/selftests/ir/ir_loopback.c
135
strlen(protocols[i].decoder)) == -1)
tools/testing/selftests/ir/ir_loopback.c
139
protocols[i].name, protocols[i].decoder,
tools/testing/selftests/ir/ir_loopback.c
46
const char *decoder;