nand_op_par..._split_instr(9)
β¨ NAME β¨
okay so bestie, welcome to the nand_op_par..._split_instr(9) page from the Kernel API Manual π this is all about nand_op_parser_must_split_instr β Checks if an instruction must be split. no cap, that's literally the whole vibe.
πΈ SYNOPSIS πΈ
bool nand_op_parser_must_split_instr (const struct
nand_op_parser_pattern_elem *pat , const struct nand_op_instr *instr ,
unsigned int *start_offset );
π ARGUMENTS π
patβ the parser pattern element that matchesinstr. it's giving βthis is the pattern bestie we're checking against.βinstrβ pointer to the instruction to check. yes, the actual instruction in question πstart_offsetβ this is an in/out parameter, bestie. Ifinstrhas already been split, thenstart_offsetis the offset from which to start (either an address cycle or an offset in the data buffer). Conversely, if the function returnstrue(ie.instrmust be split), this parameter is updated to point to the first data/address cycle that has not been taken care of. in/out means it comes in with info and leaves with new info β main character energy fr fr.
π¦ DESCRIPTION π¦
Some NAND controllers are limited and cannot send X address cycles with a unique operation, or cannot read/write more than Y bytes at the same time. In this case, split the instruction that does not fit in a single controller-operation into two or more chunks. it's giving βthis instruction is too big for one operation, so we're breaking it down.β
Returns true if the instruction must be split, false otherwise. The start_offset parameter is also updated to the offset at which the next bundle of instruction must start (if an address or a data instruction). so yeah, it tells you where the next little chunk should begin β¨
π SEE ALSO π
okay bestie, the whole squad is here β go read these too, iykyk π
Kernel file ./drivers/mtd/nand/raw/nand_base.c nand_extract_bits(9),
nand_select_target(9), nand_deselect_target(9), nand_release_device(9),
nand_bbm_get_next_page(9), nand_block_bad(9), nand_region_is_secured(9),
nand_get_device(9), nand_check_wp(9), nand_fill_oob(9),
nand_do_write_oob(9), nand_default_block_markbad(9),
nand_markbad_bbm(9), nand_block_markbad_lowlevel(9),
nand_block_isreserved(9), nand_block_checkbad(9), nand_soft_waitrdy(9),
nand_gpio_waitrdy(9), panic_nand_wait(9), nand_reset_interface(9),
nand_setup_interface(9), nand_choose_best_sdr_timings(9),
nand_choose_best_nvddr_timings(9), nand_choose_best_timings(9),
nand_choose_interface_config(9), nand_fill_column_cycles(9),
nand_read_page_op(9), nand_read_param_page_op(9),
nand_change_read_column_op(9), nand_read_oob_op(9),
nand_prog_page_begin_op(9), nand_prog_page_end_op(9),
nand_prog_page_op(9), nand_change_write_column_op(9), nand_readid_op(9),
nand_status_op(9), nand_exit_status_op(9), nand_erase_op(9),
nand_set_features_op(9), nand_get_features_op(9), nand_reset_op(9),
nand_read_data_op(9), nand_write_data_op(9), struct
nand_op_parser_ctx(9), nand_op_parser_match_pat(9),
nand_op_parser_exec_op(9), nand_subop_get_addr_start_off(9),
nand_subop_get_num_addr_cyc(9), nand_subop_get_data_start_off(9),
nand_subop_get_data_len(9), nand_reset(9), nand_get_features(9),
nand_set_features(9), nand_read_page_raw_notsupp(9),
nand_read_page_raw(9), nand_monolithic_read_page_raw(9),
nand_read_page_raw_syndrome(9), nand_read_page_swecc(9),
nand_read_subpage(9), nand_read_page_hwecc(9),
nand_read_page_hwecc_oob_first(9), nand_read_page_syndrome(9),
nand_transfer_oob(9), nand_setup_read_retry(9), nand_do_read_ops(9),
nand_read_oob_std(9), nand_read_oob_syndrome(9), nand_write_oob_std(9),
nand_write_oob_syndrome(9), nand_do_read_oob(9), nand_read_oob(9),
nand_write_page_raw_notsupp(9), nand_write_page_raw(9),
nand_monolithic_write_page_raw(9), nand_write_page_raw_syndrome(9),
nand_write_page_swecc(9), nand_write_page_hwecc(9),
nand_write_subpage_hwecc(9), nand_write_page_syndrome(9),
nand_write_page(9), nand_do_write_ops(9), panic_nand_write(9),
nand_write_oob(9), nand_erase(9), nand_erase_nand(9), nand_sync(9),
nand_block_isbad(9), nand_block_markbad(9), nand_suspend(9),
nand_resume(9), nand_shutdown(9), nand_lock(9), nand_unlock(9),
rawnand_dt_parse_gpio_cs(9), nand_scan_ident(9), nand_check_ecc_caps(9),
nand_match_ecc_req(9), nand_maximize_ecc(9), nand_ecc_choose_conf(9),
nand_scan_tail(9), nand_scan_with_ids(9), nand_cleanup(9)
and that's the page, bestie π«Ά this iconic little manual lives in ./drivers/mtd/nand/raw and is dated October 2026 β 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