Lines Matching refs:hisi_qm

364 	struct hisi_qm *qm;
380 int (*get_vft)(struct hisi_qm *qm, u32 *base, u32 *number);
381 void (*qm_db)(struct hisi_qm *qm, u16 qn,
383 int (*debug_init)(struct hisi_qm *qm);
384 void (*hw_error_init)(struct hisi_qm *qm);
385 void (*hw_error_uninit)(struct hisi_qm *qm);
386 enum acc_err_result (*hw_error_handle)(struct hisi_qm *qm);
387 int (*set_msi)(struct hisi_qm *qm, bool set);
451 static void qm_irqs_unregister(struct hisi_qm *qm);
452 static int qm_reset_device(struct hisi_qm *qm);
454 static bool qm_avail_state(struct hisi_qm *qm, enum qm_state new) in qm_avail_state()
486 static bool qm_qp_avail_state(struct hisi_qm *qm, struct hisi_qp *qp, in qm_qp_avail_state()
533 static u32 qm_get_hw_error_status(struct hisi_qm *qm) in qm_get_hw_error_status()
538 static u32 qm_get_dev_err_status(struct hisi_qm *qm) in qm_get_dev_err_status()
544 static bool qm_check_dev_error(struct hisi_qm *qm) in qm_check_dev_error()
557 static int qm_wait_reset_finish(struct hisi_qm *qm) in qm_wait_reset_finish()
571 static int qm_reset_prepare_ready(struct hisi_qm *qm) in qm_reset_prepare_ready()
574 struct hisi_qm *pf_qm = pci_get_drvdata(pci_physfn(pdev)); in qm_reset_prepare_ready()
586 static void qm_reset_bit_clear(struct hisi_qm *qm) in qm_reset_bit_clear()
589 struct hisi_qm *pf_qm = pci_get_drvdata(pci_physfn(pdev)); in qm_reset_bit_clear()
610 int hisi_qm_wait_mb_ready(struct hisi_qm *qm) in hisi_qm_wait_mb_ready()
621 static void qm_mb_write(struct hisi_qm *qm, const void *src) in qm_mb_write()
647 static int qm_mb_nolock(struct hisi_qm *qm, struct qm_mailbox *mailbox) in qm_mb_nolock()
680 int hisi_qm_mb(struct hisi_qm *qm, u8 cmd, dma_addr_t dma_addr, u16 queue, in hisi_qm_mb()
699 static void qm_db_v1(struct hisi_qm *qm, u16 qn, u8 cmd, u16 index, u8 priority) in qm_db_v1()
710 static void qm_db_v2(struct hisi_qm *qm, u16 qn, u8 cmd, u16 index, u8 priority) in qm_db_v2()
730 static void qm_db(struct hisi_qm *qm, u16 qn, u8 cmd, u16 index, u8 priority) in qm_db()
738 static void qm_disable_clock_gate(struct hisi_qm *qm) in qm_disable_clock_gate()
751 static int qm_dev_mem_reset(struct hisi_qm *qm) in qm_dev_mem_reset()
770 u32 hisi_qm_get_hw_info(struct hisi_qm *qm, in hisi_qm_get_hw_info()
791 static void qm_get_xqc_depth(struct hisi_qm *qm, u16 *low_bits, in qm_get_xqc_depth()
801 int hisi_qm_set_algs(struct hisi_qm *qm, u64 alg_msk, const struct qm_dev_alg *dev_algs, in hisi_qm_set_algs()
835 static u32 qm_get_irq_num(struct hisi_qm *qm) in qm_get_irq_num()
843 static int qm_pm_get_sync(struct hisi_qm *qm) in qm_pm_get_sync()
860 static void qm_pm_put_sync(struct hisi_qm *qm) in qm_pm_put_sync()
884 struct hisi_qm *qm = qp->qm; in qm_poll_req_cb()
907 struct hisi_qm *qm = poll_data->qm; in qm_work_process()
927 static void qm_get_complete_eqe_num(struct hisi_qm *qm) in qm_get_complete_eqe_num()
970 struct hisi_qm *qm = data; in qm_eq_irq()
980 struct hisi_qm *qm = data; in qm_mb_cmd_irq()
1012 static void qm_disable_qp(struct hisi_qm *qm, u32 qp_id) in qm_disable_qp()
1021 static void qm_reset_function(struct hisi_qm *qm) in qm_reset_function()
1023 struct hisi_qm *pf_qm = pci_get_drvdata(pci_physfn(qm->pdev)); in qm_reset_function()
1052 struct hisi_qm *qm = data; in qm_aeq_thread()
1106 static void qm_init_prefetch(struct hisi_qm *qm) in qm_init_prefetch()
1199 static void qm_vft_data_cfg(struct hisi_qm *qm, enum vft_type type, u32 base, in qm_vft_data_cfg()
1245 static int qm_set_vft_common(struct hisi_qm *qm, enum vft_type type, in qm_set_vft_common()
1278 static int qm_shaper_init_vft(struct hisi_qm *qm, u32 fun_num) in qm_shaper_init_vft()
1300 static int qm_set_sqc_cqc_vft(struct hisi_qm *qm, u32 fun_num, u32 base, in qm_set_sqc_cqc_vft()
1326 static int qm_get_vft_v2(struct hisi_qm *qm, u32 *base, u32 *number) in qm_get_vft_v2()
1344 void *hisi_qm_ctx_alloc(struct hisi_qm *qm, size_t ctx_size, in hisi_qm_ctx_alloc()
1364 void hisi_qm_ctx_free(struct hisi_qm *qm, size_t ctx_size, in hisi_qm_ctx_free()
1373 static int qm_dump_sqc_raw(struct hisi_qm *qm, dma_addr_t dma_addr, u16 qp_id) in qm_dump_sqc_raw()
1378 static int qm_dump_cqc_raw(struct hisi_qm *qm, dma_addr_t dma_addr, u16 qp_id) in qm_dump_cqc_raw()
1383 static void qm_hw_error_init_v1(struct hisi_qm *qm) in qm_hw_error_init_v1()
1388 static void qm_hw_error_cfg(struct hisi_qm *qm) in qm_hw_error_cfg()
1403 static void qm_hw_error_init_v2(struct hisi_qm *qm) in qm_hw_error_init_v2()
1414 static void qm_hw_error_uninit_v2(struct hisi_qm *qm) in qm_hw_error_uninit_v2()
1422 static void qm_hw_error_init_v3(struct hisi_qm *qm) in qm_hw_error_init_v3()
1436 static void qm_hw_error_uninit_v3(struct hisi_qm *qm) in qm_hw_error_uninit_v3()
1447 static void qm_log_hw_error(struct hisi_qm *qm, u32 error_status) in qm_log_hw_error()
1484 static enum acc_err_result qm_hw_error_handle_v2(struct hisi_qm *qm) in qm_hw_error_handle_v2()
1510 static int qm_get_mb_cmd(struct hisi_qm *qm, u64 *msg, u16 fun_num) in qm_get_mb_cmd()
1529 static void qm_clear_cmd_interrupt(struct hisi_qm *qm, u64 vf_mask) in qm_clear_cmd_interrupt()
1541 static void qm_handle_vf_msg(struct hisi_qm *qm, u32 vf_id) in qm_handle_vf_msg()
1571 static int qm_wait_vf_prepare_finish(struct hisi_qm *qm) in qm_wait_vf_prepare_finish()
1611 static void qm_trigger_vf_interrupt(struct hisi_qm *qm, u32 fun_num) in qm_trigger_vf_interrupt()
1625 static void qm_trigger_pf_interrupt(struct hisi_qm *qm) in qm_trigger_pf_interrupt()
1634 static int qm_ping_single_vf(struct hisi_qm *qm, u64 cmd, u32 fun_num) in qm_ping_single_vf()
1670 static int qm_ping_all_vfs(struct hisi_qm *qm, u64 cmd) in qm_ping_all_vfs()
1715 static int qm_ping_pf(struct hisi_qm *qm, u64 cmd) in qm_ping_pf()
1754 static int qm_set_msi(struct hisi_qm *qm, bool set) in qm_set_msi()
1776 static void qm_wait_msi_finish(struct hisi_qm *qm) in qm_wait_msi_finish()
1811 static int qm_set_msi_v3(struct hisi_qm *qm, bool set) in qm_set_msi_v3()
1885 static struct hisi_qp *qm_create_qp_nolock(struct hisi_qm *qm, u8 alg_type) in qm_create_qp_nolock()
1931 static struct hisi_qp *hisi_qm_create_qp(struct hisi_qm *qm, u8 alg_type) in hisi_qm_create_qp()
1958 struct hisi_qm *qm = qp->qm; in hisi_qm_release_qp()
1977 struct hisi_qm *qm = qp->qm; in qm_sq_ctx_cfg()
2019 struct hisi_qm *qm = qp->qm; in qm_cq_ctx_cfg()
2073 struct hisi_qm *qm = qp->qm; in qm_start_qp_nolock()
2102 struct hisi_qm *qm = qp->qm; in hisi_qm_start_qp()
2125 struct hisi_qm *qm = qp->qm; in qp_stop_fail_cb()
2146 struct hisi_qm *qm = qp->qm; in qm_drain_qp()
2301 static void hisi_qm_cache_wb(struct hisi_qm *qm) in hisi_qm_cache_wb()
2323 struct hisi_qm *qm = uacce->priv; in hisi_qm_get_available_instances()
2333 static void hisi_qm_set_hw_reset(struct hisi_qm *qm, int offset) in hisi_qm_set_hw_reset()
2345 struct hisi_qm *qm = uacce->priv; in hisi_qm_uacce_get_queue()
2376 struct hisi_qm *qm = qp->qm; in hisi_qm_uacce_mmap()
2455 struct hisi_qm *qm = q->uacce->priv; in qm_set_sqctype()
2510 static int qm_hw_err_isolate(struct hisi_qm *qm) in qm_hw_err_isolate()
2554 static void qm_hw_err_destroy(struct hisi_qm *qm) in qm_hw_err_destroy()
2568 struct hisi_qm *qm = uacce->priv; in hisi_qm_get_isolate_state()
2569 struct hisi_qm *pf_qm; in hisi_qm_get_isolate_state()
2582 struct hisi_qm *qm = uacce->priv; in hisi_qm_isolate_threshold_write()
2601 struct hisi_qm *qm = uacce->priv; in hisi_qm_isolate_threshold_read()
2602 struct hisi_qm *pf_qm; in hisi_qm_isolate_threshold_read()
2626 static void qm_remove_uacce(struct hisi_qm *qm) in qm_remove_uacce()
2637 static int qm_alloc_uacce(struct hisi_qm *qm) in qm_alloc_uacce()
2709 static int qm_frozen(struct hisi_qm *qm) in qm_frozen()
2731 struct hisi_qm *qm, *vf_qm; in qm_try_frozen_vfs()
2764 void hisi_qm_wait_task_finish(struct hisi_qm *qm, struct hisi_qm_list *qm_list) in hisi_qm_wait_task_finish()
2783 static void hisi_qp_memory_uninit(struct hisi_qm *qm, int num) in hisi_qp_memory_uninit()
2799 static int hisi_qp_memory_init(struct hisi_qm *qm, size_t dma_size, int id, in hisi_qp_memory_init()
2835 static void hisi_qm_pre_init(struct hisi_qm *qm) in hisi_qm_pre_init()
2856 static void qm_cmd_uninit(struct hisi_qm *qm) in qm_cmd_uninit()
2868 static void qm_cmd_init(struct hisi_qm *qm) in qm_cmd_init()
2884 static void qm_put_pci_res(struct hisi_qm *qm) in qm_put_pci_res()
2895 static void hisi_qm_pci_uninit(struct hisi_qm *qm) in hisi_qm_pci_uninit()
2904 static void hisi_qm_set_state(struct hisi_qm *qm, u8 state) in hisi_qm_set_state()
2910 static void hisi_qm_unint_work(struct hisi_qm *qm) in hisi_qm_unint_work()
2915 static void hisi_qm_memory_uninit(struct hisi_qm *qm) in hisi_qm_memory_uninit()
2938 void hisi_qm_uninit(struct hisi_qm *qm) in hisi_qm_uninit()
2971 static int hisi_qm_get_vft(struct hisi_qm *qm, u32 *base, u32 *number) in hisi_qm_get_vft()
2998 static int hisi_qm_set_vft(struct hisi_qm *qm, u32 fun_num, u32 base, in hisi_qm_set_vft()
3010 static void qm_init_eq_aeq_status(struct hisi_qm *qm) in qm_init_eq_aeq_status()
3020 static void qm_enable_eq_aeq_interrupts(struct hisi_qm *qm) in qm_enable_eq_aeq_interrupts()
3030 static void qm_disable_eq_aeq_interrupts(struct hisi_qm *qm) in qm_disable_eq_aeq_interrupts()
3036 static int qm_eq_ctx_cfg(struct hisi_qm *qm) in qm_eq_ctx_cfg()
3067 static int qm_aeq_ctx_cfg(struct hisi_qm *qm) in qm_aeq_ctx_cfg()
3096 static int qm_eq_aeq_ctx_cfg(struct hisi_qm *qm) in qm_eq_aeq_ctx_cfg()
3112 static int __hisi_qm_start(struct hisi_qm *qm) in __hisi_qm_start()
3148 int hisi_qm_start(struct hisi_qm *qm) in hisi_qm_start()
3179 static int qm_restart(struct hisi_qm *qm) in qm_restart()
3210 static int qm_stop_started_qp(struct hisi_qm *qm) in qm_stop_started_qp()
3238 static void qm_clear_queues(struct hisi_qm *qm) in qm_clear_queues()
3261 int hisi_qm_stop(struct hisi_qm *qm, enum qm_stop_reason r) in hisi_qm_stop()
3304 static void qm_hw_error_init(struct hisi_qm *qm) in qm_hw_error_init()
3314 static void qm_hw_error_uninit(struct hisi_qm *qm) in qm_hw_error_uninit()
3324 static enum acc_err_result qm_hw_error_handle(struct hisi_qm *qm) in qm_hw_error_handle()
3340 void hisi_qm_dev_err_init(struct hisi_qm *qm) in hisi_qm_dev_err_init()
3361 void hisi_qm_dev_err_uninit(struct hisi_qm *qm) in hisi_qm_dev_err_uninit()
3407 struct hisi_qm *qm; in hisi_qm_sort_devices()
3493 static int qm_vf_q_assign(struct hisi_qm *qm, u32 num_vfs) in qm_vf_q_assign()
3540 static int qm_clear_vft_config(struct hisi_qm *qm) in qm_clear_vft_config()
3555 static int qm_func_shaper_enable(struct hisi_qm *qm, u32 fun_index, u32 qos) in qm_func_shaper_enable()
3585 static u32 qm_get_shaper_vft_qos(struct hisi_qm *qm, u32 fun_index) in qm_get_shaper_vft_qos()
3635 static void qm_vf_get_qos(struct hisi_qm *qm, u32 fun_num) in qm_vf_get_qos()
3654 static int qm_vf_read_qos(struct hisi_qm *qm) in qm_vf_read_qos()
3686 struct hisi_qm *qm = filp->private_data; in qm_algqos_read()
3723 static ssize_t qm_get_qos_value(struct hisi_qm *qm, const char *buf, in qm_get_qos_value()
3760 struct hisi_qm *qm = filp->private_data; in qm_algqos_write()
3824 void hisi_qm_set_algqos_init(struct hisi_qm *qm) in hisi_qm_set_algqos_init()
3834 static void hisi_qm_init_vf_qos(struct hisi_qm *qm, int total_func) in hisi_qm_init_vf_qos()
3853 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_sriov_enable()
3913 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_sriov_disable()
3955 static enum acc_err_result qm_dev_err_handle(struct hisi_qm *qm) in qm_dev_err_handle()
3965 static enum acc_err_result qm_process_dev_error(struct hisi_qm *qm) in qm_process_dev_error()
3991 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_dev_err_detected()
4009 static int qm_check_req_recv(struct hisi_qm *qm) in qm_check_req_recv()
4037 static int qm_set_pf_mse(struct hisi_qm *qm, bool set) in qm_set_pf_mse()
4061 static int qm_set_vf_mse(struct hisi_qm *qm, bool set) in qm_set_vf_mse()
4088 static void qm_dev_ecc_mbit_handle(struct hisi_qm *qm) in qm_dev_ecc_mbit_handle()
4110 static int qm_vf_reset_prepare(struct hisi_qm *qm, in qm_vf_reset_prepare()
4116 struct hisi_qm *vf_qm; in qm_vf_reset_prepare()
4140 static int qm_try_stop_vfs(struct hisi_qm *qm, u64 cmd, in qm_try_stop_vfs()
4163 static int qm_controller_reset_prepare(struct hisi_qm *qm) in qm_controller_reset_prepare()
4206 static int qm_master_ooo_check(struct hisi_qm *qm) in qm_master_ooo_check()
4222 static int qm_soft_reset_prepare(struct hisi_qm *qm) in qm_soft_reset_prepare()
4260 static int qm_reset_device(struct hisi_qm *qm) in qm_reset_device()
4289 static int qm_soft_reset(struct hisi_qm *qm) in qm_soft_reset()
4300 static int qm_vf_reset_done(struct hisi_qm *qm) in qm_vf_reset_done()
4305 struct hisi_qm *vf_qm; in qm_vf_reset_done()
4329 static int qm_try_start_vfs(struct hisi_qm *qm, enum qm_mb_cmd cmd) in qm_try_start_vfs()
4357 static int qm_dev_hw_init(struct hisi_qm *qm) in qm_dev_hw_init()
4362 static void qm_restart_prepare(struct hisi_qm *qm) in qm_restart_prepare()
4393 static void qm_restart_done(struct hisi_qm *qm) in qm_restart_done()
4414 static int qm_controller_reset_done(struct hisi_qm *qm) in qm_controller_reset_done()
4478 static int qm_controller_reset(struct hisi_qm *qm) in qm_controller_reset()
4528 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_dev_slot_reset()
4547 struct hisi_qm *pf_qm = pci_get_drvdata(pci_physfn(pdev)); in hisi_qm_reset_prepare()
4548 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_reset_prepare()
4597 struct hisi_qm *qm = pci_get_drvdata(pf_pdev); in qm_flr_reset_complete()
4611 struct hisi_qm *pf_qm = pci_get_drvdata(pci_physfn(pdev)); in hisi_qm_reset_done()
4612 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_reset_done()
4652 struct hisi_qm *qm = data; in qm_abnormal_irq()
4673 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_dev_shutdown()
4686 struct hisi_qm *qm = container_of(rst_work, struct hisi_qm, rst_work); in hisi_qm_controller_reset()
4703 static void qm_pf_reset_vf_prepare(struct hisi_qm *qm, in qm_pf_reset_vf_prepare()
4738 static void qm_pf_reset_vf_done(struct hisi_qm *qm) in qm_pf_reset_vf_done()
4759 static int qm_wait_pf_reset_finish(struct hisi_qm *qm) in qm_wait_pf_reset_finish()
4796 static void qm_pf_reset_vf_process(struct hisi_qm *qm, in qm_pf_reset_vf_process()
4823 static void qm_handle_cmd_msg(struct hisi_qm *qm, u32 fun_num) in qm_handle_cmd_msg()
4863 struct hisi_qm *qm = container_of(cmd_process, in qm_cmd_process()
4864 struct hisi_qm, cmd_process); in qm_cmd_process()
4893 int hisi_qm_alg_register(struct hisi_qm *qm, struct hisi_qm_list *qm_list) in hisi_qm_alg_register()
4932 void hisi_qm_alg_unregister(struct hisi_qm *qm, struct hisi_qm_list *qm_list) in hisi_qm_alg_unregister()
4946 static void qm_unregister_abnormal_irq(struct hisi_qm *qm) in qm_unregister_abnormal_irq()
4962 static int qm_register_abnormal_irq(struct hisi_qm *qm) in qm_register_abnormal_irq()
4983 static void qm_unregister_mb_cmd_irq(struct hisi_qm *qm) in qm_unregister_mb_cmd_irq()
4996 static int qm_register_mb_cmd_irq(struct hisi_qm *qm) in qm_register_mb_cmd_irq()
5014 static void qm_unregister_aeq_irq(struct hisi_qm *qm) in qm_unregister_aeq_irq()
5027 static int qm_register_aeq_irq(struct hisi_qm *qm) in qm_register_aeq_irq()
5046 static void qm_unregister_eq_irq(struct hisi_qm *qm) in qm_unregister_eq_irq()
5059 static int qm_register_eq_irq(struct hisi_qm *qm) in qm_register_eq_irq()
5077 static void qm_irqs_unregister(struct hisi_qm *qm) in qm_irqs_unregister()
5085 static int qm_irqs_register(struct hisi_qm *qm) in qm_irqs_register()
5116 static int qm_get_qp_num(struct hisi_qm *qm) in qm_get_qp_num()
5153 static int qm_pre_store_irq_type_caps(struct hisi_qm *qm) in qm_pre_store_irq_type_caps()
5175 static int qm_get_hw_caps(struct hisi_qm *qm) in qm_get_hw_caps()
5211 static int qm_get_pci_res(struct hisi_qm *qm) in qm_get_pci_res()
5265 static int qm_clear_device(struct hisi_qm *qm) in qm_clear_device()
5294 static int hisi_qm_pci_init(struct hisi_qm *qm) in hisi_qm_pci_init()
5338 static int hisi_qm_init_work(struct hisi_qm *qm) in hisi_qm_init_work()
5362 static int hisi_qp_alloc_memory(struct hisi_qm *qm) in hisi_qp_alloc_memory()
5400 static int hisi_qm_memory_init(struct hisi_qm *qm) in hisi_qm_memory_init()
5463 int hisi_qm_init(struct hisi_qm *qm) in hisi_qm_init()
5530 int hisi_qm_get_dfx_access(struct hisi_qm *qm) in hisi_qm_get_dfx_access()
5549 void hisi_qm_put_dfx_access(struct hisi_qm *qm) in hisi_qm_put_dfx_access()
5561 void hisi_qm_pm_init(struct hisi_qm *qm) in hisi_qm_pm_init()
5580 void hisi_qm_pm_uninit(struct hisi_qm *qm) in hisi_qm_pm_uninit()
5592 static int qm_prepare_for_suspend(struct hisi_qm *qm) in qm_prepare_for_suspend()
5614 static int qm_rebuild_for_resume(struct hisi_qm *qm) in qm_rebuild_for_resume()
5658 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_suspend()
5686 struct hisi_qm *qm = pci_get_drvdata(pdev); in hisi_qm_resume()