pm8001_bytes_dmaed(9)
π pm8001_bytes_dmaed(9) β the kernel API tea ββ¨
okay so bestie, gather round, because this one is a function from the Kernel API Manual and it's literally the little messenger that tells libsas "hey girl, the party's happening, come look" π No cap, it's giving β¨glue codeβ¨ in the best way possible.
πΈ NAME πΈ
pm8001_bytes_dmaed β one of the interface function communication with libsas π«Ά
β¨ SYNOPSIS β¨
void pm8001_bytes_dmaed (struct pm8001_hba_info *pm8001_ha , int i );
π¦ ARGUMENTS π¦
pm8001_haβ our hba card information π³ (yes, our card, we're emotionally attached now)iβ which phy that received the event π like, specifically that phy, the one that got the event
π DESCRIPTION π
okay so here's the vibe check: when the HBA driver receives the identify done event, or the initiate FIS received event (that's the one for SATA, iykyk), it invokes this function to notify the sas layer that the sas topology has formed π€ and it's like "please discover the whole sas domain, go off queen πΊοΈβ¨".
But wait β plot twist π β when it receives a broadcast(change) primitive, it just tells the sas layer to discover the changed domain rather than the whole domain. Like, no need to redo the entire sweep, bestie, just the one part that changed. Efficiency slay ππ₯
π SEE ALSO π
- Kernel file
./drivers/scsi/pm8001/pm8001_hwi.cπ read_main_config_table(9),read_general_status_table(9),read_inbnd_queue_table(9),read_outbnd_queue_table(9),init_default_table_values(9),update_main_config_table(9),update_inbnd_queue_table(9),update_outbnd_queue_table(9),pm8001_bar4_shift(9),mpi_set_phys_g3_with_ssc(9),mpi_set_open_retry_interval_reg(9),mpi_init_check(9),check_fw_ready(9),pm8001_chip_init(9),soft_reset_ready_check(9),pm8001_chip_soft_rst(9),pm8001_chip_iounmap(9),pm8001_chip_interrupt_enable(9),pm8001_chip_interrupt_disable(9),pm8001_mpi_msg_free_get(9),pm8001_mpi_build_cmd(9),pm8001_mpi_msg_consume(9),mpi_ssp_completion(9),pm8001_get_attached_sas_addr(9),pm8001_hw_event_ack_req(9),hw_event_sas_phy_up(9),hw_event_sata_phy_up(9),hw_event_phy_down(9),pm8001_mpi_reg_resp(9),pm8001_mpi_fw_flash_update_resp(9),mpi_hw_event(9),process_one_iomb(9),pm8001_chip_smp_req(9),pm8001_chip_ssp_io_req(9),pm8001_chip_phy_start_req(9),pm8001_chip_phy_stop_req(9),pm8001_chip_phy_ctl_req(9),pm8001_chip_isr(9),pm8001_chip_ssp_tm_req(9),pm8001_chip_fw_flash_update_build(9)π
and that's the whole page, bestie β go read the source, it's right there in ./drivers/scsi/pm8001 if you wanna see the main character in action π
shoutout to the October 2026 release for dropping this banger ποΈβ¨ mwah, sending you good vibes and clean builds π«Άπ
π¦ 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