Home
last modified time | relevance | path

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

/Linux-v5.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.c2119 struct bbm_info *bbm = this->bbm; in onenand_block_isbad_nolock() local
2122 return bbm->isbad_bbt(mtd, ofs, allowbbt); in onenand_block_isbad_nolock()
2442 struct bbm_info *bbm = this->bbm; in onenand_default_block_markbad() local
2454 if (bbm->bbt) in onenand_default_block_markbad()
2455 bbm->bbt[block >> 2] |= 0x01 << ((block & 0x03) << 1); in onenand_default_block_markbad()
4003 if (this->bbm) { in onenand_release()
4004 struct bbm_info *bbm = this->bbm; in onenand_release() local
4005 kfree(bbm->bbt); in onenand_release()
4006 kfree(this->bbm); in onenand_release()
/Linux-v5.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
Dnand.h144 * NAND layer. This method should just write the BBM (Bad Block
148 * the BBM and return whether the block is bad or not based on what it
Drawnand.h18 #include <linux/mtd/bbm.h>
1036 * here must come from bbm.h. By default, these options
1041 * bad block marker position; i.e., BBM == 11110111b is
/Linux-v5.4/drivers/mtd/nand/raw/
Dsunxi_nand.c650 static void sunxi_nfc_randomize_bbm(struct nand_chip *nand, int page, u8 *bbm) in sunxi_nfc_randomize_bbm() argument
654 bbm[0] ^= state; in sunxi_nfc_randomize_bbm()
655 bbm[1] ^= sunxi_nfc_randomizer_step(state, 8); in sunxi_nfc_randomize_bbm()
717 int step, bool bbm, int page) in sunxi_nfc_hw_ecc_get_prot_oob_bytes() argument
725 if (bbm && (nand->options & NAND_NEED_SCRAMBLING)) in sunxi_nfc_hw_ecc_get_prot_oob_bytes()
731 bool bbm, int page) in sunxi_nfc_hw_ecc_set_prot_oob_bytes() argument
737 if (bbm && (nand->options & NAND_NEED_SCRAMBLING)) { in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
801 bool bbm, bool oob_required, int page) in sunxi_nfc_hw_ecc_read_chunk() argument
868 bbm, page); in sunxi_nfc_hw_ecc_read_chunk()
1029 int *cur_off, bool bbm, in sunxi_nfc_hw_ecc_write_chunk() argument
[all …]
Dtango_nand.c353 * | M | PKT_0 | ECC_0 | ... | N1 | BBM | N2 | ECC_N |
359 * oob = | BBM | M | ECC_0 | ... | ECC_N |
374 int rem = page_size; /* bytes remaining until BBM area */ in raw_read()
401 int rem = page_size; /* bytes remaining until BBM area */ in raw_write()
Dqcom_nandc.c1661 * The BBM and spare bytes bit flip won’t affect the ECC so don’t check
1875 * leave the real/dummy BBM offsets empty (i.e, filled with in read_page_ecc()
2039 * itself. For the last codeword, we skip the bbm positions and in qcom_nandc_write_page()
2203 * that contains the BBM in qcom_nandc_block_bad()
2213 dev_warn(nandc->dev, "error when trying to read BBM\n"); in qcom_nandc_block_bad()
2238 * to mark the BBM as bad, we flash the entire last codeword with 0s. in qcom_nandc_block_markbad()
2261 dev_err(nandc->dev, "failure to update BBM\n"); in qcom_nandc_block_markbad()
2384 * Block Markers. In the last codeword, this position contains the real BBM
Ddenali.c259 /* This chunk overwraps the BBM area. Must be split */ in denali_payload_xfer()
290 /* BBM at the beginning of the OOB area */ in denali_oob_xfer()
309 /* This chunk overwraps the BBM area. Must be split */ in denali_oob_xfer()
Dnand_bbt.c59 #include <linux/mtd/bbm.h>
437 /* Ignore ECC errors when checking for BBM */ in scan_block_fast()
1334 * This function allocates and initializes a nand_bbt_descr for BBM detection
Dnand_base.c546 * nand_markbad_bbm - mark a block by updating the BBM
4523 * Set the bad block marker/indicator (BBM/BBI) patterns according to some
5159 /* Reserve 2 bytes for the BBM */ in nand_set_ecc_soft_ops()
Dmarvell_nand.c1020 * systems will prevent the discovery of the BBM/BBT. in marvell_nfc_hw_ecc_hmg_do_read_page()
/Linux-v5.4/drivers/mtd/nand/spi/
Dmicron.c55 /* Reserve 2 bytes for the BBM. */ in mt29f2g01abagd_ooblayout_free()
Dparagon.c47 region->offset = 6 + (15 * section); /* 4 BBM + 2 user bytes */ in pn26g0xa_ooblayout_ecc()
Dtoshiba.c46 /* 2 bytes reserved for BBM */ in tc58cxgxsx_ooblayout_free()
Dgigadevice.c123 /* Reserve 1 bytes for the BBM. */ in gd5fxgq4_variant2_ooblayout_free()
Dcore.c284 * the data portion of the page, otherwise we might corrupt the BBM or in spinand_write_to_cache_op()
942 /* Reserve 2 bytes for the BBM. */ in spinand_noecc_ooblayout_free()
/Linux-v5.4/Documentation/devicetree/bindings/mtd/
Dnand-controller.yaml82 find Bad Block Markers (BBM). These markers will help to
/Linux-v5.4/drivers/mtd/nand/
Dcore.c72 pr_warn("failed to write BBM to block @%llx (err = %d)\n", in nanddev_markbad()
/Linux-v5.4/sound/pci/asihpi/
Dhpi6205.c795 /* GRANT phase. Set up the BBM status, tell the DSP about in outstream_host_buffer_allocate()
796 the buffer so it can start using BBM. in outstream_host_buffer_allocate()
901 /* there is no BBM buffer, write via message */ in outstream_write()
932 or enough to fit from current to end of BBM buffer */ in outstream_write()
949 * already written data into the BBM buffer, but the DSP won't know in outstream_write()
1210 or enough to fit from current to end of BBM buffer */ in instream_read()
Dhpi.h396 process data, and BBM host buffer counters are updated.
Dasihpi.c1325 /*? do we want to emulate MMAP for non-BBM cards? in snd_card_asihpi_pcm_new()
/Linux-v5.4/arch/arm64/kernel/
Dhibernate.c259 * Load our new page tables. A strict BBM approach requires that we in create_safe_exec_page()
/Linux-v5.4/include/
DKbuild367 header-test- += linux/mtd/bbm.h