decoder 472 arch/arm/probes/decode.c int action = d->decoder.action; decoder 477 arch/arm/probes/decode.c return actions[action].decoder(insn, asi, h); decoder 502 arch/arm/probes/decode.c return actions[action].decoder(insn, asi, h); decoder 333 arch/arm/probes/kprobes/actions-arm.c [PROBES_LDMSTM] = {.decoder = kprobe_decode_ldmstm} decoder 616 arch/arm/probes/kprobes/actions-thumb.c [PROBES_T16_PUSH] = {.decoder = t16_decode_push}, decoder 617 arch/arm/probes/kprobes/actions-thumb.c [PROBES_T16_POP] = {.decoder = t16_decode_pop}, decoder 620 arch/arm/probes/kprobes/actions-thumb.c [PROBES_T16_IT] = {.decoder = t16_decode_it}, decoder 626 arch/arm/probes/kprobes/actions-thumb.c [PROBES_T16_HIREGOPS] = {.decoder = t16_decode_hiregs}, decoder 631 arch/arm/probes/kprobes/actions-thumb.c [PROBES_T16_BRANCH_COND] = {.decoder = t16_decode_cond_branch}, decoder 636 arch/arm/probes/kprobes/actions-thumb.c [PROBES_T32_LDMSTM] = {.decoder = t32_decode_ldmstm}, decoder 652 arch/arm/probes/kprobes/actions-thumb.c [PROBES_T32_BRANCH_COND] = {.decoder = t32_decode_cond_branch}, decoder 83 arch/arm/probes/kprobes/checkers-common.c [STACK_USE_NONE] = {.decoder = checker_stack_use_none}, decoder 84 arch/arm/probes/kprobes/checkers-common.c [STACK_USE_UNKNOWN] = {.decoder = checker_stack_use_unknown}, decoder 86 arch/arm/probes/kprobes/checkers-common.c [STACK_USE_FIXED_0XX] = {.decoder = checker_stack_use_imm_0xx}, decoder 87 arch/arm/probes/kprobes/checkers-common.c [STACK_USE_T32STRD] = {.decoder = checker_stack_use_t32strd}, decoder 89 arch/arm/probes/kprobes/checkers-common.c [STACK_USE_FIXED_X0X] = {.decoder = checker_stack_use_imm_x0x}, decoder 91 arch/arm/probes/kprobes/checkers-common.c [STACK_USE_FIXED_XXX] = {.decoder = checker_stack_use_imm_xxx}, decoder 92 arch/arm/probes/kprobes/checkers-common.c [STACK_USE_STMDX] = {.decoder = checker_stack_use_stmdx}, decoder 205 arch/arm/probes/uprobes/actions-arm.c [PROBES_LDRSTRD] = {.decoder = decode_pc_ro}, decoder 206 arch/arm/probes/uprobes/actions-arm.c [PROBES_LOAD_EXTRA] = {.decoder = decode_pc_ro}, decoder 207 arch/arm/probes/uprobes/actions-arm.c [PROBES_LOAD] = {.decoder = decode_ldr}, decoder 208 arch/arm/probes/uprobes/actions-arm.c [PROBES_STORE_EXTRA] = {.decoder = decode_pc_ro}, decoder 209 arch/arm/probes/uprobes/actions-arm.c [PROBES_STORE] = {.decoder = decode_pc_ro}, decoder 212 arch/arm/probes/uprobes/actions-arm.c .decoder = decode_rd12rn16rm0rs8_rwflags}, decoder 214 arch/arm/probes/uprobes/actions-arm.c .decoder = decode_rd12rn16rm0rs8_rwflags}, decoder 228 arch/arm/probes/uprobes/actions-arm.c [PROBES_LDMSTM] = {.decoder = uprobe_decode_ldmstm} decoder 453 arch/ia64/kernel/unwind_decoder.c unw_decoder decoder; decoder 457 arch/ia64/kernel/unwind_decoder.c decoder = unw_decode_table[inside_body][code >> 5]; decoder 458 arch/ia64/kernel/unwind_decoder.c dp = (*decoder) (dp, code, arg); decoder 34 drivers/input/misc/gpio_decoder.c static int gpio_decoder_get_gpios_state(struct gpio_decoder *decoder) decoder 36 drivers/input/misc/gpio_decoder.c struct gpio_descs *gpios = decoder->input_gpios; decoder 43 drivers/input/misc/gpio_decoder.c dev_err(decoder->dev, decoder 58 drivers/input/misc/gpio_decoder.c struct gpio_decoder *decoder = poll_dev->private; decoder 61 drivers/input/misc/gpio_decoder.c state = gpio_decoder_get_gpios_state(decoder); decoder 62 drivers/input/misc/gpio_decoder.c if (state >= 0 && state != decoder->last_stable) { decoder 63 drivers/input/misc/gpio_decoder.c input_report_abs(poll_dev->input, decoder->axis, state); decoder 65 drivers/input/misc/gpio_decoder.c decoder->last_stable = state; decoder 72 drivers/input/misc/gpio_decoder.c struct gpio_decoder *decoder; decoder 77 drivers/input/misc/gpio_decoder.c decoder = devm_kzalloc(dev, sizeof(struct gpio_decoder), GFP_KERNEL); decoder 78 drivers/input/misc/gpio_decoder.c if (!decoder) decoder 81 drivers/input/misc/gpio_decoder.c device_property_read_u32(dev, "linux,axis", &decoder->axis); decoder 82 drivers/input/misc/gpio_decoder.c decoder->input_gpios = devm_gpiod_get_array(dev, NULL, GPIOD_IN); decoder 83 drivers/input/misc/gpio_decoder.c if (IS_ERR(decoder->input_gpios)) { decoder 85 drivers/input/misc/gpio_decoder.c return PTR_ERR(decoder->input_gpios); decoder 87 drivers/input/misc/gpio_decoder.c if (decoder->input_gpios->ndescs < 2) { decoder 93 drivers/input/misc/gpio_decoder.c max = (1U << decoder->input_gpios->ndescs) - 1; decoder 95 drivers/input/misc/gpio_decoder.c decoder->dev = dev; decoder 96 drivers/input/misc/gpio_decoder.c poll_dev = devm_input_allocate_polled_device(decoder->dev); decoder 100 drivers/input/misc/gpio_decoder.c poll_dev->private = decoder; decoder 102 drivers/input/misc/gpio_decoder.c decoder->poll_dev = poll_dev; decoder 106 drivers/input/misc/gpio_decoder.c input_set_abs_params(poll_dev->input, decoder->axis, 0, max, 0, 0); decoder 110 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 185 drivers/media/i2c/adv7183.c v4l2_ctrl_handler_log_status(&decoder->hdl, sd->name); decoder 191 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 193 drivers/media/i2c/adv7183.c *std = decoder->std; decoder 199 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 223 drivers/media/i2c/adv7183.c decoder->std = std; decoder 242 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 248 drivers/media/i2c/adv7183.c if (input != decoder->input) { decoder 249 drivers/media/i2c/adv7183.c decoder->input = input; decoder 303 drivers/media/i2c/adv7183.c if (output != decoder->output) { decoder 304 drivers/media/i2c/adv7183.c decoder->output = output; decoder 351 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 394 drivers/media/i2c/adv7183.c adv7183_s_std(sd, decoder->std); decoder 426 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 434 drivers/media/i2c/adv7183.c if (decoder->std & V4L2_STD_525_60) { decoder 444 drivers/media/i2c/adv7183.c decoder->fmt = *fmt; decoder 454 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 459 drivers/media/i2c/adv7183.c format->format = decoder->fmt; decoder 465 drivers/media/i2c/adv7183.c struct adv7183 *decoder = to_adv7183(sd); decoder 468 drivers/media/i2c/adv7183.c gpio_set_value(decoder->oe_pin, 0); decoder 470 drivers/media/i2c/adv7183.c gpio_set_value(decoder->oe_pin, 1); decoder 527 drivers/media/i2c/adv7183.c struct adv7183 *decoder; decoder 547 drivers/media/i2c/adv7183.c decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); decoder 548 drivers/media/i2c/adv7183.c if (decoder == NULL) decoder 551 drivers/media/i2c/adv7183.c decoder->reset_pin = pin_array[0]; decoder 552 drivers/media/i2c/adv7183.c decoder->oe_pin = pin_array[1]; decoder 554 drivers/media/i2c/adv7183.c if (devm_gpio_request_one(&client->dev, decoder->reset_pin, decoder 556 drivers/media/i2c/adv7183.c v4l_err(client, "failed to request GPIO %d\n", decoder->reset_pin); decoder 560 drivers/media/i2c/adv7183.c if (devm_gpio_request_one(&client->dev, decoder->oe_pin, decoder 563 drivers/media/i2c/adv7183.c v4l_err(client, "failed to request GPIO %d\n", decoder->oe_pin); decoder 567 drivers/media/i2c/adv7183.c sd = &decoder->sd; decoder 570 drivers/media/i2c/adv7183.c hdl = &decoder->hdl; decoder 590 drivers/media/i2c/adv7183.c decoder->std = V4L2_STD_PAL; decoder 591 drivers/media/i2c/adv7183.c decoder->input = ADV7183_COMPOSITE4; decoder 592 drivers/media/i2c/adv7183.c decoder->output = ADV7183_8BIT_OUT; decoder 597 drivers/media/i2c/adv7183.c gpio_set_value(decoder->reset_pin, 1); decoder 602 drivers/media/i2c/adv7183.c adv7183_s_std(sd, decoder->std); decoder 77 drivers/media/i2c/bt819.c static inline int bt819_write(struct bt819 *decoder, u8 reg, u8 value) decoder 79 drivers/media/i2c/bt819.c struct i2c_client *client = v4l2_get_subdevdata(&decoder->sd); decoder 81 drivers/media/i2c/bt819.c decoder->reg[reg] = value; decoder 85 drivers/media/i2c/bt819.c static inline int bt819_setbit(struct bt819 *decoder, u8 reg, u8 bit, u8 value) decoder 87 drivers/media/i2c/bt819.c return bt819_write(decoder, reg, decoder 88 drivers/media/i2c/bt819.c (decoder->reg[reg] & ~(1 << bit)) | (value ? (1 << bit) : 0)); decoder 91 drivers/media/i2c/bt819.c static int bt819_write_block(struct bt819 *decoder, const u8 *data, unsigned int len) decoder 93 drivers/media/i2c/bt819.c struct i2c_client *client = v4l2_get_subdevdata(&decoder->sd); decoder 109 drivers/media/i2c/bt819.c decoder->reg[reg++] = data[1]; decoder 121 drivers/media/i2c/bt819.c ret = bt819_write(decoder, reg, *data++); decoder 131 drivers/media/i2c/bt819.c static inline int bt819_read(struct bt819 *decoder, u8 reg) decoder 133 drivers/media/i2c/bt819.c struct i2c_client *client = v4l2_get_subdevdata(&decoder->sd); decoder 174 drivers/media/i2c/bt819.c struct bt819 *decoder = to_bt819(sd); decoder 175 drivers/media/i2c/bt819.c struct timing *timing = &timing_data[(decoder->norm & V4L2_STD_525_60) ? 1 : 0]; decoder 189 drivers/media/i2c/bt819.c init[0x15 * 2 - 1] = (decoder->norm & V4L2_STD_625_50) ? 115 : 93; /* Chroma burst delay */ decoder 191 drivers/media/i2c/bt819.c bt819_write(decoder, 0x1f, 0x00); decoder 195 drivers/media/i2c/bt819.c return bt819_write_block(decoder, init, sizeof(init)); decoder 202 drivers/media/i2c/bt819.c struct bt819 *decoder = to_bt819(sd); decoder 203 drivers/media/i2c/bt819.c int status = bt819_read(decoder, 0x00); decoder 237 drivers/media/i2c/bt819.c struct bt819 *decoder = to_bt819(sd); decoder 247 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x01, 0, 1); decoder 248 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x01, 1, 0); decoder 249 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x01, 5, 0); decoder 250 drivers/media/i2c/bt819.c bt819_write(decoder, 0x18, 0x68); decoder 251 drivers/media/i2c/bt819.c bt819_write(decoder, 0x19, 0x5d); decoder 256 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x01, 0, 1); decoder 257 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x01, 1, 1); decoder 258 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x01, 5, 1); decoder 259 drivers/media/i2c/bt819.c bt819_write(decoder, 0x18, 0x7f); decoder 260 drivers/media/i2c/bt819.c bt819_write(decoder, 0x19, 0x72); decoder 268 drivers/media/i2c/bt819.c bt819_write(decoder, 0x03, decoder 273 drivers/media/i2c/bt819.c bt819_write(decoder, 0x04, timing->vdelay & 0xff); decoder 274 drivers/media/i2c/bt819.c bt819_write(decoder, 0x05, timing->vactive & 0xff); decoder 275 drivers/media/i2c/bt819.c bt819_write(decoder, 0x06, timing->hdelay & 0xff); decoder 276 drivers/media/i2c/bt819.c bt819_write(decoder, 0x07, timing->hactive & 0xff); decoder 277 drivers/media/i2c/bt819.c bt819_write(decoder, 0x08, (timing->hscale >> 8) & 0xff); decoder 278 drivers/media/i2c/bt819.c bt819_write(decoder, 0x09, timing->hscale & 0xff); decoder 279 drivers/media/i2c/bt819.c decoder->norm = std; decoder 287 drivers/media/i2c/bt819.c struct bt819 *decoder = to_bt819(sd); decoder 297 drivers/media/i2c/bt819.c if (decoder->input != input) { decoder 299 drivers/media/i2c/bt819.c decoder->input = input; decoder 301 drivers/media/i2c/bt819.c if (decoder->input == 0) { decoder 302 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x0b, 6, 0); decoder 303 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x1a, 1, 1); decoder 305 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x0b, 6, 1); decoder 306 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x1a, 1, 0); decoder 315 drivers/media/i2c/bt819.c struct bt819 *decoder = to_bt819(sd); decoder 319 drivers/media/i2c/bt819.c if (decoder->enable != enable) { decoder 320 drivers/media/i2c/bt819.c decoder->enable = enable; decoder 321 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x16, 7, !enable); decoder 329 drivers/media/i2c/bt819.c struct bt819 *decoder = to_bt819(sd); decoder 334 drivers/media/i2c/bt819.c bt819_write(decoder, 0x0a, ctrl->val); decoder 338 drivers/media/i2c/bt819.c bt819_write(decoder, 0x0c, ctrl->val & 0xff); decoder 339 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x0b, 2, ((ctrl->val >> 8) & 0x01)); decoder 343 drivers/media/i2c/bt819.c bt819_write(decoder, 0x0d, (ctrl->val >> 7) & 0xff); decoder 344 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x0b, 1, ((ctrl->val >> 15) & 0x01)); decoder 349 drivers/media/i2c/bt819.c bt819_write(decoder, 0x0e, (temp >> 7) & 0xff); decoder 350 drivers/media/i2c/bt819.c bt819_setbit(decoder, 0x0b, 0, (temp >> 15) & 0x01); decoder 354 drivers/media/i2c/bt819.c bt819_write(decoder, 0x0f, ctrl->val); decoder 387 drivers/media/i2c/bt819.c struct bt819 *decoder; decoder 395 drivers/media/i2c/bt819.c decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); decoder 396 drivers/media/i2c/bt819.c if (decoder == NULL) decoder 398 drivers/media/i2c/bt819.c sd = &decoder->sd; decoder 401 drivers/media/i2c/bt819.c ver = bt819_read(decoder, 0x17); decoder 421 drivers/media/i2c/bt819.c decoder->norm = V4L2_STD_NTSC; decoder 422 drivers/media/i2c/bt819.c decoder->input = 0; decoder 423 drivers/media/i2c/bt819.c decoder->enable = 1; decoder 429 drivers/media/i2c/bt819.c v4l2_ctrl_handler_init(&decoder->hdl, 4); decoder 430 drivers/media/i2c/bt819.c v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops, decoder 432 drivers/media/i2c/bt819.c v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops, decoder 434 drivers/media/i2c/bt819.c v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops, decoder 436 drivers/media/i2c/bt819.c v4l2_ctrl_new_std(&decoder->hdl, &bt819_ctrl_ops, decoder 438 drivers/media/i2c/bt819.c sd->ctrl_handler = &decoder->hdl; decoder 439 drivers/media/i2c/bt819.c if (decoder->hdl.error) { decoder 440 drivers/media/i2c/bt819.c int err = decoder->hdl.error; decoder 442 drivers/media/i2c/bt819.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 445 drivers/media/i2c/bt819.c v4l2_ctrl_handler_setup(&decoder->hdl); decoder 452 drivers/media/i2c/bt819.c struct bt819 *decoder = to_bt819(sd); decoder 455 drivers/media/i2c/bt819.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 70 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 72 drivers/media/i2c/saa7110.c decoder->reg[reg] = value; decoder 79 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 93 drivers/media/i2c/saa7110.c memcpy(decoder->reg + reg, data + 1, len - 1); decoder 151 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 162 drivers/media/i2c/saa7110.c decoder->input = chan; decoder 180 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 185 drivers/media/i2c/saa7110.c saa7110_selmux(sd, decoder->input); decoder 186 drivers/media/i2c/saa7110.c prepare_to_wait(&decoder->wq, &wait, TASK_UNINTERRUPTIBLE); decoder 188 drivers/media/i2c/saa7110.c finish_wait(&decoder->wq, &wait); decoder 221 drivers/media/i2c/saa7110.c prepare_to_wait(&decoder->wq, &wait, TASK_UNINTERRUPTIBLE); decoder 223 drivers/media/i2c/saa7110.c finish_wait(&decoder->wq, &wait); decoder 237 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 242 drivers/media/i2c/saa7110.c status, (unsigned long long)decoder->norm); decoder 260 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 262 drivers/media/i2c/saa7110.c if (decoder->norm != std) { decoder 263 drivers/media/i2c/saa7110.c decoder->norm = std; decoder 293 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 299 drivers/media/i2c/saa7110.c if (decoder->input != input) { decoder 308 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 310 drivers/media/i2c/saa7110.c if (decoder->enable != enable) { decoder 311 drivers/media/i2c/saa7110.c decoder->enable = enable; decoder 364 drivers/media/i2c/saa7110.c struct saa7110 *decoder; decoder 376 drivers/media/i2c/saa7110.c decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); decoder 377 drivers/media/i2c/saa7110.c if (!decoder) decoder 379 drivers/media/i2c/saa7110.c sd = &decoder->sd; decoder 381 drivers/media/i2c/saa7110.c decoder->norm = V4L2_STD_PAL; decoder 382 drivers/media/i2c/saa7110.c decoder->input = 0; decoder 383 drivers/media/i2c/saa7110.c decoder->enable = 1; decoder 384 drivers/media/i2c/saa7110.c v4l2_ctrl_handler_init(&decoder->hdl, 2); decoder 385 drivers/media/i2c/saa7110.c v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops, decoder 387 drivers/media/i2c/saa7110.c v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops, decoder 389 drivers/media/i2c/saa7110.c v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops, decoder 391 drivers/media/i2c/saa7110.c v4l2_ctrl_new_std(&decoder->hdl, &saa7110_ctrl_ops, decoder 393 drivers/media/i2c/saa7110.c sd->ctrl_handler = &decoder->hdl; decoder 394 drivers/media/i2c/saa7110.c if (decoder->hdl.error) { decoder 395 drivers/media/i2c/saa7110.c int err = decoder->hdl.error; decoder 397 drivers/media/i2c/saa7110.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 400 drivers/media/i2c/saa7110.c v4l2_ctrl_handler_setup(&decoder->hdl); decoder 402 drivers/media/i2c/saa7110.c init_waitqueue_head(&decoder->wq); decoder 434 drivers/media/i2c/saa7110.c struct saa7110 *decoder = to_saa7110(sd); decoder 437 drivers/media/i2c/saa7110.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 768 drivers/media/i2c/saa717x.c struct saa717x_state *decoder) decoder 775 drivers/media/i2c/saa717x.c saa717x_write(sd, 0x0594, decoder->audio_input); decoder 777 drivers/media/i2c/saa717x.c decoder->audio_input); decoder 780 drivers/media/i2c/saa717x.c work_l = (min(65536 - decoder->audio_main_balance, 32768) * decoder->audio_main_volume) / 32768; decoder 781 drivers/media/i2c/saa717x.c work_r = (min(decoder->audio_main_balance, (u16)32768) * decoder->audio_main_volume) / 32768; decoder 782 drivers/media/i2c/saa717x.c decoder->audio_main_vol_l = (long)work_l * (24 - (-40)) / 65535 - 40; decoder 783 drivers/media/i2c/saa717x.c decoder->audio_main_vol_r = (long)work_r * (24 - (-40)) / 65535 - 40; decoder 789 drivers/media/i2c/saa717x.c if (decoder->audio_main_mute) { decoder 792 drivers/media/i2c/saa717x.c val = (u8)decoder->audio_main_vol_l | decoder 793 drivers/media/i2c/saa717x.c ((u8)decoder->audio_main_vol_r << 8); decoder 799 drivers/media/i2c/saa717x.c val = decoder->audio_main_bass & 0x1f; decoder 800 drivers/media/i2c/saa717x.c val |= (decoder->audio_main_treble & 0x1f) << 5; decoder 914 drivers/media/i2c/saa717x.c struct saa717x_state *decoder = to_state(sd); decoder 925 drivers/media/i2c/saa717x.c if (decoder->input != input) { decoder 928 drivers/media/i2c/saa717x.c decoder->input = input_line; decoder 946 drivers/media/i2c/saa717x.c set_audio_mode(sd, decoder->tuner_audio_mode); decoder 1052 drivers/media/i2c/saa717x.c struct saa717x_state *decoder = to_state(sd); decoder 1054 drivers/media/i2c/saa717x.c decoder->radio = 1; decoder 1060 drivers/media/i2c/saa717x.c struct saa717x_state *decoder = to_state(sd); decoder 1065 drivers/media/i2c/saa717x.c decoder->radio = 0; decoder 1066 drivers/media/i2c/saa717x.c decoder->std = std; decoder 1073 drivers/media/i2c/saa717x.c struct saa717x_state *decoder = to_state(sd); decoder 1076 drivers/media/i2c/saa717x.c decoder->audio_input = input; decoder 1079 drivers/media/i2c/saa717x.c decoder->audio_input); decoder 1080 drivers/media/i2c/saa717x.c set_audio_regs(sd, decoder); decoder 1088 drivers/media/i2c/saa717x.c struct saa717x_state *decoder = to_state(sd); decoder 1092 drivers/media/i2c/saa717x.c decoder->enable = enable; decoder 1100 drivers/media/i2c/saa717x.c struct saa717x_state *decoder = to_state(sd); decoder 1125 drivers/media/i2c/saa717x.c decoder->tuner_audio_mode = audio_mode; decoder 1128 drivers/media/i2c/saa717x.c set_audio_mode(sd, decoder->tuner_audio_mode); decoder 1134 drivers/media/i2c/saa717x.c struct saa717x_state *decoder = to_state(sd); decoder 1137 drivers/media/i2c/saa717x.c if (decoder->radio) decoder 1234 drivers/media/i2c/saa717x.c struct saa717x_state *decoder; decoder 1244 drivers/media/i2c/saa717x.c decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); decoder 1245 drivers/media/i2c/saa717x.c if (decoder == NULL) decoder 1248 drivers/media/i2c/saa717x.c sd = &decoder->sd; decoder 1271 drivers/media/i2c/saa717x.c hdl = &decoder->hdl; decoder 1300 drivers/media/i2c/saa717x.c decoder->std = V4L2_STD_NTSC; decoder 1301 drivers/media/i2c/saa717x.c decoder->input = -1; decoder 1302 drivers/media/i2c/saa717x.c decoder->enable = 1; decoder 1305 drivers/media/i2c/saa717x.c decoder->playback = 0; /* initially capture mode used */ decoder 1306 drivers/media/i2c/saa717x.c decoder->audio = 1; /* DECODER_AUDIO_48_KHZ */ decoder 1308 drivers/media/i2c/saa717x.c decoder->audio_input = 2; /* FIXME!! */ decoder 1310 drivers/media/i2c/saa717x.c decoder->tuner_audio_mode = TUNER_AUDIO_STEREO; decoder 1312 drivers/media/i2c/saa717x.c decoder->audio_main_vol_l = 6; decoder 1313 drivers/media/i2c/saa717x.c decoder->audio_main_vol_r = 6; decoder 474 drivers/media/i2c/ths8200.c struct ths8200_state *decoder = to_state(sd); decoder 480 drivers/media/i2c/ths8200.c v4l2_async_unregister_subdev(&decoder->sd); decoder 465 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder) decoder 471 drivers/media/i2c/tvp514x.c tvp514x_write_regs(sd, decoder->tvp514x_regs); decoder 493 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder) decoder 516 drivers/media/i2c/tvp514x.c decoder->ver = rom_ver; decoder 519 drivers/media/i2c/tvp514x.c client->name, decoder->ver, decoder 534 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 543 drivers/media/i2c/tvp514x.c if (!decoder->streaming) { decoder 555 drivers/media/i2c/tvp514x.c input_sel = decoder->input; decoder 599 drivers/media/i2c/tvp514x.c *std_id &= decoder->std_list[current_std].standard.id; decoder 602 drivers/media/i2c/tvp514x.c decoder->std_list[current_std].standard.name); decoder 616 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 619 drivers/media/i2c/tvp514x.c for (i = 0; i < decoder->num_stds; i++) decoder 620 drivers/media/i2c/tvp514x.c if (std_id & decoder->std_list[i].standard.id) decoder 623 drivers/media/i2c/tvp514x.c if ((i == decoder->num_stds) || (i == STD_INVALID)) decoder 627 drivers/media/i2c/tvp514x.c decoder->std_list[i].video_std); decoder 631 drivers/media/i2c/tvp514x.c decoder->current_std = i; decoder 632 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_VIDEO_STD].val = decoder 633 drivers/media/i2c/tvp514x.c decoder->std_list[i].video_std; decoder 636 drivers/media/i2c/tvp514x.c decoder->std_list[i].standard.name); decoder 654 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 678 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_INPUT_SEL].val = input_sel; decoder 679 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_OUTPUT_FORMATTER1].val = output_sel; decoder 680 drivers/media/i2c/tvp514x.c decoder->input = input; decoder 681 drivers/media/i2c/tvp514x.c decoder->output = output; decoder 698 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 707 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_BRIGHTNESS].val = value; decoder 712 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_CONTRAST].val = value; decoder 717 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_SATURATION].val = value; decoder 726 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_HUE].val = value; decoder 731 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_AFE_GAIN_CTRL].val = value; decoder 751 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 756 drivers/media/i2c/tvp514x.c current_std = decoder->current_std; decoder 759 drivers/media/i2c/tvp514x.c decoder->std_list[current_std].standard.frameperiod; decoder 776 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 784 drivers/media/i2c/tvp514x.c current_std = decoder->current_std; decoder 787 drivers/media/i2c/tvp514x.c decoder->std_list[current_std].standard.frameperiod; decoder 802 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 804 drivers/media/i2c/tvp514x.c if (decoder->streaming == enable) decoder 816 drivers/media/i2c/tvp514x.c decoder->streaming = enable; decoder 822 drivers/media/i2c/tvp514x.c err = tvp514x_write_regs(sd, decoder->int_seq); decoder 828 drivers/media/i2c/tvp514x.c err = tvp514x_detect(sd, decoder); decoder 833 drivers/media/i2c/tvp514x.c err = tvp514x_configure(sd, decoder); decoder 838 drivers/media/i2c/tvp514x.c decoder->streaming = enable; decoder 892 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 899 drivers/media/i2c/tvp514x.c format->format = decoder->format; decoder 904 drivers/media/i2c/tvp514x.c format->format.width = tvp514x_std_list[decoder->current_std].width; decoder 905 drivers/media/i2c/tvp514x.c format->format.height = tvp514x_std_list[decoder->current_std].height; decoder 924 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 929 drivers/media/i2c/tvp514x.c fmt->format.width != tvp514x_std_list[decoder->current_std].width || decoder 930 drivers/media/i2c/tvp514x.c fmt->format.height != tvp514x_std_list[decoder->current_std].height) decoder 933 drivers/media/i2c/tvp514x.c decoder->format = fmt->format; decoder 1029 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder; decoder 1042 drivers/media/i2c/tvp514x.c decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); decoder 1043 drivers/media/i2c/tvp514x.c if (!decoder) decoder 1047 drivers/media/i2c/tvp514x.c *decoder = tvp514x_dev; decoder 1049 drivers/media/i2c/tvp514x.c memcpy(decoder->tvp514x_regs, tvp514x_reg_list_default, decoder 1052 drivers/media/i2c/tvp514x.c decoder->int_seq = (struct tvp514x_reg *)id->driver_data; decoder 1055 drivers/media/i2c/tvp514x.c decoder->pdata = pdata; decoder 1062 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_OUTPUT_FORMATTER2].val |= decoder 1063 drivers/media/i2c/tvp514x.c (decoder->pdata->clk_polarity << 1); decoder 1064 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_SYNC_CONTROL].val |= decoder 1065 drivers/media/i2c/tvp514x.c ((decoder->pdata->hs_polarity << 2) | decoder 1066 drivers/media/i2c/tvp514x.c (decoder->pdata->vs_polarity << 3)); decoder 1068 drivers/media/i2c/tvp514x.c decoder->tvp514x_regs[REG_VIDEO_STD].val = decoder 1072 drivers/media/i2c/tvp514x.c sd = &decoder->sd; decoder 1076 drivers/media/i2c/tvp514x.c decoder->pad.flags = MEDIA_PAD_FL_SOURCE; decoder 1077 drivers/media/i2c/tvp514x.c decoder->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; decoder 1078 drivers/media/i2c/tvp514x.c decoder->sd.entity.function = MEDIA_ENT_F_ATV_DECODER; decoder 1080 drivers/media/i2c/tvp514x.c ret = media_entity_pads_init(&decoder->sd.entity, 1, &decoder->pad); decoder 1087 drivers/media/i2c/tvp514x.c v4l2_ctrl_handler_init(&decoder->hdl, 5); decoder 1088 drivers/media/i2c/tvp514x.c v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops, decoder 1090 drivers/media/i2c/tvp514x.c v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops, decoder 1092 drivers/media/i2c/tvp514x.c v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops, decoder 1094 drivers/media/i2c/tvp514x.c v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops, decoder 1096 drivers/media/i2c/tvp514x.c v4l2_ctrl_new_std(&decoder->hdl, &tvp514x_ctrl_ops, decoder 1098 drivers/media/i2c/tvp514x.c sd->ctrl_handler = &decoder->hdl; decoder 1099 drivers/media/i2c/tvp514x.c if (decoder->hdl.error) { decoder 1100 drivers/media/i2c/tvp514x.c ret = decoder->hdl.error; decoder 1103 drivers/media/i2c/tvp514x.c v4l2_ctrl_handler_setup(&decoder->hdl); decoder 1105 drivers/media/i2c/tvp514x.c ret = v4l2_async_register_subdev(&decoder->sd); decoder 1111 drivers/media/i2c/tvp514x.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 1112 drivers/media/i2c/tvp514x.c media_entity_cleanup(&decoder->sd.entity); decoder 1127 drivers/media/i2c/tvp514x.c struct tvp514x_decoder *decoder = to_decoder(sd); decoder 1129 drivers/media/i2c/tvp514x.c v4l2_async_unregister_subdev(&decoder->sd); decoder 1130 drivers/media/i2c/tvp514x.c media_entity_cleanup(&decoder->sd.entity); decoder 1131 drivers/media/i2c/tvp514x.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 90 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 93 drivers/media/i2c/tvp5150.c ret = regmap_read(decoder->regmap, addr, &val); decoder 262 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 267 drivers/media/i2c/tvp5150.c if ((decoder->dev_id == 0x5150 && decoder->rom_ver == 0x0400) || decoder 268 drivers/media/i2c/tvp5150.c (decoder->dev_id == 0x5151 && decoder->rom_ver == 0x0100)) { decoder 269 drivers/media/i2c/tvp5150.c if (!decoder->enable) decoder 273 drivers/media/i2c/tvp5150.c switch (decoder->input) { decoder 286 drivers/media/i2c/tvp5150.c decoder->input, decoder->output, decoder 289 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_OP_MODE_CTL, opmode); decoder 290 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_VD_IN_SRC_SEL_1, input); decoder 300 drivers/media/i2c/tvp5150.c if (decoder->input == TVP5150_SVIDEO) decoder 304 drivers/media/i2c/tvp5150.c regmap_update_bits(decoder->regmap, TVP5150_MISC_CTL, mask, val); decoder 577 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 580 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, regs->reg, regs->value); decoder 588 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 589 drivers/media/i2c/tvp5150.c struct regmap *map = decoder->regmap; decoder 659 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 660 drivers/media/i2c/tvp5150.c v4l2_std_id std = decoder->norm; decoder 692 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, reg, type); decoder 695 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, reg + 1, type); decoder 702 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 703 drivers/media/i2c/tvp5150.c v4l2_std_id std = decoder->norm; decoder 738 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 760 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_VIDEO_STD, fmt); decoder 766 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 768 drivers/media/i2c/tvp5150.c *std = decoder->norm; decoder 775 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 777 drivers/media/i2c/tvp5150.c if (decoder->norm == std) decoder 782 drivers/media/i2c/tvp5150.c decoder->rect.height = TVP5150_V_MAX_525_60; decoder 784 drivers/media/i2c/tvp5150.c decoder->rect.height = TVP5150_V_MAX_OTHERS; decoder 786 drivers/media/i2c/tvp5150.c decoder->norm = std; decoder 815 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 818 drivers/media/i2c/tvp5150.c if (decoder->irq) decoder 819 drivers/media/i2c/tvp5150.c return decoder->lock; decoder 821 drivers/media/i2c/tvp5150.c regmap_read(decoder->regmap, TVP5150_STATUS_REG_1, &status); decoder 841 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = dev_id; decoder 842 drivers/media/i2c/tvp5150.c struct regmap *map = decoder->regmap; decoder 853 drivers/media/i2c/tvp5150.c decoder->lock = !!(status & TVP5150_INT_A_LOCK_STATUS); decoder 854 drivers/media/i2c/tvp5150.c dev_dbg_lvl(decoder->sd.dev, 1, debug, decoder 856 drivers/media/i2c/tvp5150.c decoder->lock ? "ck" : "ss"); decoder 857 drivers/media/i2c/tvp5150.c v4l2_subdev_notify_event(&decoder->sd, &tvp5150_ev_fmt); decoder 859 drivers/media/i2c/tvp5150.c decoder->lock ? decoder->oe : 0); decoder 878 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 879 drivers/media/i2c/tvp5150.c struct regmap *map = decoder->regmap; decoder 884 drivers/media/i2c/tvp5150.c if (decoder->irq) { decoder 905 drivers/media/i2c/tvp5150.c v4l2_ctrl_handler_setup(&decoder->hdl); decoder 912 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 918 drivers/media/i2c/tvp5150.c if (decoder->norm == V4L2_STD_ALL) decoder 921 drivers/media/i2c/tvp5150.c std = decoder->norm; decoder 930 drivers/media/i2c/tvp5150.c switch (decoder->mbus_type) { decoder 933 drivers/media/i2c/tvp5150.c regmap_update_bits(decoder->regmap, TVP5150_DATA_RATE_SEL, decoder 935 drivers/media/i2c/tvp5150.c decoder->oe = TVP5150_MISC_CTL_YCBCR_OE | decoder 940 drivers/media/i2c/tvp5150.c decoder->oe = TVP5150_MISC_CTL_YCBCR_OE | decoder 953 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 957 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_BRIGHT_CTL, ctrl->val); decoder 960 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_CONTRAST_CTL, ctrl->val); decoder 963 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_SATURATION_CTL, decoder 967 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_HUE_CTL, ctrl->val); decoder 970 drivers/media/i2c/tvp5150.c decoder->enable = ctrl->val ? false : true; decoder 994 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1001 drivers/media/i2c/tvp5150.c f->width = decoder->rect.width; decoder 1002 drivers/media/i2c/tvp5150.c f->height = decoder->rect.height / 2; decoder 1017 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1034 drivers/media/i2c/tvp5150.c if (decoder->norm == V4L2_STD_ALL) decoder 1037 drivers/media/i2c/tvp5150.c std = decoder->norm; decoder 1055 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_START, rect.top); decoder 1056 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_STOP, decoder 1058 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_ST_MSB, decoder 1060 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_ST_LSB, decoder 1062 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_STP_MSB, decoder 1065 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_ACT_VD_CROP_STP_LSB, decoder 1068 drivers/media/i2c/tvp5150.c decoder->rect = rect; decoder 1077 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = container_of(sd, struct tvp5150, sd); decoder 1090 drivers/media/i2c/tvp5150.c if (decoder->norm == V4L2_STD_ALL) decoder 1093 drivers/media/i2c/tvp5150.c std = decoder->norm; decoder 1100 drivers/media/i2c/tvp5150.c sel->r = decoder->rect; decoder 1110 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1112 drivers/media/i2c/tvp5150.c cfg->type = decoder->mbus_type; decoder 1125 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1132 drivers/media/i2c/tvp5150.c if (decoder->norm == V4L2_STD_ALL) { decoder 1134 drivers/media/i2c/tvp5150.c if (std != decoder->detected_norm) { decoder 1135 drivers/media/i2c/tvp5150.c decoder->detected_norm = std; decoder 1136 drivers/media/i2c/tvp5150.c tvp5150_set_default(std, &decoder->rect); decoder 1158 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1164 drivers/media/i2c/tvp5150.c fse->min_width = decoder->rect.width; decoder 1165 drivers/media/i2c/tvp5150.c fse->max_width = decoder->rect.width; decoder 1166 drivers/media/i2c/tvp5150.c fse->min_height = decoder->rect.height / 2; decoder 1167 drivers/media/i2c/tvp5150.c fse->max_height = decoder->rect.height / 2; decoder 1182 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1186 drivers/media/i2c/tvp5150.c if (remote->entity == &decoder->input_ent[i]) decoder 1194 drivers/media/i2c/tvp5150.c decoder->input = i; decoder 1212 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1222 drivers/media/i2c/tvp5150.c if (decoder->irq) decoder 1223 drivers/media/i2c/tvp5150.c val = decoder->lock ? decoder->oe : 0; decoder 1225 drivers/media/i2c/tvp5150.c val = decoder->oe; decoder 1227 drivers/media/i2c/tvp5150.c v4l2_subdev_notify_event(&decoder->sd, &tvp5150_ev_fmt); decoder 1230 drivers/media/i2c/tvp5150.c regmap_update_bits(decoder->regmap, TVP5150_MISC_CTL, mask, val); decoder 1231 drivers/media/i2c/tvp5150.c if (decoder->irq) decoder 1233 drivers/media/i2c/tvp5150.c regmap_update_bits(decoder->regmap, TVP5150_INT_ENABLE_REG_A, decoder 1242 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1244 drivers/media/i2c/tvp5150.c decoder->input = input; decoder 1245 drivers/media/i2c/tvp5150.c decoder->output = output; decoder 1248 drivers/media/i2c/tvp5150.c decoder->enable = false; decoder 1250 drivers/media/i2c/tvp5150.c decoder->enable = true; decoder 1258 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1269 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_LUMA_PROC_CTL_1, 0x70); decoder 1271 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_START, decoder 1273 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_VERT_BLANKING_STOP, 0x01); decoder 1280 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1291 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_FIFO_OUT_CTRL, 1); decoder 1294 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_FIFO_OUT_CTRL, 0); decoder 1297 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, TVP5150_FULL_FIELD_ENA, 0); decoder 1301 drivers/media/i2c/tvp5150.c regmap_write(decoder->regmap, i, 0xff); decoder 1339 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1341 drivers/media/i2c/tvp5150.c return regmap_write(decoder->regmap, reg->reg & 0xff, reg->val & 0xff); decoder 1356 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1361 drivers/media/i2c/tvp5150.c struct media_entity *input = &decoder->input_ent[i]; decoder 1362 drivers/media/i2c/tvp5150.c struct media_pad *pad = &decoder->input_pad[i]; decoder 1367 drivers/media/i2c/tvp5150.c decoder->input_pad[i].flags = MEDIA_PAD_FL_SOURCE; decoder 1594 drivers/media/i2c/tvp5150.c static int tvp5150_parse_dt(struct tvp5150 *decoder, struct device_node *np) decoder 1625 drivers/media/i2c/tvp5150.c decoder->mbus_type = bus_cfg.bus_type; decoder 1636 drivers/media/i2c/tvp5150.c dev_err(decoder->sd.dev, decoder 1649 drivers/media/i2c/tvp5150.c input = &decoder->input_ent[input_type]; decoder 1653 drivers/media/i2c/tvp5150.c dev_err(decoder->sd.dev, decoder 1675 drivers/media/i2c/tvp5150.c dev_err(decoder->sd.dev, decoder 1815 drivers/media/i2c/tvp5150.c struct tvp5150 *decoder = to_tvp5150(sd); decoder 1822 drivers/media/i2c/tvp5150.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 59 drivers/media/i2c/vpx3220.c struct vpx3220 *decoder = i2c_get_clientdata(client); decoder 61 drivers/media/i2c/vpx3220.c decoder->reg[reg] = value; decoder 267 drivers/media/i2c/vpx3220.c struct vpx3220 *decoder = to_vpx3220(sd); decoder 271 drivers/media/i2c/vpx3220.c if (decoder->norm & V4L2_STD_NTSC) decoder 273 drivers/media/i2c/vpx3220.c else if (decoder->norm & V4L2_STD_PAL) decoder 275 drivers/media/i2c/vpx3220.c else if (decoder->norm & V4L2_STD_SECAM) decoder 339 drivers/media/i2c/vpx3220.c struct vpx3220 *decoder = to_vpx3220(sd); decoder 361 drivers/media/i2c/vpx3220.c decoder->norm = std; decoder 462 drivers/media/i2c/vpx3220.c struct vpx3220 *decoder; decoder 473 drivers/media/i2c/vpx3220.c decoder = devm_kzalloc(&client->dev, sizeof(*decoder), GFP_KERNEL); decoder 474 drivers/media/i2c/vpx3220.c if (decoder == NULL) decoder 476 drivers/media/i2c/vpx3220.c sd = &decoder->sd; decoder 478 drivers/media/i2c/vpx3220.c decoder->norm = V4L2_STD_PAL; decoder 479 drivers/media/i2c/vpx3220.c decoder->input = 0; decoder 480 drivers/media/i2c/vpx3220.c decoder->enable = 1; decoder 481 drivers/media/i2c/vpx3220.c v4l2_ctrl_handler_init(&decoder->hdl, 4); decoder 482 drivers/media/i2c/vpx3220.c v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops, decoder 484 drivers/media/i2c/vpx3220.c v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops, decoder 486 drivers/media/i2c/vpx3220.c v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops, decoder 488 drivers/media/i2c/vpx3220.c v4l2_ctrl_new_std(&decoder->hdl, &vpx3220_ctrl_ops, decoder 490 drivers/media/i2c/vpx3220.c sd->ctrl_handler = &decoder->hdl; decoder 491 drivers/media/i2c/vpx3220.c if (decoder->hdl.error) { decoder 492 drivers/media/i2c/vpx3220.c int err = decoder->hdl.error; decoder 494 drivers/media/i2c/vpx3220.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 497 drivers/media/i2c/vpx3220.c v4l2_ctrl_handler_setup(&decoder->hdl); decoder 532 drivers/media/i2c/vpx3220.c struct vpx3220 *decoder = to_vpx3220(sd); decoder 535 drivers/media/i2c/vpx3220.c v4l2_ctrl_handler_free(&decoder->hdl); decoder 409 drivers/media/pci/cx25821/cx25821-medusa-video.c int decoder = 0; decoder 423 drivers/media/pci/cx25821/cx25821-medusa-video.c decoder = decoder_select; decoder 426 drivers/media/pci/cx25821/cx25821-medusa-video.c decoder = 0; decoder 457 drivers/media/pci/cx25821/cx25821-medusa-video.c for (; decoder < decoder_count; decoder++) { decoder 460 drivers/media/pci/cx25821/cx25821-medusa-video.c HSCALE_CTRL + (0x200 * decoder), hscale); decoder 462 drivers/media/pci/cx25821/cx25821-medusa-video.c VSCALE_CTRL + (0x200 * decoder), vscale); decoder 466 drivers/media/pci/cx25821/cx25821-medusa-video.c static void medusa_set_decoderduration(struct cx25821_dev *dev, int decoder, decoder 474 drivers/media/pci/cx25821/cx25821-medusa-video.c if (decoder < VDEC_A || decoder > VDEC_H) { decoder 478 drivers/media/pci/cx25821/cx25821-medusa-video.c switch (decoder) { decoder 498 drivers/media/pci/cx25821/cx25821-medusa-video.c if (!(decoder % 2)) { /* EVEN decoder */ decoder 551 drivers/media/pci/cx25821/cx25821-medusa-video.c int medusa_set_brightness(struct cx25821_dev *dev, int brightness, int decoder) decoder 565 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_BRITE_CTRL + (0x200 * decoder), &tmp); decoder 568 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_BRITE_CTRL + (0x200 * decoder), val | value); decoder 572 drivers/media/pci/cx25821/cx25821-medusa-video.c int medusa_set_contrast(struct cx25821_dev *dev, int contrast, int decoder) decoder 585 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_CNTRST_CTRL + (0x200 * decoder), &tmp); decoder 588 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_CNTRST_CTRL + (0x200 * decoder), val | value); decoder 593 drivers/media/pci/cx25821/cx25821-medusa-video.c int medusa_set_hue(struct cx25821_dev *dev, int hue, int decoder) decoder 608 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_HUE_CTRL + (0x200 * decoder), &tmp); decoder 612 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_HUE_CTRL + (0x200 * decoder), val | value); decoder 617 drivers/media/pci/cx25821/cx25821-medusa-video.c int medusa_set_saturation(struct cx25821_dev *dev, int saturation, int decoder) decoder 632 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_USAT_CTRL + (0x200 * decoder), &tmp); decoder 635 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_USAT_CTRL + (0x200 * decoder), val | value); decoder 638 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_VSAT_CTRL + (0x200 * decoder), &tmp); decoder 641 drivers/media/pci/cx25821/cx25821-medusa-video.c VDEC_A_VSAT_CTRL + (0x200 * decoder), val | value); decoder 384 drivers/media/pci/cx25821/cx25821.h int decoder); decoder 386 drivers/media/pci/cx25821/cx25821.h int decoder); decoder 387 drivers/media/pci/cx25821/cx25821.h extern int medusa_set_hue(struct cx25821_dev *dev, int hue, int decoder); decoder 389 drivers/media/pci/cx25821/cx25821.h int decoder); decoder 823 drivers/media/pci/saa7134/saa7134-core.c struct media_entity *decoder = NULL; decoder 828 drivers/media/pci/saa7134/saa7134-core.c decoder = entity; decoder 837 drivers/media/pci/saa7134/saa7134-core.c if (!decoder) { decoder 854 drivers/media/pci/saa7134/saa7134-core.c dev->decoder = &dev->demod; decoder 856 drivers/media/pci/saa7134/saa7134-core.c dev->decoder = decoder; decoder 773 drivers/media/pci/saa7134/saa7134-video.c if (!mdev || !dev->decoder) decoder 783 drivers/media/pci/saa7134/saa7134-video.c list_for_each_entry(link, &dev->decoder->links, list) { decoder 784 drivers/media/pci/saa7134/saa7134-video.c if (link->sink->entity == dev->decoder) { decoder 802 drivers/media/pci/saa7134/saa7134-video.c if (sink == dev->decoder) decoder 674 drivers/media/pci/saa7134/saa7134.h struct media_entity *decoder; decoder 118 drivers/media/pci/sta2x11/sta2x11_vip.c struct v4l2_subdev *decoder; decoder 436 drivers/media/pci/sta2x11/sta2x11_vip.c v4l2_subdev_call(vip->decoder, video, querystd, &std); decoder 449 drivers/media/pci/sta2x11/sta2x11_vip.c return v4l2_subdev_call(vip->decoder, video, s_std, std); decoder 484 drivers/media/pci/sta2x11/sta2x11_vip.c return v4l2_subdev_call(vip->decoder, video, querystd, std); decoder 519 drivers/media/pci/sta2x11/sta2x11_vip.c ret = v4l2_subdev_call(vip->decoder, video, s_routing, i, 0, 0); decoder 1084 drivers/media/pci/sta2x11/sta2x11_vip.c vip->decoder = v4l2_i2c_new_subdev(&vip->v4l2_dev, vip->adapter, decoder 1087 drivers/media/pci/sta2x11/sta2x11_vip.c if (!vip->decoder) { decoder 1094 drivers/media/pci/sta2x11/sta2x11_vip.c v4l2_subdev_call(vip->decoder, core, init, 0); decoder 151 drivers/media/platform/fsl-viu.c struct v4l2_subdev *decoder; decoder 896 drivers/media/platform/fsl-viu.c v4l2_subdev_call(viu->decoder, o, f, ##args) decoder 1460 drivers/media/platform/fsl-viu.c viu_dev->decoder = v4l2_i2c_new_subdev(&viu_dev->v4l2_dev, ad, decoder 317 drivers/media/rc/img-ir/img-ir-hw.c static void img_ir_decoder_preprocess(struct img_ir_decoder *decoder) decoder 320 drivers/media/rc/img-ir/img-ir-hw.c if (!decoder->tolerance) decoder 321 drivers/media/rc/img-ir/img-ir-hw.c decoder->tolerance = 10; /* percent */ decoder 323 drivers/media/rc/img-ir/img-ir-hw.c decoder->tolerance = decoder->tolerance * 128 / 100; decoder 326 drivers/media/rc/img-ir/img-ir-hw.c img_ir_timings_preprocess(&decoder->timings, decoder->unit); decoder 329 drivers/media/rc/img-ir/img-ir-hw.c if (decoder->repeat) { decoder 330 drivers/media/rc/img-ir/img-ir-hw.c img_ir_timings_preprocess(&decoder->rtimings, decoder->unit); decoder 331 drivers/media/rc/img-ir/img-ir-hw.c img_ir_timings_defaults(&decoder->rtimings, &decoder->timings); decoder 344 drivers/media/rc/img-ir/img-ir-hw.c static void img_ir_decoder_convert(const struct img_ir_decoder *decoder, decoder 349 drivers/media/rc/img-ir/img-ir-hw.c reg_timings->ctrl = img_ir_control(&decoder->control); decoder 352 drivers/media/rc/img-ir/img-ir-hw.c img_ir_timings_convert(®_timings->timings, &decoder->timings, decoder 353 drivers/media/rc/img-ir/img-ir-hw.c decoder->tolerance, clock_hz); decoder 356 drivers/media/rc/img-ir/img-ir-hw.c if (decoder->repeat) decoder 358 drivers/media/rc/img-ir/img-ir-hw.c &decoder->rtimings, decoder->tolerance, decoder 479 drivers/media/rc/img-ir/img-ir-hw.c if (!hw->decoder || !hw->decoder->filter) { decoder 489 drivers/media/rc/img-ir/img-ir-hw.c ret = hw->decoder->filter(sc_filter, &filter, decoder 493 drivers/media/rc/img-ir/img-ir-hw.c ret = hw->decoder->filter(sc_filter, &filter, decoder 540 drivers/media/rc/img-ir/img-ir-hw.c const struct img_ir_decoder *decoder, decoder 598 drivers/media/rc/img-ir/img-ir-hw.c hw->decoder = decoder; decoder 599 drivers/media/rc/img-ir/img-ir-hw.c if (!decoder) decoder 604 drivers/media/rc/img-ir/img-ir-hw.c proto = decoder->type; decoder 608 drivers/media/rc/img-ir/img-ir-hw.c img_ir_decoder_convert(decoder, &hw->reg_timings, hw->clk_hz); decoder 690 drivers/media/rc/img-ir/img-ir-hw.c if (!hw->decoder || !hw->decoder->filter) decoder 818 drivers/media/rc/img-ir/img-ir-hw.c const struct img_ir_decoder *dec = hw->decoder; decoder 912 drivers/media/rc/img-ir/img-ir-hw.c if (hw->decoder) { decoder 913 drivers/media/rc/img-ir/img-ir-hw.c img_ir_decoder_convert(hw->decoder, &hw->reg_timings, decoder 960 drivers/media/rc/img-ir/img-ir-hw.c if (!hw->decoder) decoder 963 drivers/media/rc/img-ir/img-ir-hw.c ct = hw->decoder->control.code_type; decoder 238 drivers/media/rc/img-ir/img-ir-hw.h const struct img_ir_decoder *decoder; decoder 216 drivers/media/usb/au0828/au0828-core.c struct media_entity *entity, *mixer = NULL, *decoder = NULL; decoder 228 drivers/media/usb/au0828/au0828-core.c decoder = entity; decoder 236 drivers/media/usb/au0828/au0828-core.c if (dev->decoder) decoder 237 drivers/media/usb/au0828/au0828-core.c decoder = dev->decoder; decoder 245 drivers/media/usb/au0828/au0828-core.c decoder = new; decoder 252 drivers/media/usb/au0828/au0828-core.c if (decoder && mixer) { decoder 253 drivers/media/usb/au0828/au0828-core.c ret = media_get_pad_index(decoder, false, decoder 256 drivers/media/usb/au0828/au0828-core.c ret = media_create_pad_link(decoder, ret, decoder 319 drivers/media/usb/au0828/au0828-core.c if (!dev->decoder) { decoder 324 drivers/media/usb/au0828/au0828-core.c sink = dev->decoder; decoder 609 drivers/media/usb/au0828/au0828-core.c dev->decoder = entity; decoder 622 drivers/media/usb/au0828/au0828-core.c if (dev->decoder && link->sink->entity == dev->decoder) decoder 271 drivers/media/usb/au0828/au0828.h struct media_entity *decoder; decoder 88 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 128 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 168 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 209 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 244 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 280 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 308 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 336 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 370 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 397 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 435 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 473 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 511 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 540 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 569 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 604 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 634 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 660 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 697 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 736 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 775 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 809 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 838 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 863 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 890 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 921 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 960 drivers/media/usb/cx231xx/cx231xx-cards.c .decoder = CX231XX_AVDECODER, decoder 1260 drivers/media/usb/cx231xx/cx231xx-cards.c if (dev->board.decoder == CX231XX_AVDECODER) { decoder 94 drivers/media/usb/cx231xx/cx231xx-video.c struct media_entity *entity, *decoder = NULL, *source; decoder 110 drivers/media/usb/cx231xx/cx231xx-video.c decoder = entity; decoder 114 drivers/media/usb/cx231xx/cx231xx-video.c if (!decoder) decoder 117 drivers/media/usb/cx231xx/cx231xx-video.c list_for_each_entry(link, &decoder->links, list) { decoder 118 drivers/media/usb/cx231xx/cx231xx-video.c if (link->sink->entity == decoder) { decoder 368 drivers/media/usb/cx231xx/cx231xx.h enum cx231xx_decoder decoder; decoder 667 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 688 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 711 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 726 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 746 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 766 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 787 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 806 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 826 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 846 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 866 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 890 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 939 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 958 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 983 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1000 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1020 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1041 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1065 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1083 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1101 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1118 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1188 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1292 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1319 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1345 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1371 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1397 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1423 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1445 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1476 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1501 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1522 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1540 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1556 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1574 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1594 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1612 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1628 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1647 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1670 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1691 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1718 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1741 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1763 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1785 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1809 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 1845 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1868 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1890 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1918 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1940 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1965 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 1991 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 2006 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 2038 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 2059 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 2085 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 2101 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 2120 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 2138 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 2157 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 2174 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 2254 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_SAA711X, decoder 2362 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_NODECODER, decoder 2417 drivers/media/usb/em28xx/em28xx-cards.c .decoder = EM28XX_TVP5150, decoder 3884 drivers/media/usb/em28xx/em28xx-cards.c dev->board.decoder == EM28XX_NODECODER && decoder 914 drivers/media/usb/em28xx/em28xx-video.c if (!mdev || !v4l2->decoder) decoder 924 drivers/media/usb/em28xx/em28xx-video.c list_for_each_entry(link, &v4l2->decoder->links, list) { decoder 925 drivers/media/usb/em28xx/em28xx-video.c if (link->sink->entity == v4l2->decoder) { decoder 943 drivers/media/usb/em28xx/em28xx-video.c if (sink == v4l2->decoder) decoder 2582 drivers/media/usb/em28xx/em28xx-video.c if (dev->board.decoder == EM28XX_SAA711X) decoder 2587 drivers/media/usb/em28xx/em28xx-video.c if (dev->board.decoder == EM28XX_TVP5150) decoder 507 drivers/media/usb/em28xx/em28xx.h enum em28xx_decoder decoder; decoder 601 drivers/media/usb/em28xx/em28xx.h struct media_entity *decoder; decoder 27 drivers/media/v4l2-core/v4l2-mc.c struct media_entity *tuner = NULL, *decoder = NULL; decoder 48 drivers/media/v4l2-core/v4l2-mc.c decoder = entity; decoder 95 drivers/media/v4l2-core/v4l2-mc.c if (!decoder) decoder 100 drivers/media/v4l2-core/v4l2-mc.c if (!decoder) { decoder 127 drivers/media/v4l2-core/v4l2-mc.c pad_sink = media_get_pad_index(decoder, true, decoder 135 drivers/media/v4l2-core/v4l2-mc.c decoder, pad_sink, decoder 144 drivers/media/v4l2-core/v4l2-mc.c pad_sink = media_get_pad_index(decoder, true, decoder 152 drivers/media/v4l2-core/v4l2-mc.c decoder, pad_sink, decoder 183 drivers/media/v4l2-core/v4l2-mc.c pad_source = media_get_pad_index(decoder, false, PAD_SIGNAL_DV); decoder 188 drivers/media/v4l2-core/v4l2-mc.c ret = media_create_pad_link(decoder, pad_source, decoder 198 drivers/media/v4l2-core/v4l2-mc.c pad_source = media_get_pad_index(decoder, false, PAD_SIGNAL_DV); decoder 203 drivers/media/v4l2-core/v4l2-mc.c ret = media_create_pad_link(decoder, pad_source, decoder 213 drivers/media/v4l2-core/v4l2-mc.c pad_source = media_get_pad_index(decoder, false, PAD_SIGNAL_DV); decoder 218 drivers/media/v4l2-core/v4l2-mc.c ret = media_create_pad_link(decoder, pad_source, decoder 246 drivers/media/v4l2-core/v4l2-mc.c pad_sink = media_get_pad_index(decoder, true, decoder 252 drivers/media/v4l2-core/v4l2-mc.c ret = media_create_pad_link(entity, 0, decoder, decoder 192 drivers/staging/media/hantro/hantro.h struct hantro_func *decoder; decoder 658 drivers/staging/media/hantro/hantro_drv.c vpu->decoder = func; decoder 709 drivers/staging/media/hantro/hantro_drv.c func = vpu->decoder; decoder 15 include/linux/asn1_decoder.h extern int asn1_ber_decoder(const struct asn1_decoder *decoder, decoder 167 lib/asn1_decoder.c int asn1_ber_decoder(const struct asn1_decoder *decoder, decoder 172 lib/asn1_decoder.c const unsigned char *machine = decoder->machine; decoder 173 lib/asn1_decoder.c const asn1_action_t *actions = decoder->actions; decoder 174 lib/asn1_decoder.c size_t machlen = decoder->machlen; decoder 48 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder = (struct cs_etm_decoder *) context; decoder 50 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c return decoder->mem_access(decoder->data, trace_chan_id, decoder 54 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c int cs_etm_decoder__add_mem_access_cb(struct cs_etm_decoder *decoder, decoder 58 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->mem_access = cb_func; decoder 60 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (ocsd_dt_add_callback_trcid_mem_acc(decoder->dcd_tree, start, end, decoder 63 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder)) decoder 69 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c int cs_etm_decoder__reset(struct cs_etm_decoder *decoder) decoder 73 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->prev_return = OCSD_RESP_CONT; decoder 75 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c dp_ret = ocsd_dt_process_data(decoder->dcd_tree, OCSD_OP_RESET, decoder 152 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder) decoder 159 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->packet_printer = d_params->packet_printer; decoder 178 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c ret = ocsd_def_errlog_set_strprint_cb(decoder->dcd_tree, decoder 179 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c (void *)decoder, decoder 190 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder) decoder 205 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c ocsd_def_errlog_set_strprint_cb(decoder->dcd_tree, decoder 206 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c (void *)decoder, decoder 210 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c ocsd_dt_set_raw_frame_printer(decoder->dcd_tree, decoder 218 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder __maybe_unused) decoder 223 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c static int cs_etm_decoder__create_packet_printer(struct cs_etm_decoder *decoder, decoder 229 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (ocsd_dt_create_decoder(decoder->dcd_tree, decoder_name, decoder 234 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (ocsd_dt_set_pkt_protocol_printer(decoder->dcd_tree, csid, 0)) decoder 242 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder) decoder 267 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c return cs_etm_decoder__create_packet_printer(decoder, decoder 529 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder = (struct cs_etm_decoder *) context; decoder 530 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_queue *etmq = decoder->data; decoder 582 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder) decoder 608 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (ocsd_dt_create_decoder(decoder->dcd_tree, decoder 614 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (ocsd_dt_set_gen_elem_outfn(decoder->dcd_tree, decoder 616 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder)) decoder 625 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder) decoder 629 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder); decoder 632 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder); decoder 641 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c struct cs_etm_decoder *decoder; decoder 649 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder = zalloc(sizeof(*decoder)); decoder 651 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (!decoder) decoder 654 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->data = d_params->data; decoder 655 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->prev_return = OCSD_RESP_CONT; decoder 670 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->dcd_tree = ocsd_create_dcd_tree(format, flags); decoder 672 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (decoder->dcd_tree == 0) decoder 676 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c ret = cs_etm_decoder__init_def_logger_printing(d_params, decoder); decoder 681 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cs_etm_decoder__init_raw_frame_logging(d_params, decoder); decoder 686 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder); decoder 691 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c return decoder; decoder 694 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cs_etm_decoder__free(decoder); decoder 698 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c int cs_etm_decoder__process_data_block(struct cs_etm_decoder *decoder, decoder 704 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c ocsd_datapath_resp_t prev_return = decoder->prev_return; decoder 710 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cur = ocsd_dt_process_data(decoder->dcd_tree, decoder 717 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cur = ocsd_dt_process_data(decoder->dcd_tree, decoder 740 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->prev_return = cur; decoder 746 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c void cs_etm_decoder__free(struct cs_etm_decoder *decoder) decoder 748 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c if (!decoder) decoder 751 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c ocsd_destroy_dcd_tree(decoder->dcd_tree); decoder 752 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c decoder->dcd_tree = NULL; decoder 753 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c free(decoder); decoder 76 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h int cs_etm_decoder__process_data_block(struct cs_etm_decoder *decoder, decoder 85 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h void cs_etm_decoder__free(struct cs_etm_decoder *decoder); decoder 87 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h int cs_etm_decoder__add_mem_access_cb(struct cs_etm_decoder *decoder, decoder 94 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h int cs_etm_decoder__reset(struct cs_etm_decoder *decoder); decoder 85 tools/perf/util/cs-etm.c struct cs_etm_decoder *decoder; decoder 459 tools/perf/util/cs-etm.c struct cs_etm_decoder *decoder; decoder 481 tools/perf/util/cs-etm.c decoder = cs_etm_decoder__new(etm->num_cpu, &d_params, t_params); decoder 483 tools/perf/util/cs-etm.c if (!decoder) decoder 489 tools/perf/util/cs-etm.c decoder, buffer->offset, decoder 498 tools/perf/util/cs-etm.c cs_etm_decoder__free(decoder); decoder 572 tools/perf/util/cs-etm.c cs_etm_decoder__free(etmq->decoder); decoder 712 tools/perf/util/cs-etm.c etmq->decoder = cs_etm_decoder__new(etm->num_cpu, &d_params, t_params); decoder 714 tools/perf/util/cs-etm.c if (!etmq->decoder) decoder 721 tools/perf/util/cs-etm.c if (cs_etm_decoder__add_mem_access_cb(etmq->decoder, decoder 730 tools/perf/util/cs-etm.c cs_etm_decoder__free(etmq->decoder); decoder 1544 tools/perf/util/cs-etm.c ret = cs_etm_decoder__reset(etmq->decoder); decoder 1915 tools/perf/util/cs-etm.c ret = cs_etm_decoder__process_data_block(etmq->decoder, decoder 86 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c #define INTEL_PT_STATE_ERR1 (decoder->pkt_state) decoder 202 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_setup_period(struct intel_pt_decoder *decoder) decoder 204 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->period_type == INTEL_PT_PERIOD_TICKS) { decoder 207 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c period = intel_pt_lower_power_of_2(decoder->period); decoder 208 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->period_mask = ~(period - 1); decoder 209 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->period_ticks = period; decoder 222 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c struct intel_pt_decoder *decoder; decoder 227 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder = zalloc(sizeof(struct intel_pt_decoder)); decoder 228 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder) decoder 231 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->get_trace = params->get_trace; decoder 232 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->walk_insn = params->walk_insn; decoder 233 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pgd_ip = params->pgd_ip; decoder 234 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->lookahead = params->lookahead; decoder 235 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->data = params->data; decoder 236 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->return_compression = params->return_compression; decoder 237 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->branch_enable = params->branch_enable; decoder 239 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->flags = params->flags; decoder 241 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->period = params->period; decoder 242 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->period_type = params->period_type; decoder 244 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->max_non_turbo_ratio = params->max_non_turbo_ratio; decoder 245 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->max_non_turbo_ratio_fp = params->max_non_turbo_ratio; decoder 247 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_setup_period(decoder); decoder 249 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->mtc_shift = params->mtc_period; decoder 250 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_rem_mask = (1 << decoder->mtc_shift) - 1; decoder 252 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_n = params->tsc_ctc_ratio_n; decoder 253 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_d = params->tsc_ctc_ratio_d; decoder 255 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->tsc_ctc_ratio_n) decoder 256 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_d = 0; decoder 258 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tsc_ctc_ratio_d) { decoder 259 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!(decoder->tsc_ctc_ratio_n % decoder->tsc_ctc_ratio_d)) decoder 260 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_mult = decoder->tsc_ctc_ratio_n / decoder 261 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_d; decoder 270 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_slip = 0x10000; decoder 272 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log("timestamp: mtc_shift %u\n", decoder->mtc_shift); decoder 273 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log("timestamp: tsc_ctc_ratio_n %u\n", decoder->tsc_ctc_ratio_n); decoder 274 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log("timestamp: tsc_ctc_ratio_d %u\n", decoder->tsc_ctc_ratio_d); decoder 275 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log("timestamp: tsc_ctc_mult %u\n", decoder->tsc_ctc_mult); decoder 276 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log("timestamp: tsc_slip %#x\n", decoder->tsc_slip); decoder 278 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return decoder; decoder 352 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c void intel_pt_decoder_free(struct intel_pt_decoder *decoder) decoder 354 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_free_stack(&decoder->stack); decoder 355 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c free(decoder); decoder 439 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_set_last_ip(struct intel_pt_decoder *decoder) decoder 441 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_ip = intel_pt_calc_ip(&decoder->packet, decoder->last_ip); decoder 442 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_last_ip = true; decoder 445 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_set_ip(struct intel_pt_decoder *decoder) decoder 447 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_last_ip(decoder); decoder 448 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = decoder->last_ip; decoder 451 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_decoder_log_packet(struct intel_pt_decoder *decoder) decoder 453 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log_packet(&decoder->packet, decoder->pkt_len, decoder->pos, decoder 454 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf); decoder 457 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_bug(struct intel_pt_decoder *decoder) decoder 460 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_NO_PSB; decoder 464 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_clear_tx_flags(struct intel_pt_decoder *decoder) decoder 466 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tx_flags = 0; decoder 469 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_update_in_tx(struct intel_pt_decoder *decoder) decoder 471 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tx_flags = decoder->packet.payload & INTEL_PT_IN_TX; decoder 474 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_bad_packet(struct intel_pt_decoder *decoder) decoder 476 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_tx_flags(decoder); decoder 477 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = false; decoder 478 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_len = 1; decoder 479 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_step = 1; decoder 480 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_decoder_log_packet(decoder); decoder 481 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->pkt_state != INTEL_PT_STATE_NO_PSB) { decoder 483 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR1; decoder 488 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_update_sample_time(struct intel_pt_decoder *decoder) decoder 490 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_timestamp = decoder->timestamp; decoder 491 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_insn_cnt = decoder->timestamp_insn_cnt; decoder 494 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_reposition(struct intel_pt_decoder *decoder) decoder 496 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = 0; decoder 497 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_NO_PSB; decoder 498 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp = 0; decoder 499 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = false; decoder 502 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_get_data(struct intel_pt_decoder *decoder, bool reposition) decoder 507 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_step = 0; decoder 510 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = decoder->get_trace(&buffer, decoder->data); decoder 513 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf = buffer.buf; decoder 514 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = buffer.len; decoder 515 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->len) { decoder 519 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf_timestamp = buffer.ref_timestamp; decoder 521 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_reposition(decoder); decoder 522 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ref_timestamp = buffer.ref_timestamp; decoder 523 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.trace_nr = buffer.trace_nr; decoder 525 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ref_timestamp); decoder 532 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_get_next_data(struct intel_pt_decoder *decoder, decoder 535 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->next_buf) decoder 536 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_get_data(decoder, reposition); decoder 538 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf = decoder->next_buf; decoder 539 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = decoder->next_len; decoder 540 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_buf = 0; decoder 541 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_len = 0; decoder 545 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_get_split_packet(struct intel_pt_decoder *decoder) decoder 547 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c unsigned char *buf = decoder->temp_buf; decoder 551 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c old_len = decoder->len; decoder 552 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c len = decoder->len; decoder 553 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c memcpy(buf, decoder->buf, len); decoder 555 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_data(decoder, false); decoder 557 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos += old_len; decoder 562 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (n > decoder->len) decoder 563 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c n = decoder->len; decoder 564 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c memcpy(buf + len, decoder->buf, n); decoder 567 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->prev_pkt_ctx = decoder->pkt_ctx; decoder 568 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_packet(buf, len, &decoder->packet, &decoder->pkt_ctx); decoder 570 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_buf = decoder->buf; decoder 571 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_len = decoder->len; decoder 572 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf = buf; decoder 573 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = old_len; decoder 574 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bad_packet(decoder); decoder 577 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_buf = decoder->buf + (ret - old_len); decoder 578 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_len = decoder->len - (ret - old_len); decoder 580 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf = buf; decoder 581 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = ret; decoder 587 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c struct intel_pt_decoder *decoder; decoder 598 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_pkt_lookahead(struct intel_pt_decoder *decoder, decoder 602 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c const unsigned char *buf = decoder->buf; decoder 603 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c enum intel_pt_pkt_ctx pkt_ctx = decoder->pkt_ctx; decoder 604 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c size_t len = decoder->len; decoder 607 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c pkt_info.decoder = decoder; decoder 608 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c pkt_info.pos = decoder->pos; decoder 609 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c pkt_info.pkt_len = decoder->pkt_step; decoder 610 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c pkt_info.last_packet_type = decoder->last_packet_type; decoder 676 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c struct intel_pt_decoder *decoder = pkt_info->decoder; decoder 709 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->mtc_shift > 8 && data->fixup_last_mtc) { decoder 711 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_fixup_last_mtc(mtc, decoder->mtc_shift, decoder 718 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->ctc_delta += mtc_delta << decoder->mtc_shift; decoder 721 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tsc_ctc_mult) { decoder 723 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->ctc_delta * decoder->tsc_ctc_mult; decoder 727 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_n, decoder 728 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_d); decoder 751 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->timestamp - timestamp < decoder->tsc_slip) decoder 768 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->tsc_ctc_ratio_d) decoder 773 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ctc_rem = ctc & decoder->ctc_rem_mask; decoder 775 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->last_mtc = (ctc >> decoder->mtc_shift) & 0xff; decoder 778 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tsc_ctc_mult) { decoder 779 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->ctc_timestamp -= ctc_rem * decoder->tsc_ctc_mult; decoder 782 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c multdiv(ctc_rem, decoder->tsc_ctc_ratio_n, decoder 783 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_d); decoder 801 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->cbr_cyc_to_tsc = decoder->max_non_turbo_ratio_fp / cbr; decoder 817 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!data->cbr && decoder->cbr) { decoder 818 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->cbr = decoder->cbr; decoder 819 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c data->cbr_cyc_to_tsc = decoder->cbr_cyc_to_tsc; decoder 825 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c cyc_to_tsc = (double)(timestamp - decoder->timestamp) / data->cycle_cnt; decoder 834 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->calc_cyc_to_tsc = cyc_to_tsc; decoder 835 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_calc_cyc_to_tsc = true; decoder 848 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_calc_cyc_to_tsc(struct intel_pt_decoder *decoder, decoder 854 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c .last_mtc = decoder->last_mtc, decoder 855 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c .ctc_timestamp = decoder->ctc_timestamp, decoder 856 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c .ctc_delta = decoder->ctc_delta, decoder 857 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c .tsc_timestamp = decoder->tsc_timestamp, decoder 858 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c .timestamp = decoder->timestamp, decoder 859 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c .have_tma = decoder->have_tma, decoder 860 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c .fixup_last_mtc = decoder->fixup_last_mtc, decoder 873 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_pkt_lookahead(decoder, intel_pt_calc_cyc_cb, &data); decoder 876 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_get_next_packet(struct intel_pt_decoder *decoder) decoder 880 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_packet_type = decoder->packet.type; decoder 883 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos += decoder->pkt_step; decoder 884 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf += decoder->pkt_step; decoder 885 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len -= decoder->pkt_step; decoder 887 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->len) { decoder 888 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_next_data(decoder, false); decoder 893 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->prev_pkt_ctx = decoder->pkt_ctx; decoder 894 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_packet(decoder->buf, decoder->len, decoder 895 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c &decoder->packet, &decoder->pkt_ctx); decoder 897 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len < INTEL_PT_PKT_MAX_SZ && !decoder->next_buf) { decoder 898 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_split_packet(decoder); decoder 903 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bad_packet(decoder); decoder 905 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_len = ret; decoder 906 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_step = ret; decoder 907 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_decoder_log_packet(decoder); decoder 908 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c } while (decoder->packet.type == INTEL_PT_PAD); decoder 913 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static uint64_t intel_pt_next_period(struct intel_pt_decoder *decoder) decoder 917 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp = decoder->timestamp + decoder->timestamp_insn_cnt; decoder 918 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c masked_timestamp = timestamp & decoder->period_mask; decoder 919 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->continuous_period) { decoder 920 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (masked_timestamp > decoder->last_masked_timestamp) decoder 924 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c masked_timestamp = timestamp & decoder->period_mask; decoder 925 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (masked_timestamp > decoder->last_masked_timestamp) { decoder 926 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_masked_timestamp = masked_timestamp; decoder 927 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = true; decoder 931 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (masked_timestamp < decoder->last_masked_timestamp) decoder 932 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return decoder->period_ticks; decoder 934 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return decoder->period_ticks - (timestamp - masked_timestamp); decoder 937 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static uint64_t intel_pt_next_sample(struct intel_pt_decoder *decoder) decoder 939 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->period_type) { decoder 941 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return decoder->period - decoder->period_insn_cnt; decoder 943 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_next_period(decoder); decoder 951 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_sample_insn(struct intel_pt_decoder *decoder) decoder 955 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->period_type) { decoder 957 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->period_insn_cnt = 0; decoder 960 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp = decoder->timestamp + decoder->timestamp_insn_cnt; decoder 961 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c masked_timestamp = timestamp & decoder->period_mask; decoder 962 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (masked_timestamp > decoder->last_masked_timestamp) decoder 963 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_masked_timestamp = masked_timestamp; decoder 965 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_masked_timestamp += decoder->period_ticks; decoder 973 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_INSTRUCTION; decoder 976 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_insn(struct intel_pt_decoder *decoder, decoder 982 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->mtc_insn) decoder 983 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->mtc_insn = true; decoder 985 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c max_insn_cnt = intel_pt_next_sample(decoder); decoder 987 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = decoder->walk_insn(intel_pt_insn, &insn_cnt, &decoder->ip, ip, decoder 988 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c max_insn_cnt, decoder->data); decoder 990 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tot_insn_cnt += insn_cnt; decoder 991 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp_insn_cnt += insn_cnt; decoder 992 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_insn_cnt += insn_cnt; decoder 993 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->period_insn_cnt += insn_cnt; decoder 996 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->no_progress = 0; decoder 997 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR2; decoder 999 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1005 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (ip && decoder->ip == ip) { decoder 1011 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_sample_insn(decoder); decoder 1014 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_INSTRUCTION; decoder 1015 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1016 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1017 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip += intel_pt_insn->length; decoder 1026 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_push(&decoder->stack, decoder->ip + decoder 1032 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ret_addr = intel_pt_pop(&decoder->stack); decoder 1036 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c int cnt = decoder->no_progress++; decoder 1038 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1039 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip += intel_pt_insn->length + decoder 1041 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 1053 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->stuck_ip = decoder->state.to_ip; decoder 1054 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->stuck_ip_prd = 1; decoder 1055 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->stuck_ip_cnt = 1; decoder 1057 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip == decoder->stuck_ip) { decoder 1059 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip); decoder 1060 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC; decoder 1063 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c } else if (!--decoder->stuck_ip_cnt) { decoder 1064 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->stuck_ip_prd += 1; decoder 1065 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->stuck_ip_cnt = decoder->stuck_ip_prd; decoder 1066 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->stuck_ip = decoder->state.to_ip; decoder 1072 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->no_progress = 0; decoder 1074 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.insn_op = intel_pt_insn->op; decoder 1075 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.insn_len = intel_pt_insn->length; decoder 1076 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c memcpy(decoder->state.insn, intel_pt_insn->buf, decoder 1079 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tx_flags & INTEL_PT_IN_TX) decoder 1080 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags |= INTEL_PT_IN_TX; decoder 1085 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static bool intel_pt_fup_event(struct intel_pt_decoder *decoder) decoder 1089 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_tx_flags) { decoder 1090 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_tx_flags = false; decoder 1091 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tx_flags = decoder->fup_tx_flags; decoder 1092 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_TRANSACTION; decoder 1093 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1094 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1095 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags = decoder->fup_tx_flags; decoder 1098 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_ptw) { decoder 1099 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_ptw = false; decoder 1100 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_PTW; decoder 1101 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags |= INTEL_PT_FUP_IP; decoder 1102 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1103 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1104 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.ptw_payload = decoder->fup_ptw_payload; decoder 1107 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_mwait) { decoder 1108 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_mwait = false; decoder 1109 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_MWAIT_OP; decoder 1110 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1111 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1112 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.mwait_payload = decoder->fup_mwait_payload; decoder 1115 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_pwre) { decoder 1116 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_pwre = false; decoder 1117 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_PWR_ENTRY; decoder 1118 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type &= ~INTEL_PT_BRANCH; decoder 1119 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1120 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1121 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.pwre_payload = decoder->fup_pwre_payload; decoder 1124 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_exstop) { decoder 1125 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_exstop = false; decoder 1126 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_EX_STOP; decoder 1127 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type &= ~INTEL_PT_BRANCH; decoder 1128 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags |= INTEL_PT_FUP_IP; decoder 1129 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1130 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1133 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_bep) { decoder 1134 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_bep = false; decoder 1135 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_BLK_ITEMS; decoder 1136 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type &= ~INTEL_PT_BRANCH; decoder 1137 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1138 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1144 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline bool intel_pt_fup_with_nlip(struct intel_pt_decoder *decoder, decoder 1148 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return decoder->flags & INTEL_PT_FUP_WITH_NLIP && !err && decoder 1150 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ip == decoder->ip + intel_pt_insn->length; decoder 1153 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_fup(struct intel_pt_decoder *decoder) decoder 1159 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ip = decoder->last_ip; decoder 1162 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_insn(decoder, &intel_pt_insn, ip); decoder 1166 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_fup_with_nlip(decoder, &intel_pt_insn, ip, err)) { decoder 1167 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_fup_event(decoder)) decoder 1171 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_tx_flags = false; decoder 1177 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1178 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC; decoder 1184 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1185 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC; decoder 1189 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_bug(decoder); decoder 1193 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_tip(struct intel_pt_decoder *decoder) decoder 1198 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_insn(decoder, &intel_pt_insn, 0); decoder 1200 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pgd_ip && decoder 1201 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state == INTEL_PT_STATE_TIP_PGD && decoder 1202 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c (decoder->state.type & INTEL_PT_BRANCH) && decoder 1203 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pgd_ip(decoder->state.to_ip, decoder->data)) { decoder 1205 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->no_progress = 0; decoder 1206 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 1207 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 1208 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 1209 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_END; decoder 1218 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->pkt_state == INTEL_PT_STATE_TIP_PGD) { decoder 1219 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 1220 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 1221 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 1222 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1223 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count == 0) { decoder 1224 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1226 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->last_ip; decoder 1227 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = decoder->last_ip; decoder 1229 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_END; decoder 1231 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 1232 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1233 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count == 0) { decoder 1234 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1236 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->last_ip; decoder 1237 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = decoder->last_ip; decoder 1244 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint64_t to_ip = decoder->ip + intel_pt_insn.length + decoder 1247 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->pgd_ip && decoder 1248 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state == INTEL_PT_STATE_TIP_PGD && decoder 1249 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pgd_ip(to_ip, decoder->data)) { decoder 1251 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 1252 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 1253 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 1254 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = to_ip; decoder 1255 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1256 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = to_ip; decoder 1257 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_END; decoder 1261 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1262 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC; decoder 1266 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bug(decoder); decoder 1269 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_tnt(struct intel_pt_decoder *decoder) decoder 1275 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_insn(decoder, &intel_pt_insn, 0); decoder 1282 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->return_compression) { decoder 1284 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1285 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR3; decoder 1288 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->ret_addr) { decoder 1290 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1291 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR3; decoder 1294 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!(decoder->tnt.payload & BIT63)) { decoder 1296 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1297 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR3; decoder 1300 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tnt.count -= 1; decoder 1301 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tnt.count) decoder 1302 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_TNT_CONT; decoder 1304 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 1305 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tnt.payload <<= 1; decoder 1306 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1307 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = decoder->ret_addr; decoder 1308 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 1314 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 1317 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.type != INTEL_PT_TIP || decoder 1318 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->packet.count == 0) { decoder 1320 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1321 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR3; decoder 1322 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_step = 0; decoder 1325 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_last_ip(decoder); decoder 1326 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1327 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->last_ip; decoder 1328 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = decoder->last_ip; decoder 1333 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tnt.count -= 1; decoder 1334 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tnt.count) decoder 1335 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_TNT_CONT; decoder 1337 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 1338 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tnt.payload & BIT63) { decoder 1339 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tnt.payload <<= 1; decoder 1340 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1341 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip += intel_pt_insn.length + decoder 1343 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 1347 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->state.type & INTEL_PT_INSTRUCTION) { decoder 1348 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tnt.payload <<= 1; decoder 1349 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_INSTRUCTION; decoder 1350 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1351 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1352 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip += intel_pt_insn.length; decoder 1355 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_cyc = false; decoder 1356 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip += intel_pt_insn.length; decoder 1357 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->tnt.count) { decoder 1358 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_sample_time(decoder); decoder 1361 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tnt.payload <<= 1; decoder 1365 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bug(decoder); decoder 1369 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_mode_tsx(struct intel_pt_decoder *decoder, bool *no_tip) decoder 1374 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c fup_tx_flags = decoder->packet.payload & decoder 1376 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 1379 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.type == INTEL_PT_FUP) { decoder 1380 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->fup_tx_flags = fup_tx_flags; decoder 1381 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_tx_flags = true; decoder 1382 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!(decoder->fup_tx_flags & INTEL_PT_ABORT_TX)) decoder 1386 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos); decoder 1387 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_in_tx(decoder); decoder 1407 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_calc_tsc_timestamp(struct intel_pt_decoder *decoder) decoder 1411 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = false; decoder 1413 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->ref_timestamp) { decoder 1414 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp = intel_pt_8b_tsc(decoder->packet.payload, decoder 1415 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ref_timestamp); decoder 1416 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_timestamp = timestamp; decoder 1417 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp = timestamp; decoder 1418 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ref_timestamp = 0; decoder 1419 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp_insn_cnt = 0; decoder 1420 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c } else if (decoder->timestamp) { decoder 1421 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp = decoder->packet.payload | decoder 1422 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c (decoder->timestamp & (0xffULL << 56)); decoder 1423 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_timestamp = timestamp; decoder 1424 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (timestamp < decoder->timestamp && decoder 1425 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp - timestamp < decoder->tsc_slip) { decoder 1428 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp = decoder->timestamp; decoder 1430 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (timestamp < decoder->timestamp) { decoder 1433 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_timestamp = timestamp; decoder 1435 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp = timestamp; decoder 1436 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp_insn_cnt = 0; decoder 1439 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->last_packet_type == INTEL_PT_CYC) { decoder 1440 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cyc_ref_timestamp = decoder->timestamp; decoder 1441 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cycle_cnt = 0; decoder 1442 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_calc_cyc_to_tsc = false; decoder 1443 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cyc_to_tsc(decoder, false); decoder 1446 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log_to("Setting timestamp", decoder->timestamp); decoder 1449 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_overflow(struct intel_pt_decoder *decoder) decoder 1452 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_tx_flags(decoder); decoder 1453 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp_insn_cnt = 0; decoder 1454 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC; decoder 1455 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->overflow = true; decoder 1459 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_mtc_cyc_cnt_pge(struct intel_pt_decoder *decoder) decoder 1461 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->have_cyc) decoder 1464 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cyc_cnt_timestamp = decoder->timestamp; decoder 1465 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->base_cyc_cnt = decoder->tot_cyc_cnt; decoder 1468 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_mtc_cyc_cnt_cbr(struct intel_pt_decoder *decoder) decoder 1470 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_to_cyc = decoder->cbr / decoder->max_non_turbo_ratio_fp; decoder 1472 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->pge) decoder 1473 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_pge(decoder); decoder 1476 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline void intel_pt_mtc_cyc_cnt_upd(struct intel_pt_decoder *decoder) decoder 1480 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->have_cyc) decoder 1483 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_cyc = true; decoder 1485 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->pge || decoder->timestamp <= decoder->cyc_cnt_timestamp) decoder 1488 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c tsc_delta = decoder->timestamp - decoder->cyc_cnt_timestamp; decoder 1489 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c tot_cyc_cnt = tsc_delta * decoder->tsc_to_cyc + decoder->base_cyc_cnt; decoder 1491 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (tot_cyc_cnt > decoder->tot_cyc_cnt) decoder 1492 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tot_cyc_cnt = tot_cyc_cnt; decoder 1495 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_calc_tma(struct intel_pt_decoder *decoder) decoder 1497 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint32_t ctc = decoder->packet.payload; decoder 1498 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint32_t fc = decoder->packet.count; decoder 1499 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint32_t ctc_rem = ctc & decoder->ctc_rem_mask; decoder 1501 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->tsc_ctc_ratio_d) decoder 1504 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->pge && !decoder->in_psb) decoder 1505 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_pge(decoder); decoder 1507 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_upd(decoder); decoder 1509 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_mtc = (ctc >> decoder->mtc_shift) & 0xff; decoder 1510 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_timestamp = decoder->tsc_timestamp - fc; decoder 1511 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tsc_ctc_mult) { decoder 1512 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_timestamp -= ctc_rem * decoder->tsc_ctc_mult; decoder 1514 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_timestamp -= multdiv(ctc_rem, decoder 1515 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_n, decoder 1516 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_d); decoder 1518 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_delta = 0; decoder 1519 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = true; decoder 1520 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->fixup_last_mtc = true; decoder 1522 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_timestamp, decoder->last_mtc, ctc_rem); decoder 1525 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_calc_mtc_timestamp(struct intel_pt_decoder *decoder) decoder 1530 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->have_tma) decoder 1533 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c mtc = decoder->packet.payload; decoder 1535 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->mtc_shift > 8 && decoder->fixup_last_mtc) { decoder 1536 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->fixup_last_mtc = false; decoder 1537 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_fixup_last_mtc(mtc, decoder->mtc_shift, decoder 1538 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c &decoder->last_mtc); decoder 1541 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (mtc > decoder->last_mtc) decoder 1542 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c mtc_delta = mtc - decoder->last_mtc; decoder 1544 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c mtc_delta = mtc + 256 - decoder->last_mtc; decoder 1546 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_delta += mtc_delta << decoder->mtc_shift; decoder 1548 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tsc_ctc_mult) { decoder 1549 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp = decoder->ctc_timestamp + decoder 1550 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ctc_delta * decoder->tsc_ctc_mult; decoder 1552 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp = decoder->ctc_timestamp + decoder 1553 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c multdiv(decoder->ctc_delta, decoder 1554 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_n, decoder 1555 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tsc_ctc_ratio_d); decoder 1558 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (timestamp < decoder->timestamp) decoder 1560 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp, decoder->timestamp); decoder 1562 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp = timestamp; decoder 1564 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_upd(decoder); decoder 1566 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp_insn_cnt = 0; decoder 1567 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_mtc = mtc; decoder 1569 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->last_packet_type == INTEL_PT_CYC) { decoder 1570 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cyc_ref_timestamp = decoder->timestamp; decoder 1571 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cycle_cnt = 0; decoder 1572 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_calc_cyc_to_tsc = false; decoder 1573 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cyc_to_tsc(decoder, true); decoder 1576 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log_to("Setting timestamp", decoder->timestamp); decoder 1579 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_calc_cbr(struct intel_pt_decoder *decoder) decoder 1581 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c unsigned int cbr = decoder->packet.payload & 0xff; decoder 1583 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cbr_payload = decoder->packet.payload; decoder 1585 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->cbr == cbr) decoder 1588 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cbr = cbr; decoder 1589 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cbr_cyc_to_tsc = decoder->max_non_turbo_ratio_fp / cbr; decoder 1591 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_cbr(decoder); decoder 1594 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_calc_cyc_timestamp(struct intel_pt_decoder *decoder) decoder 1596 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint64_t timestamp = decoder->cyc_ref_timestamp; decoder 1598 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_cyc = true; decoder 1600 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cycle_cnt += decoder->packet.payload; decoder 1601 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->pge) decoder 1602 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tot_cyc_cnt += decoder->packet.payload; decoder 1603 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_cyc = true; decoder 1605 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->cyc_ref_timestamp) decoder 1608 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->have_calc_cyc_to_tsc) decoder 1609 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp += decoder->cycle_cnt * decoder->calc_cyc_to_tsc; decoder 1610 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c else if (decoder->cbr) decoder 1611 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp += decoder->cycle_cnt * decoder->cbr_cyc_to_tsc; decoder 1615 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (timestamp < decoder->timestamp) decoder 1617 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c timestamp, decoder->timestamp); decoder 1619 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp = timestamp; decoder 1621 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->timestamp_insn_cnt = 0; decoder 1623 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log_to("Setting timestamp", decoder->timestamp); decoder 1626 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_bbp(struct intel_pt_decoder *decoder) decoder 1628 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->prev_pkt_ctx == INTEL_PT_NO_CTX) { decoder 1629 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c memset(decoder->state.items.mask, 0, sizeof(decoder->state.items.mask)); decoder 1630 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.items.is_32_bit = false; decoder 1632 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->blk_type = decoder->packet.payload; decoder 1633 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->blk_type_pos = intel_pt_blk_type_pos(decoder->blk_type); decoder 1634 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->blk_type == INTEL_PT_GP_REGS) decoder 1635 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.items.is_32_bit = decoder->packet.count; decoder 1636 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->blk_type_pos < 0) { decoder 1638 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->blk_type); decoder 1639 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c } else if (decoder->state.items.mask[decoder->blk_type_pos]) { decoder 1641 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->blk_type); decoder 1645 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static void intel_pt_bip(struct intel_pt_decoder *decoder) decoder 1647 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint32_t id = decoder->packet.count; decoder 1649 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c int pos = decoder->blk_type_pos; decoder 1653 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c id, decoder->blk_type); decoder 1657 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->state.items.mask[pos] & bit) { decoder 1659 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c id, decoder->blk_type); decoder 1662 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.items.mask[pos] |= bit; decoder 1663 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.items.val[pos][id] = decoder->packet.payload; decoder 1667 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_psbend(struct intel_pt_decoder *decoder) decoder 1671 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->in_psb = true; decoder 1674 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 1678 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->packet.type) { decoder 1701 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = false; decoder 1707 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_overflow(decoder); decoder 1711 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tsc_timestamp(decoder); decoder 1715 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tma(decoder); decoder 1719 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cbr(decoder); decoder 1723 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->exec_mode = decoder->packet.payload; decoder 1727 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cr3 = decoder->packet.payload & (BIT63 - 1); decoder 1731 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = true; decoder 1732 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count) decoder 1733 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_last_ip(decoder); decoder 1737 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_in_tx(decoder); decoder 1741 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_mtc_timestamp(decoder); decoder 1742 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->period_type == INTEL_PT_PERIOD_MTC) decoder 1743 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_INSTRUCTION; decoder 1755 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->in_psb = false; decoder 1760 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_fup_tip(struct intel_pt_decoder *decoder) decoder 1764 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->tx_flags & INTEL_PT_ABORT_TX) { decoder 1765 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tx_flags = 0; decoder 1766 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags &= ~INTEL_PT_IN_TX; decoder 1767 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags |= INTEL_PT_ABORT_TX; decoder 1769 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags |= INTEL_PT_ASYNC; decoder 1773 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 1777 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->packet.type) { decoder 1799 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR3; decoder 1800 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_step = 0; decoder 1804 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cbr(decoder); decoder 1808 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_overflow(decoder); decoder 1811 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1812 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count == 0) { decoder 1813 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1815 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 1816 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 1818 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 1819 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 1820 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_END; decoder 1824 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = true; decoder 1826 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 1827 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = 0; decoder 1828 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count == 0) { decoder 1829 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1831 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 1832 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 1834 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_BEGIN; decoder 1835 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_pge(decoder); decoder 1839 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 1840 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count == 0) { decoder 1841 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 1843 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 1844 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 1849 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cr3 = decoder->packet.payload & (BIT63 - 1); decoder 1853 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_mtc_timestamp(decoder); decoder 1854 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->period_type == INTEL_PT_PERIOD_MTC) decoder 1855 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_INSTRUCTION; decoder 1859 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cyc_timestamp(decoder); decoder 1863 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->exec_mode = decoder->packet.payload; decoder 1872 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bug(decoder); decoder 1877 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_trace(struct intel_pt_decoder *decoder) decoder 1883 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 1887 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->packet.type) { decoder 1889 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->packet.count) decoder 1891 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->tnt = decoder->packet; decoder 1892 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_TNT; decoder 1893 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_tnt(decoder); decoder 1899 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count != 0) decoder 1900 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_last_ip(decoder); decoder 1901 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_TIP_PGD; decoder 1902 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_walk_tip(decoder); decoder 1905 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = true; decoder 1906 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_pge(decoder); decoder 1907 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count == 0) { decoder 1909 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos); decoder 1912 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 1913 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = 0; decoder 1914 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 1915 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_BEGIN; decoder 1920 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_overflow(decoder); decoder 1923 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count != 0) decoder 1924 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_last_ip(decoder); decoder 1925 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_TIP; decoder 1926 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_walk_tip(decoder); decoder 1929 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.count == 0) { decoder 1931 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos); decoder 1935 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_last_ip(decoder); decoder 1936 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->branch_enable) { decoder 1937 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = decoder->last_ip; decoder 1938 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_fup_event(decoder)) decoder 1943 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_mwait) decoder 1945 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_fup(decoder); decoder 1950 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = decoder 1953 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_FUP; decoder 1960 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_walk_fup_tip(decoder); decoder 1963 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 1964 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 1965 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_tx_flags(decoder); decoder 1966 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = false; decoder 1970 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_ip = 0; decoder 1971 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_last_ip = true; decoder 1972 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_stack(&decoder->stack); decoder 1973 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_psbend(decoder); decoder 1983 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->cbr != decoder->cbr_seen) decoder 1988 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cr3 = decoder->packet.payload & (BIT63 - 1); decoder 1992 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_mtc_timestamp(decoder); decoder 1993 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->period_type != INTEL_PT_PERIOD_MTC) decoder 1999 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->mtc_insn) decoder 2001 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->mtc_insn = false; decoder 2003 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->timestamp) decoder 2005 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_INSTRUCTION; decoder 2006 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2007 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 2008 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->mtc_insn = false; decoder 2012 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tsc_timestamp(decoder); decoder 2016 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tma(decoder); decoder 2020 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cyc_timestamp(decoder); decoder 2024 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cbr(decoder); decoder 2025 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->cbr != decoder->cbr_seen) decoder 2030 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->exec_mode = decoder->packet.payload; decoder 2035 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->pge) { decoder 2036 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_in_tx(decoder); decoder 2039 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_mode_tsx(decoder, &no_tip); decoder 2045 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bug(decoder); decoder 2054 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->fup_ptw_payload = decoder->packet.payload; decoder 2055 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 2058 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.type == INTEL_PT_FUP) { decoder 2059 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_ptw = true; decoder 2063 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos); decoder 2068 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_PTW; decoder 2069 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2070 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 2071 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.ptw_payload = decoder->packet.payload; decoder 2075 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->fup_mwait_payload = decoder->packet.payload; decoder 2076 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_mwait = true; decoder 2080 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->set_fup_mwait) { decoder 2081 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->fup_pwre_payload = decoder 2082 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->packet.payload; decoder 2083 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_pwre = true; decoder 2086 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_PWR_ENTRY; decoder 2087 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2088 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 2089 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.pwrx_payload = decoder->packet.payload; decoder 2093 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 2096 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.type == INTEL_PT_FUP) { decoder 2097 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_exstop = true; decoder 2101 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos); decoder 2106 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_EX_STOP; decoder 2107 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2108 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 2112 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_PWR_EXIT; decoder 2113 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2114 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 2115 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.pwrx_payload = decoder->packet.payload; decoder 2119 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_bbp(decoder); decoder 2123 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_bip(decoder); decoder 2127 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_BLK_ITEMS; decoder 2128 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2129 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 2133 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 2136 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->packet.type == INTEL_PT_FUP) { decoder 2137 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_bep = true; decoder 2141 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos); decoder 2146 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bug(decoder); decoder 2151 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static inline bool intel_pt_have_ip(struct intel_pt_decoder *decoder) decoder 2153 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return decoder->packet.count && decoder 2154 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c (decoder->have_last_ip || decoder->packet.count == 3 || decoder 2155 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->packet.count == 6); decoder 2159 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_psb(struct intel_pt_decoder *decoder) decoder 2163 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->in_psb = true; decoder 2166 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 2170 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->packet.type) { decoder 2172 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 2192 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = true; decoder 2193 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_have_ip(decoder)) { decoder 2194 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint64_t current_ip = decoder->ip; decoder 2196 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 2199 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip); decoder 2204 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_mtc_timestamp(decoder); decoder 2208 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tsc_timestamp(decoder); decoder 2212 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tma(decoder); decoder 2216 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cyc_timestamp(decoder); decoder 2220 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cbr(decoder); decoder 2224 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cr3 = decoder->packet.payload & (BIT63 - 1); decoder 2228 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->exec_mode = decoder->packet.payload; decoder 2232 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_in_tx(decoder); decoder 2236 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 2237 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 2238 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_tx_flags(decoder); decoder 2242 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = false; decoder 2244 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->ip) decoder 2245 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR4; decoder 2247 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_ERR3; decoder 2252 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_bug(decoder); decoder 2256 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_overflow(decoder); decoder 2272 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->in_psb = false; decoder 2277 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_walk_to_ip(struct intel_pt_decoder *decoder) decoder 2282 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_packet(decoder); decoder 2286 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->packet.type) { decoder 2288 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 2289 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 2290 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_have_ip(decoder)) decoder 2291 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 2292 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->ip) decoder 2294 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_END; decoder 2298 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = true; decoder 2299 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_mtc_cyc_cnt_pge(decoder); decoder 2300 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_have_ip(decoder)) decoder 2301 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 2302 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->ip) decoder 2304 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_TRACE_BEGIN; decoder 2308 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = true; decoder 2309 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_have_ip(decoder)) decoder 2310 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 2311 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->ip) decoder 2316 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_have_ip(decoder)) decoder 2317 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_set_ip(decoder); decoder 2318 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->ip) decoder 2323 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_mtc_timestamp(decoder); decoder 2327 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tsc_timestamp(decoder); decoder 2331 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_tma(decoder); decoder 2335 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cyc_timestamp(decoder); decoder 2339 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_calc_cbr(decoder); decoder 2343 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cr3 = decoder->packet.payload & (BIT63 - 1); decoder 2347 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->exec_mode = decoder->packet.payload; decoder 2351 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_in_tx(decoder); decoder 2355 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_overflow(decoder); decoder 2358 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_bug(decoder); decoder 2361 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 2362 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 2363 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_tx_flags(decoder); decoder 2364 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_tma = false; decoder 2368 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_ip = 0; decoder 2369 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_last_ip = true; decoder 2370 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_stack(&decoder->stack); decoder 2371 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_psb(decoder); decoder 2374 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->ip) { decoder 2376 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = 0; decoder 2403 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_sync_ip(struct intel_pt_decoder *decoder) decoder 2407 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_tx_flags = false; decoder 2408 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_ptw = false; decoder 2409 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_mwait = false; decoder 2410 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_pwre = false; decoder 2411 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_exstop = false; decoder 2412 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->set_fup_bep = false; decoder 2414 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->branch_enable) { decoder 2415 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 2416 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->overflow = false; decoder 2417 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = 0; /* Do not have a sample */ decoder 2422 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_to_ip(decoder); decoder 2426 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 2427 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->overflow = false; decoder 2429 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = 0; decoder 2430 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = decoder->ip; decoder 2431 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_log_to("Setting IP", decoder->ip); decoder 2436 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_part_psb(struct intel_pt_decoder *decoder) decoder 2438 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c const unsigned char *end = decoder->buf + decoder->len; decoder 2442 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (i > decoder->len) decoder 2450 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_rest_psb(struct intel_pt_decoder *decoder, int part_psb) decoder 2455 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (rest_psb > decoder->len || decoder 2456 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c memcmp(decoder->buf, psb + part_psb, rest_psb)) decoder 2462 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_get_split_psb(struct intel_pt_decoder *decoder, decoder 2467 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos += decoder->len; decoder 2468 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = 0; decoder 2470 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_next_data(decoder, false); decoder 2474 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c rest_psb = intel_pt_rest_psb(decoder, part_psb); decoder 2478 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos -= part_psb; decoder 2479 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_buf = decoder->buf + rest_psb; decoder 2480 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->next_len = decoder->len - rest_psb; decoder 2481 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c memcpy(decoder->temp_buf, INTEL_PT_PSB_STR, INTEL_PT_PSB_LEN); decoder 2482 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf = decoder->temp_buf; decoder 2483 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = INTEL_PT_PSB_LEN; decoder 2488 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_scan_for_psb(struct intel_pt_decoder *decoder) decoder 2495 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->len) { decoder 2496 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_next_data(decoder, false); decoder 2501 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c next = memmem(decoder->buf, decoder->len, INTEL_PT_PSB_STR, decoder 2506 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c part_psb = intel_pt_part_psb(decoder); decoder 2508 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c ret = intel_pt_get_split_psb(decoder, part_psb); decoder 2512 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos += decoder->len; decoder 2513 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = 0; decoder 2518 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_step = next - decoder->buf; decoder 2519 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_get_next_packet(decoder); decoder 2523 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static int intel_pt_sync(struct intel_pt_decoder *decoder) decoder 2527 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pge = false; decoder 2528 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->continuous_period = false; decoder 2529 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_last_ip = false; decoder 2530 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_ip = 0; decoder 2531 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = 0; decoder 2532 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_clear_stack(&decoder->stack); decoder 2534 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_scan_for_psb(decoder); decoder 2538 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_last_ip = true; decoder 2539 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_NO_IP; decoder 2541 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_psb(decoder); decoder 2545 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->ip) { decoder 2546 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = 0; /* Do not have a sample */ decoder 2547 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 2549 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return intel_pt_sync_ip(decoder); decoder 2555 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c static uint64_t intel_pt_est_timestamp(struct intel_pt_decoder *decoder) decoder 2557 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c uint64_t est = decoder->sample_insn_cnt << 1; decoder 2559 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->cbr || !decoder->max_non_turbo_ratio) decoder 2562 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c est *= decoder->max_non_turbo_ratio; decoder 2563 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c est /= decoder->cbr; decoder 2565 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return decoder->sample_timestamp + est; decoder 2568 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c const struct intel_pt_state *intel_pt_decode(struct intel_pt_decoder *decoder) decoder 2573 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type = INTEL_PT_BRANCH; decoder 2574 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.flags = 0; decoder 2576 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c switch (decoder->pkt_state) { decoder 2578 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_sync(decoder); decoder 2581 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->have_last_ip = false; decoder 2582 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->last_ip = 0; decoder 2583 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->ip = 0; decoder 2586 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_sync_ip(decoder); decoder 2589 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_trace(decoder); decoder 2593 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_tnt(decoder); decoder 2595 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_trace(decoder); decoder 2599 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_tip(decoder); decoder 2602 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 2603 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_fup(decoder); decoder 2605 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_fup_tip(decoder); decoder 2607 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_FUP; decoder 2610 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pkt_state = INTEL_PT_STATE_IN_SYNC; decoder 2611 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_fup(decoder); decoder 2613 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_walk_trace(decoder); decoder 2616 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_bug(decoder); decoder 2622 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.err = intel_pt_ext_err(err); decoder 2623 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2624 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_sample_time(decoder); decoder 2625 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_tot_cyc_cnt = decoder->tot_cyc_cnt; decoder 2627 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.err = 0; decoder 2628 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->cbr != decoder->cbr_seen) { decoder 2629 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->cbr_seen = decoder->cbr; decoder 2630 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->state.type) { decoder 2631 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.from_ip = decoder->ip; decoder 2632 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.to_ip = 0; decoder 2634 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.type |= INTEL_PT_CBR_CHG; decoder 2635 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.cbr_payload = decoder->cbr_payload; decoder 2636 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.cbr = decoder->cbr; decoder 2638 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (intel_pt_sample_time(decoder->pkt_state)) { decoder 2639 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_update_sample_time(decoder); decoder 2640 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (decoder->sample_cyc) decoder 2641 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->sample_tot_cyc_cnt = decoder->tot_cyc_cnt; decoder 2645 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.timestamp = decoder->sample_timestamp; decoder 2646 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.est_timestamp = intel_pt_est_timestamp(decoder); decoder 2647 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.cr3 = decoder->cr3; decoder 2648 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.tot_insn_cnt = decoder->tot_insn_cnt; decoder 2649 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->state.tot_cyc_cnt = decoder->sample_tot_cyc_cnt; decoder 2651 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c return &decoder->state; decoder 3023 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c int intel_pt_fast_forward(struct intel_pt_decoder *decoder, uint64_t timestamp) decoder 3033 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = decoder->lookahead(decoder->data, intel_pt_ff_cb, &d); decoder 3040 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos += decoder->len; decoder 3041 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = 0; decoder 3042 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c err = intel_pt_get_next_data(decoder, true); decoder 3046 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c } while (decoder->buf_timestamp != d.buf_timestamp); decoder 3049 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c if (!decoder->buf) decoder 3052 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c buf = (unsigned char *)decoder->buf; decoder 3053 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c len = decoder->len; decoder 3068 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c tsc = intel_pt_8b_tsc(tsc, decoder->buf_timestamp); decoder 3077 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->pos += decoder->len - len; decoder 3078 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->buf = buf; decoder 3079 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c decoder->len = len; decoder 3080 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c intel_pt_reposition(decoder); decoder 258 tools/perf/util/intel-pt-decoder/intel-pt-decoder.h void intel_pt_decoder_free(struct intel_pt_decoder *decoder); decoder 260 tools/perf/util/intel-pt-decoder/intel-pt-decoder.h const struct intel_pt_state *intel_pt_decode(struct intel_pt_decoder *decoder); decoder 262 tools/perf/util/intel-pt-decoder/intel-pt-decoder.h int intel_pt_fast_forward(struct intel_pt_decoder *decoder, uint64_t timestamp); decoder 142 tools/perf/util/intel-pt.c void *decoder; decoder 940 tools/perf/util/intel-pt.c ptq->decoder = intel_pt_decoder_new(¶ms); decoder 941 tools/perf/util/intel-pt.c if (!ptq->decoder) decoder 962 tools/perf/util/intel-pt.c intel_pt_decoder_free(ptq->decoder); decoder 1082 tools/perf/util/intel-pt.c ret = intel_pt_fast_forward(ptq->decoder, decoder 1089 tools/perf/util/intel-pt.c state = intel_pt_decode(ptq->decoder); decoder 2133 tools/perf/util/intel-pt.c err = intel_pt_fast_forward(ptq->decoder, decoder 2185 tools/perf/util/intel-pt.c state = intel_pt_decode(ptq->decoder); decoder 37 tools/testing/selftests/ir/ir_loopback.c const char *decoder; decoder 125 tools/testing/selftests/ir/ir_loopback.c if (write(protocolfd, protocols[i].decoder, decoder 126 tools/testing/selftests/ir/ir_loopback.c strlen(protocols[i].decoder)) == -1) decoder 130 tools/testing/selftests/ir/ir_loopback.c protocols[i].name, protocols[i].decoder,