qed_ptt_acquire_context(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… qed_ptt_acquire_context(9) β€” the kernel API manual, but make it make sense

okay so bestie, welcome to the qed_ptt_acquire_context(9) page ✨ this is the full kernel API manual for it, just... with personality. every single fact is still here, i promise. no cap. 🫢


🌸 NAME 🌸

qed_ptt_acquire_context β€” grab yourself a PTT window, but like, respectfully β€” it honors the atomicy of your context πŸ’–


✨ SYNOPSIS ✨

struct qed_ptt * qed_ptt_acquire_context (struct qed_hwfn *p_hwfn , bool
is_atomic );

like literally that's the whole signature. struct qed_ptt * goes in, struct qed_hwfn *p_hwfn and a bool is_atomic go out (well, in). iconic. πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

  • p_hwfn β€” the HW device data. that's your hardware function baddie, she holds the whole device situation πŸ’…
  • is_atomic β€” a little hint from the caller: can this function sleep or not? basically "are we in a position to catch some Zs or are we on main character no-sleep duty" 😴🚫

πŸ¦‹ CONTEXT πŸ¦‹

the function should not sleep in case is_atomic == true. that's it. that's the rule. no snoozing when you're atomic, periodt πŸ’€


⭐ RETURN ⭐

returns a struct qed_ptt. that's the whole vibe. you asked, it gave. 🫴✨


🌈 DESCRIPTION 🌈

so here's the tea 🍡 β€” you should be calling this at the entry point to the driver, meaning at the very beginning of an exported function. like, first thing. before you do anything else. it's giving "hello, i'm here, set me up" energy 🧚


πŸ’œ SEE ALSO πŸ’œ

kernel file: ./drivers/net/ethernet/qlogic/qed/qed_dev_api.h

and now the full squad, all of them, no one left behind (i would never):

qed_init_dp(9), qed_init_struct(9), qed_resc_free(9), qed_resc_alloc(9), qed_resc_setup(9), qed_hw_init(9), qed_hw_timers_stop_all(9), qed_hw_stop(9), qed_hw_stop_fastpath(9), qed_hw_start_fastpath(9), qed_hw_prepare(9), qed_hw_remove(9), qed_ptt_acquire(9), qed_ptt_release(9), qed_dmae_host2grc(9), qed_dmae_host2host(9), qed_fw_l2_queue(9), qed_fw_vport(9), qed_fw_rss_eng(9), qed_llh_get_num_ppfid(9), qed_llh_set_ppfid_affinity(9), qed_llh_set_roce_affinity(9), qed_llh_add_mac_filter(9), qed_llh_remove_mac_filter(9), qed_llh_add_protocol_filter(9), qed_llh_remove_protocol_filter(9), qed_final_cleanup(9), qed_get_queue_coalesce(9), qed_set_queue_coalesce(9), qed_pglueb_set_pfid_enable(9), qed_db_recovery_add(9), qed_db_recovery_del(9)

like genuinely obsessed with how long that list is, she's thorough πŸ”₯


ok and one last thing β€” this whole page lives in ./drivers/net/ethernet/qlogic/qed and it's dated October 2026. that's the source, the version, the date, all of it. mwah πŸ’‹ bye bestie, go acquire those PTT windows responsibly πŸ“πŸ§šβ€β™€οΈ
πŸ“¦ where this page comes from