Home
last modified time | relevance | path

Searched full:bbm (Results 1 – 25 of 50) sorted by relevance

12

/linux-6.14.4/drivers/mtd/nand/onenand/
Donenand_bbt.c59 struct bbm_info *bbm = this->bbm; in create_bbt() local
79 numblocks = this->chipsize >> (bbm->bbt_erase_shift - 1); in create_bbt()
103 bbm->bbt[i >> 3] |= 0x03 << (i & 0x6); in create_bbt()
116 from += (1 << bbm->bbt_erase_shift); in create_bbt()
147 struct bbm_info *bbm = this->bbm; in onenand_isbad_bbt() local
153 res = (bbm->bbt[block >> 3] >> (block & 0x06)) & 0x03; in onenand_isbad_bbt()
184 struct bbm_info *bbm = this->bbm; in onenand_scan_bbt() local
189 bbm->bbt = kzalloc(len, GFP_KERNEL); in onenand_scan_bbt()
190 if (!bbm->bbt) in onenand_scan_bbt()
194 bbm->bbt_erase_shift = this->erase_shift; in onenand_scan_bbt()
[all …]
Donenand_base.c2123 struct bbm_info *bbm = this->bbm; in onenand_block_isbad_nolock() local
2126 return bbm->isbad_bbt(mtd, ofs, allowbbt); in onenand_block_isbad_nolock()
2446 struct bbm_info *bbm = this->bbm; in onenand_default_block_markbad() local
2458 if (bbm->bbt) in onenand_default_block_markbad()
2459 bbm->bbt[block >> 2] |= 0x01 << ((block & 0x03) << 1); in onenand_default_block_markbad()
4006 if (this->bbm) { in onenand_release()
4007 struct bbm_info *bbm = this->bbm; in onenand_release() local
4008 kfree(bbm->bbt); in onenand_release()
4009 kfree(this->bbm); in onenand_release()
/linux-6.14.4/drivers/input/keyboard/
Dimx-sm-bbm-key.c96 pr_debug("BBM Button Power key pressed\n"); in scmi_imx_bbm_key_notifier()
100 pr_err("Unexpected BBM event: %s\n", __func__); in scmi_imx_bbm_key_notifier()
123 dev_err(dev, "failed to allocate the input device for SCMI IMX BBM\n"); in scmi_imx_bbm_pwrkey_init()
147 dev_err(dev, "Failed to register BBM Button Events %d:", ret); in scmi_imx_bbm_pwrkey_init()
208 { SCMI_PROTOCOL_IMX_BBM, "imx-bbm-key" },
217 .name = "scmi-imx-bbm-key",
224 MODULE_DESCRIPTION("IMX SM BBM Key driver");
DKconfig458 tristate "IMX BBM SCMI Key Driver"
462 This is the BBM key driver for NXP i.MX SoCs managed through
466 module will be called scmi-imx-bbm-key.
DMakefile34 obj-$(CONFIG_KEYBOARD_IMX_BBM_SCMI) += imx-sm-bbm-key.o
/linux-6.14.4/drivers/virtio/
Dvirtio_mem.c52 * * Big Block Mode (BBM): A Big Block (BB) spans 1..X Linux memory blocks.
88 * State of a Big Block (BB) in BBM, covering 1..X Linux memory blocks.
158 /* If set, the driver is in SBM, otherwise in BBM. */
223 } bbm; member
228 * sbm.sb_states, bbm.bb_count, and bbm.bb_states
346 return addr / vm->bbm.bb_size; in virtio_mem_phys_to_bb_id()
355 return bb_id * vm->bbm.bb_size; in virtio_mem_bb_id_to_phys()
377 const unsigned long idx = bb_id - vm->bbm.first_bb_id; in virtio_mem_bbm_set_bb_state()
380 old_state = vm->bbm.bb_states[idx]; in virtio_mem_bbm_set_bb_state()
381 vm->bbm.bb_states[idx] = state; in virtio_mem_bbm_set_bb_state()
[all …]
/linux-6.14.4/drivers/firmware/arm_scmi/vendors/imx/
DKconfig5 tristate "i.MX SCMI BBM EXTENSION"
9 This enables i.MX System BBM control logic which supports RTC
13 module will be called imx-sm-bbm.
Dimx-sm-bbm.c3 * System Control and Management Interface (SCMI) NXP BBM Protocol
8 #define pr_fmt(fmt) "SCMI Notifications BBM - " fmt
199 dev_dbg(ph->dev, "BBM Button\n"); in scmi_imx_bbm_fill_custom_report()
356 dev_info(ph->dev, "NXP SM BBM Version %d.%d\n", in scmi_imx_bbm_protocol_init()
383 MODULE_DESCRIPTION("i.MX SCMI BBM driver");
DMakefile2 obj-$(CONFIG_IMX_SCMI_BBM_EXT) += imx-sm-bbm.o
/linux-6.14.4/drivers/rtc/
Drtc-imx-sm-bbm.c86 pr_err("Unexpected bbm event: %s\n", __func__); in scmi_imx_bbm_rtc_notifier()
148 { SCMI_PROTOCOL_IMX_BBM, "imx-bbm-rtc" },
154 .name = "scmi-imx-bbm-rtc",
161 MODULE_DESCRIPTION("IMX SM BBM RTC driver");
/linux-6.14.4/include/linux/mtd/
Donenand.h16 #include <linux/mtd/bbm.h>
80 * @bbm: [REPLACEABLE] pointer to Bad Block Management
135 void *bbm; member
Dbbm.h3 * NAND family Bad Block Management (BBM) header file
124 * @priv: [OPTIONAL] pointer to private bbm date
Drawnand.h19 #include <linux/mtd/bbm.h>
208 * Some controllers with pipelined ECC engines override the BBM marker with
211 * BBM and consider all blocks good.
1246 * come from bbm.h. By default, these options will be copied to
1250 * position; i.e., BBM = 11110111b is good when badblockbits = 7
/linux-6.14.4/drivers/mtd/nand/raw/
Drockchip-nand-controller.c546 * so chip->oob_poi[0] is the bad block mask (BBM). in rk_nfc_write_page_raw()
550 * PA0 PA1 PA2 PA3 | BBM OOB1 OOB2 OOB3 | ... in rk_nfc_write_page_raw()
554 * 0xFF 0xFF 0xFF 0xFF | BBM OOB1 OOB2 OOB3 | ... in rk_nfc_write_page_raw()
561 * BBM OOB1 OOB2 OOB3 |......| PA0 PA1 PA2 PA3 in rk_nfc_write_page_raw()
564 * these 4 bytes together with 2 bytes for BBM in rk_nfc_write_page_raw()
615 * conflicts for example with the bad block marker (BBM), in rk_nfc_write_page_hwecc()
616 * so we shift all OOB data including the BBM with 4 byte positions. in rk_nfc_write_page_hwecc()
620 * PA0 PA1 PA2 PA3 | BBM OOB1 OOB2 OOB3 | ... in rk_nfc_write_page_hwecc()
625 * 0xFF 0xFF 0xFF 0xFF | BBM OOB1 OOB2 OOB3 | ... in rk_nfc_write_page_hwecc()
632 * BBM OOB1 OOB2 OOB3 |......| PA0 PA1 PA2 PA3 in rk_nfc_write_page_hwecc()
Dsunxi_nand.c660 static void sunxi_nfc_randomize_bbm(struct nand_chip *nand, int page, u8 *bbm) in sunxi_nfc_randomize_bbm() argument
664 bbm[0] ^= state; in sunxi_nfc_randomize_bbm()
665 bbm[1] ^= sunxi_nfc_randomizer_step(state, 8); in sunxi_nfc_randomize_bbm()
716 int step, bool bbm, int page) in sunxi_nfc_hw_ecc_get_prot_oob_bytes() argument
724 if (bbm && (nand->options & NAND_NEED_SCRAMBLING)) in sunxi_nfc_hw_ecc_get_prot_oob_bytes()
730 bool bbm, int page) in sunxi_nfc_hw_ecc_set_prot_oob_bytes() argument
736 if (bbm && (nand->options & NAND_NEED_SCRAMBLING)) { in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
800 bool bbm, bool oob_required, int page) in sunxi_nfc_hw_ecc_read_chunk() argument
867 bbm, page); in sunxi_nfc_hw_ecc_read_chunk()
1033 int *cur_off, bool bbm, in sunxi_nfc_hw_ecc_write_chunk() argument
[all …]
Dqcom_nandc.c556 * The BBM and spare bytes bit flip won’t affect the ECC so don’t check
769 * leave the real/dummy BBM offsets empty (i.e, filled with in read_page_ecc()
1014 * itself. For the last codeword, we skip the bbm positions and in qcom_nandc_write_page()
1175 * that contains the BBM in qcom_nandc_block_bad()
1185 dev_warn(nandc->dev, "error when trying to read BBM\n"); in qcom_nandc_block_bad()
1210 * to mark the BBM as bad, we flash the entire last codeword with 0s. in qcom_nandc_block_markbad()
1230 dev_err(nandc->dev, "failure to update BBM\n"); in qcom_nandc_block_markbad()
1295 * Block Markers. In the last codeword, this position contains the real BBM
Dnand_bbt.c59 #include <linux/mtd/bbm.h>
437 /* Ignore ECC errors when checking for BBM */ in scan_block_fast()
457 * No need to check for a bad BBT block if the BBM area overlaps with in bbt_block_checkbad()
458 * the bad block table marker area in OOB since writing a BBM here in bbt_block_checkbad()
1366 * This function allocates and initializes a nand_bbt_descr for BBM detection
/linux-6.14.4/drivers/mtd/nand/
Decc-sw-bch.c213 /* Reserve 2 bytes for the BBM */ in nand_ecc_sw_bch_init_ctx()
308 /* This engine does not provide BBM/free OOB bytes protection */ in nand_ecc_sw_bch_prepare_io_req()
347 /* This engine does not provide BBM/free OOB bytes protection */ in nand_ecc_sw_bch_finish_io_req()
/linux-6.14.4/drivers/mtd/nand/spi/
Dmicron.c78 /* Reserve 2 bytes for the BBM. */ in micron_8_ooblayout_free()
118 /* section 0 has two bytes reserved for the BBM */ in micron_4_ooblayout_free()
Dato.c51 /* first byte of section 0 is reserved for the BBM */ in ato25d1ga_ooblayout_free()
Dforesee.c40 /* Reserve 2 bytes for the BBM. */ in f35sqa002g_ooblayout_free()
Dparagon.c47 region->offset = 6 + (15 * section); /* 4 BBM + 2 user bytes */ in pn26g0xa_ooblayout_ecc()
Dskyhigh.c48 /* ECC bytes are stored in hidden area. Reserve 2 bytes for the BBM. */ in skyhigh_spinand_ooblayout_free()
/linux-6.14.4/arch/arm64/kernel/
Drelocate_kernel.S50 ldr x18, [x0, #KIMAGE_ARCH_ZERO_PAGE] /* x18 = zero page for BBM */
/linux-6.14.4/Documentation/devicetree/bindings/mtd/
Draw-nand-chip.yaml66 find Bad Block Markers (BBM). These markers will help to

12