hisi_qm_init(9)
π
hisi_qm_init(9) β like, the whole glow-up of your qm β¨
okay so this is a page from the Kernel API Manual (yep, the kernel girlies have their own manual and it's lowkey iconic π), and today's main character is hisi_qm_init β the function that gets your qm all set up and ready before anything else can happen. no cap, nothing works until this runs first. π
πΈ NAME πΈ
hisi_qm_init β Initialize configures about qm.
like literally, it initializes the configures. that's the vibe. that's the whole job. π
π¦ SYNOPSIS π¦
int hisi_qm_init (struct hisi_qm *qm );
yup, that's it. one argument, one int coming back at you. clean. β¨
π ARGUMENTS π
qmβ the qm that needs init. like, hand it over bestie, this is the one getting the full setup treatment π
π§ DESCRIPTION π§
so what does it actually do? fr fr, it's simple and that's the beauty of it:
This function init qm β and once it's done, that's when you're allowed to call hisi_qm_start to put qm into work. π
think of it like this: hisi_qm_init is the get-ready-with-me era, and hisi_qm_start is the main character entrance. you can NOT skip straight to the entrance, okay? the order matters. π
β οΈ okay tiny reality check: the order is init β thenhisi_qm_start. don't be out here callinghisi_qm_starton an un-inited qm, that's not the move. π
π«Ά SEE ALSO π«Ά
so there's a whole friend group here and honestly they all ate. the kernel file that holds all this magic is ./drivers/crypto/hisilicon/qm.c π β go say hi.
and the rest of the cast, in the order the manual gave them to us:
struct qm_hw_err(9)hisi_qm_get_hw_info(9)hisi_qm_create_qp(9)hisi_qm_release_qp(9)hisi_qm_start_qp(9)qp_stop_fail_cb(9)qm_drain_qp(9)hisi_qm_stop_qp(9)hisi_qp_send(9)qm_hw_err_isolate(9)qm_frozen(9)hisi_qm_wait_task_finish(9)hisi_qm_uninit(9)hisi_qm_get_vft(9)hisi_qm_set_vft(9)hisi_qm_start(9)qm_invalid_queues(9)hisi_qm_stop(9)hisi_qm_dev_err_init(9)hisi_qm_dev_err_uninit(9)hisi_qm_free_qps(9)hisi_qm_alloc_qps_node(9)hisi_qm_set_algqos_init(9)hisi_qm_sriov_enable(9)hisi_qm_sriov_disable(9)hisi_qm_sriov_configure(9)hisi_qm_dev_err_detected(9)hisi_qm_dev_slot_reset(9)hisi_qm_dev_shutdown(9)hisi_qm_alg_register(9)hisi_qm_alg_unregister(9)hisi_qm_get_dfx_access(9)hisi_qm_put_dfx_access(9)hisi_qm_pm_init(9)hisi_qm_pm_uninit(9)hisi_qm_suspend(9)hisi_qm_resume(9)
that's the whole group chat, bestie. literally all 37 of them. π iykyk.
β¨ and that's the page!! β¨ mwah π β this lil beauty lives in ./drivers/crypto/hisilicon, and the manual was dated October 2026, so mark your calendars babes ποΈπ go init some qms, you've got this π«ΆπΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms