ipr_modify_...mode_page_28(9)
β¨ ipr_modify_ioafp_mode_page_28 β¨
okay so bestie, welcome to the Kernel API Manual π β today's main character is ipr_modify_ioafp_mode_page_28, and honestly? she's a little worker bee with a very specific job and we're gonna respect her for it. no cap.
πΈ NAME πΈ
ipr_modify_ioafp_mode_page_28 β literally just: Modify IOAFP Mode Page 28. that's the whole vibe. that's the assignment. periodt. π
π¦ SYNOPSIS π¦
void ipr_modify_ioafp_mode_page_28 (struct ipr_ioa_cfg *ioa_cfg , struct
ipr_mode_pages *mode_pages );
she takes two things and returns absolutely nothing. lowkey iconic of her π
π ARGUMENTS π
ioa_cfgβ the ioa config struct. yeah. that's the whole description. it's giving "trust me bro, you know what it is" πmode_pagesβ the mode page 28 buffer. this is the thing she's about to touch, bestie, so pay attention to her π«Ά
π DESCRIPTION π
So here's the tea: this function updates mode page 28 based on driver configuration. that's it. that's the plot. she reads the driver config, she makes mode page 28 match it, and then she dips. no drama, no return value, no notes. β¨
Return value: none β she gives you nothing back because she already gave you everything. main character energy fr fr π
π₯ SEE ALSO π₯
the kernel file is ./drivers/scsi/ipr.c, and ngl the guest list for this party is long. like, suspiciously long. every single one of these is invited and i'm not cutting anyone from the list, so buckle up bestie π:
ipr_trc_hook(9)ipr_lock_and_done(9)ipr_reinit_ipr_cmnd(9)ipr_init_ipr_cmnd(9)__ipr_get_free_ipr_cmnd(9)ipr_get_free_ipr_cmnd(9)ipr_mask_and_clear_interrupts(9)ipr_save_pcix_cmd_reg(9)ipr_set_pcix_cmd_reg(9)__ipr_scsi_eh_done(9)ipr_scsi_eh_done(9)ipr_fail_all_ops(9)ipr_send_command(9)ipr_do_req(9)ipr_internal_cmd_done(9)ipr_init_ioadl(9)ipr_send_blocking_cmd(9)ipr_send_hcam(9)ipr_init_res_entry(9)ipr_is_same_device(9)__ipr_format_res_path(9)ipr_format_res_path(9)ipr_update_res_entry(9)ipr_clear_res_target(9)ipr_handle_config_change(9)ipr_process_ccn(9)strip_whitespace(9)ipr_log_vpd_compact(9)ipr_log_vpd(9)ipr_log_ext_vpd_compact(9)ipr_log_ext_vpd(9)ipr_log_enhanced_cache_error(9)ipr_log_cache_error(9)ipr_log_enhanced_config_error(9)ipr_log_sis64_config_error(9)ipr_log_config_error(9)ipr_log_enhanced_array_error(9)ipr_log_array_error(9)ipr_log_hex_data(9)ipr_log_enhanced_dual_ioa_error(9)ipr_log_dual_ioa_error(9)ipr_log_fabric_path(9)ipr_log64_fabric_path(9)ipr_log_path_elem(9)ipr_log64_path_elem(9)ipr_log_fabric_error(9)ipr_log_sis64_array_error(9)ipr_log_sis64_fabric_error(9)ipr_log_sis64_service_required_error(9)ipr_log_generic_error(9)ipr_log_sis64_device_error(9)ipr_get_error(9)ipr_handle_log_data(9)ipr_process_error(9)ipr_timeout(9)ipr_oper_timeout(9)ipr_find_ses_entry(9)ipr_get_max_scsi_speed(9)ipr_wait_iodbg_ack(9)ipr_get_sis64_dump_data_section(9)ipr_get_ldump_data_section(9)ipr_sdt_copy(9)ipr_init_dump_entry_hdr(9)ipr_dump_ioa_type_data(9)ipr_dump_version_data(9)ipr_dump_trace_data(9)ipr_dump_location_data(9)ipr_get_ioa_dump(9)ipr_release_dump(9)ipr_worker_thread(9)ipr_read_trace(9)ipr_show_fw_version(9)ipr_show_log_level(9)ipr_store_log_level(9)ipr_store_diagnostics(9)ipr_show_adapter_state(9)ipr_store_adapter_state(9)ipr_store_reset_adapter(9)ipr_store_iopoll_weight(9)ipr_alloc_ucode_buffer(9)ipr_free_ucode_buffer(9)ipr_copy_ucode_buffer(9)ipr_build_ucode_ioadl64(9)ipr_build_ucode_ioadl(9)ipr_update_ioa_ucode(9)ipr_store_update_fw(9)ipr_show_fw_type(9)ipr_read_dump(9)ipr_alloc_dump(9)ipr_free_dump(9)ipr_write_dump(9)ipr_change_queue_depth(9)ipr_show_adapter_handle(9)ipr_show_resource_path(9)ipr_show_device_id(9)ipr_show_resource_type(9)ipr_show_raw_mode(9)ipr_store_raw_mode(9)ipr_biosparam(9)ipr_find_starget(9)ipr_target_destroy(9)ipr_find_sdev(9)ipr_sdev_destroy(9)ipr_sdev_configure(9)ipr_sdev_init(9)ipr_match_lun(9)ipr_cmnd_is_free(9)ipr_wait_for_ops(9)ipr_device_reset(9)__ipr_eh_dev_reset(9)ipr_bus_reset_done(9)ipr_abort_timeout(9)ipr_cancel_op(9)ipr_scan_finished(9)ipr_eh_abort(9)ipr_handle_other_interrupt(9)ipr_isr_eh(9)ipr_isr(9)ipr_isr_mhrrq(9)ipr_build_ioadl64(9)ipr_build_ioadl(9)__ipr_erp_done(9)ipr_erp_done(9)ipr_reinit_ipr_cmnd_for_erp(9)__ipr_erp_request_sense(9)ipr_erp_request_sense(9)ipr_erp_cancel_all(9)ipr_dump_ioasa(9)ipr_gen_sense(9)ipr_get_autosense(9)ipr_erp_start(9)ipr_scsi_done(9)ipr_queuecommand(9)ipr_ioa_info(9)ipr_ioa_bringdown_done(9)ipr_ioa_reset_done(9)ipr_set_sup_dev_dflt(9)ipr_set_supported_devs(9)ipr_get_mode_page(9)ipr_check_term_power(9)ipr_scsi_bus_speed_limit(9)ipr_build_mode_select(9)ipr_ioafp_mode_select_page28(9)ipr_build_mode_sense(9)ipr_reset_cmd_failed(9)ipr_reset_mode_sense_failed(9)ipr_ioafp_mode_sense_page28(9)ipr_ioafp_mode_select_page24(9)ipr_reset_mode_sense_page24_failed(9)ipr_ioafp_mode_sense_page24(9)ipr_init_res_table(9)ipr_ioafp_query_ioa_cfg(9)ipr_ioafp_set_caching_parameters(9)ipr_ioafp_inquiry(9)ipr_inquiry_page_supported(9)ipr_ioafp_pageC4_inquiry(9)ipr_ioafp_cap_inquiry(9)ipr_ioafp_page3_inquiry(9)ipr_ioafp_page0_inquiry(9)ipr_ioafp_std_inquiry(9)ipr_ioafp_identify_hrrq(9)ipr_reset_timer_done(9)ipr_reset_start_timer(9)ipr_init_ioa_mem(9)ipr_reset_next_stage(9)ipr_reset_enable_ioa(9)ipr_reset_wait_for_dump(9)ipr_unit_check_no_data(9)ipr_get_unit_check_buffer(9)ipr_reset_get_unit_check_job(9)ipr_set_affinity_nobalance(9)ipr_reset_restore_cfg_space(9)ipr_reset_bist_done(9)ipr_reset_start_bist(9)ipr_reset_slot_reset_done(9)ipr_reset_reset_work(9)ipr_reset_slot_reset(9)ipr_reset_block_config_access_wait(9)ipr_reset_block_config_access(9)ipr_reset_allowed(9)ipr_reset_wait_to_start_bist(9)ipr_reset_alert(9)ipr_reset_quiesce_done(9)ipr_reset_cancel_hcam_done(9)ipr_reset_cancel_hcam(9)ipr_reset_ucode_download_done(9)ipr_reset_ucode_download(9)ipr_reset_shutdown_ioa(9)ipr_reset_ioa_job(9)_ipr_initiate_ioa_reset(9)ipr_initiate_ioa_reset(9)ipr_reset_freeze(9)ipr_pci_mmio_enabled(9)ipr_pci_frozen(9)ipr_pci_slot_reset(9)ipr_pci_perm_failure(9)ipr_pci_error_detected(9)ipr_probe_ioa_part2(9)ipr_free_cmd_blks(9)ipr_free_mem(9)ipr_free_irqs(9)ipr_free_all_resources(9)ipr_alloc_cmd_blks(9)ipr_alloc_mem(9)ipr_initialize_bus_attr(9)ipr_init_regs(9)ipr_init_ioa_cfg(9)ipr_get_chip_info(9)ipr_wait_for_pci_err_recovery(9)ipr_test_intr(9)ipr_test_msi(9)ipr_initiate_ioa_bringdown(9)__ipr_remove(9)ipr_remove(9)ipr_probe(9)ipr_shutdown(9)ipr_halt_done(9)ipr_halt(9)ipr_init(9)ipr_exit(9)
likeβ¦ 220 besties. she said "i have a community." π§
aaaand that's the whole page, bestie π the source/version is ./drivers/scsi and it's dated October 2026 β so jot that down, drink some water, and go modify a mode page. slay πβ¨
π¦ 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