ata_bmdma_port_start32(9)
πΈ ata_bmdma_port_start32(9) πΈ
okay bestie, welcome to the Linux Kernel API Manual page for ata_bmdma_port_start32 β yes that name is a mouthful, no I will not be pronouncing it out loud π
β¨ NAME β¨
ata_bmdma_port_start32 β get a port all set up for dma. that's it, that's the whole vibe π
β¨ SYNOPSIS β¨
int ata_bmdma_port_start32 (struct ata_port *ap );
β¨ ARGUMENTS β¨
apβ the port we're initializing π
β¨ DESCRIPTION β¨
so this one gets called just after the data structures for each port are initialized, right? and what it does is genuinely iconic: it enables 32bit PIO and allocates space for the PRD table. periodt π«Ά
it may be used as the port_start entry in ata_port_operations for devices that are capable of 32bit PIO β iykyk, that's the whole point of it existing β¨
LOCKING: inherited from caller. no cap, you don't gotta do anything extra here, just whatever lock situation you already had walking in π
β¨ SEE ALSO β¨
kernel file ./drivers/ata/libata-sff.c, plus the whole friend group π:
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_irq_on(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_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)
like, the entire libata friend group showed up to the group chat, and honestly? we love that for them ππ
okay that's the whole page bestie, go forth and initialize ur ports π¦π
this has been your girl, signing off β brought to you by ./drivers/ata, dated October 2026, and yes the source line said the same thing twice so I'm saying it once with love πβ¨
π¦ 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