ata_sff_irq_on(9)
β¨ NAME β¨
okay so bestie, this is ata_sff_irq_on(9) from the Kernel API Manual β and its whole vibe is: Enable interrupts on a port. π
β¨
π οΈ SYNOPSIS π οΈ
void ata_sff_irq_on (struct ata_port *ap );
It returns void, so no return value to obsess over β just the port pointer, periodt. π
π ARGUMENTS π
apβ the port on which interrupts are enabled. That's the whole argument, bestie. π«Ά
π DESCRIPTION π
So here's the tea: it enables interrupts on a legacy IDE device using MMIO or PIO, waits for idle, and clears any pending interrupts. Lowkey a little wake-up-and-tidy situation, and honestly? Iconic. β¨
β οΈ NOTE β οΈ
π¨ Important, no cap: this may NOT be used as thesff_irq_onentry inata_port_operations.
LOCKING: Inherited from caller. So wherever the call came from? That's where the locking comes from. π
π¦ SEE ALSO π¦
Kernel file ./drivers/ata/libata-sff.c β plus the whole friend group. Every single one, because we do not skip the squad. π
ata_sff_check_status(9),ata_sff_altstatus(9),ata_sff_irq_status(9),ata_sff_sync(9),ata_sff_pause(9),ata_sff_dma_pause(9),ata_sff_wait_ready(9),ata_sff_set_devctl(9)ata_sff_dev_select(9),ata_dev_select(9),ata_sff_tf_load(9),ata_sff_tf_read(9),ata_sff_exec_command(9),ata_tf_to_host(9),ata_sff_data_xfer(9),ata_sff_data_xfer32(9)ata_pio_sector(9),ata_pio_sectors(9),atapi_send_cdb(9),__atapi_pio_bytes(9),atapi_pio_bytes(9),ata_hsm_ok_in_wq(9),ata_hsm_qc_complete(9),ata_sff_hsm_move(9)ata_sff_qc_issue(9),ata_sff_qc_fill_rtf(9),ata_sff_port_intr(9),ata_sff_interrupt(9),ata_sff_lost_interrupt(9),ata_sff_freeze(9),ata_sff_thaw(9),ata_sff_prereset(9)ata_devchk(9),ata_sff_dev_classify(9),ata_sff_wait_after_reset(9),ata_sff_softreset(9),sata_sff_hardreset(9),ata_sff_postreset(9),ata_sff_drain_fifo(9),ata_sff_error_handler(9)ata_sff_std_ports(9),ata_pci_sff_init_host(9),ata_pci_sff_prepare_host(9),ata_pci_sff_activate_host(9),ata_pci_sff_init_one(9),ata_bmdma_fill_sg(9),ata_bmdma_fill_sg_dumb(9),ata_bmdma_qc_prep(9)ata_bmdma_dumb_qc_prep(9),ata_bmdma_qc_issue(9),ata_bmdma_port_intr(9),ata_bmdma_interrupt(9),ata_bmdma_error_handler(9),ata_bmdma_post_internal_cmd(9),ata_bmdma_irq_clear(9),ata_bmdma_setup(9)ata_bmdma_start(9),ata_bmdma_stop(9),ata_bmdma_status(9),ata_bmdma_port_start(9),ata_bmdma_port_start32(9),ata_pci_bmdma_clear_simplex(9),ata_pci_bmdma_init(9),ata_pci_bmdma_prepare_host(9)ata_pci_bmdma_init_one(9),ata_sff_port_init(9)
π«Ά that's the whole page, bestie β from ./drivers/ata, October 2026, aka the source/version + date, and I'm obsessed. π
π¦ 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