ata_qc_complete_multiple(9)
π ata_qc_complete_multiple β the Kernel API Manual moment (section 9, iykyk)
okay so bestie, we're in the ata_qc_complete_multiple(9) page, technically a kernel API manual entry, and honestly? it's giving "small function, huge responsibility" β¨
πΈ NAME πΈ
ata_qc_complete_multiple β Complete multiple qcs successfully π
β¨ SYNOPSIS β¨
int ata_qc_complete_multiple (struct ata_port *ap , u64 qc_active );
π¦ ARGUMENTS π¦
apβ the port in question, aka the main character here π«Άqc_activeβ the newqc_activemask, fresh out of the oven π
π DESCRIPTION π
so this one completes in-flight commands. literally its whole job. This functions is meant to be called from the low-level driver's interrupt routine to complete requests normally β that's the vibe, that's the assignment β¨
ap->qc_active and qc_active get compared, and commands are completed accordingly. no cap, that's just how it goes π₯
Always use this function when completing multiple NCQ commands from IRQ handlers instead of calling ata_qc_complete multiple times β the whole point is to keep IRQ expect status properly in sync. fr fr, don't skip this part π
LOCKING: spin_lock_irqsave(host lock) π like, respect the lock bestie, it's not optional
β RETURN β
Number of completed commands on success, -errno otherwise. slay, numbers π
π§ SEE ALSO π§
Kernel file ./drivers/ata/libata-sata.c, and honestly the whole friend group showed up:
ata_qc_complete_multiple's little siblings: sata_scr_valid(9), sata_scr_read(9), sata_scr_write(9), sata_scr_write_flush(9), ata_tf_to_fis(9), ata_tf_from_fis(9), sata_link_debounce(9), sata_link_resume(9), sata_link_scr_lpm(9), sata_set_spd_needed(9), sata_set_spd(9), sata_down_spd_limit(9), sata_link_hardreset(9), sata_std_hardreset(9), ata_slave_link_init(9), sata_lpm_ignore_phy_events(9), ata_ncq_prio_supported(9), ata_ncq_prio_enabled(9), ata_ncq_prio_enable(9), ata_change_queue_depth(9), ata_scsi_change_queue_depth(9), ata_sas_sdev_configure(9), ata_sas_queuecmd(9), sata_async_notification(9), ata_eh_read_log_10h(9), ata_eh_get_ncq_success_sense(9), ata_eh_analyze_ncq_error(9) π
and that's the page bestie π«Ά cute little sign-off: this one lives in ./drivers/ata, dated October 2026, and it's filed under ata_qc_complete_multiple(9). periodt π
π¦ 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