Lines Matching refs:dmc_id
196 u8 dmc_id; member
291 static bool is_valid_dmc_id(enum intel_dmc_id dmc_id) in is_valid_dmc_id() argument
293 return dmc_id >= DMC_FW_MAIN && dmc_id < DMC_FW_MAX; in is_valid_dmc_id()
296 static bool has_dmc_id_fw(struct drm_i915_private *i915, enum intel_dmc_id dmc_id) in has_dmc_id_fw() argument
300 return dmc && dmc->dmc_info[dmc_id].payload; in has_dmc_id_fw()
364 get_flip_queue_event_regs(struct drm_i915_private *i915, enum intel_dmc_id dmc_id, in get_flip_queue_event_regs() argument
367 if (dmc_id == DMC_FW_MAIN) { in get_flip_queue_event_regs()
369 *ctl_reg = DMC_EVT_CTL(i915, dmc_id, 3); in get_flip_queue_event_regs()
370 *htp_reg = DMC_EVT_HTP(i915, dmc_id, 3); in get_flip_queue_event_regs()
374 } else if (dmc_id >= DMC_FW_PIPEA && dmc_id <= DMC_FW_PIPED) { in get_flip_queue_event_regs()
376 *ctl_reg = DMC_EVT_CTL(i915, dmc_id, 2); in get_flip_queue_event_regs()
377 *htp_reg = DMC_EVT_HTP(i915, dmc_id, 2); in get_flip_queue_event_regs()
389 enum intel_dmc_id dmc_id; in disable_all_flip_queue_events() local
395 for_each_dmc_id(dmc_id) { in disable_all_flip_queue_events()
399 if (!has_dmc_id_fw(i915, dmc_id)) in disable_all_flip_queue_events()
402 if (!get_flip_queue_event_regs(i915, dmc_id, &ctl_reg, &htp_reg)) in disable_all_flip_queue_events()
411 enum intel_dmc_id dmc_id; in disable_all_event_handlers() local
417 for_each_dmc_id(dmc_id) { in disable_all_event_handlers()
420 if (!has_dmc_id_fw(i915, dmc_id)) in disable_all_event_handlers()
425 DMC_EVT_CTL(i915, dmc_id, handler), in disable_all_event_handlers()
426 DMC_EVT_HTP(i915, dmc_id, handler)); in disable_all_event_handlers()
472 enum intel_dmc_id dmc_id = PIPE_TO_DMC_ID(pipe); in intel_dmc_enable_pipe() local
474 if (!is_valid_dmc_id(dmc_id) || !has_dmc_id_fw(i915, dmc_id)) in intel_dmc_enable_pipe()
485 enum intel_dmc_id dmc_id = PIPE_TO_DMC_ID(pipe); in intel_dmc_disable_pipe() local
487 if (!is_valid_dmc_id(dmc_id) || !has_dmc_id_fw(i915, dmc_id)) in intel_dmc_disable_pipe()
508 enum intel_dmc_id dmc_id; in intel_dmc_load_program() local
522 for_each_dmc_id(dmc_id) { in intel_dmc_load_program()
523 for (i = 0; i < dmc->dmc_info[dmc_id].dmc_fw_size; i++) { in intel_dmc_load_program()
525 DMC_PROGRAM(dmc->dmc_info[dmc_id].start_mmioaddr, i), in intel_dmc_load_program()
526 dmc->dmc_info[dmc_id].payload[i]); in intel_dmc_load_program()
532 for_each_dmc_id(dmc_id) { in intel_dmc_load_program()
533 for (i = 0; i < dmc->dmc_info[dmc_id].mmio_count; i++) { in intel_dmc_load_program()
534 intel_de_write(i915, dmc->dmc_info[dmc_id].mmioaddr[i], in intel_dmc_load_program()
535 dmc->dmc_info[dmc_id].mmiodata[i]); in intel_dmc_load_program()
612 enum intel_dmc_id dmc_id; in dmc_set_fw_offset() local
616 dmc_id = package_ver <= 1 ? DMC_FW_MAIN : fw_info[i].dmc_id; in dmc_set_fw_offset()
618 if (!is_valid_dmc_id(dmc_id)) { in dmc_set_fw_offset()
619 drm_dbg(&i915->drm, "Unsupported firmware id: %u\n", dmc_id); in dmc_set_fw_offset()
627 if (dmc->dmc_info[dmc_id].present) in dmc_set_fw_offset()
631 dmc->dmc_info[dmc_id].present = true; in dmc_set_fw_offset()
632 dmc->dmc_info[dmc_id].dmc_offset = fw_info[i].offset; in dmc_set_fw_offset()
639 int header_ver, enum intel_dmc_id dmc_id) in dmc_mmio_addr_sanity_check() argument
648 } else if (dmc_id == DMC_FW_MAIN) { in dmc_mmio_addr_sanity_check()
655 start_range = TGL_PIPE_MMIO_START(dmc_id); in dmc_mmio_addr_sanity_check()
656 end_range = TGL_PIPE_MMIO_END(dmc_id); in dmc_mmio_addr_sanity_check()
672 size_t rem_size, enum intel_dmc_id dmc_id) in parse_dmc_fw_header() argument
675 struct dmc_fw_info *dmc_info = &dmc->dmc_info[dmc_id]; in parse_dmc_fw_header()
740 dmc_header->header_ver, dmc_id)) { in parse_dmc_fw_header()
867 enum intel_dmc_id dmc_id; in parse_dmc_fw() local
890 for_each_dmc_id(dmc_id) { in parse_dmc_fw()
891 if (!dmc->dmc_info[dmc_id].present) in parse_dmc_fw()
894 offset = readcount + dmc->dmc_info[dmc_id].dmc_offset * 4; in parse_dmc_fw()
901 parse_dmc_fw_header(dmc, dmc_header, fw->size - offset, dmc_id); in parse_dmc_fw()
1121 enum intel_dmc_id dmc_id; in intel_dmc_fini() local
1130 for_each_dmc_id(dmc_id) in intel_dmc_fini()
1131 kfree(dmc->dmc_info[dmc_id].payload); in intel_dmc_fini()