Home
last modified time | relevance | path

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

1234567

/linux/tools/testing/selftests/net/af_unix/
H A Dtest_unix_oob.c
H A Dmsg_oob.c384 TEST_F(msg_oob, oob) in TEST_F() argument
395 resetpair(false); /* TCP sets -ECONNRESET for ex-OOB. */ in TEST_F()
414 recvpair("", -EAGAIN, 1, 0); /* Drop OOB. */ in TEST_F()
440 resetpair(false); /* TCP sets -ECONNRESET for ex-OOB. */ in TEST_F()
450 recvpair("hell", 4, 5, 0); /* Break at OOB even with enough buffer. */ in TEST_F()
478 recvpair("hell", 4, 9, 0); /* Break at OOB even after it's recv()ed. */ in TEST_F()
499 recvpair("hell", 4, 10, 0); /* Break at OOB even with enough buffer. */ in TEST_F()
503 recvpair("world", 5, 10, 0); /* Drop OOB and recv() the next skb. */ in TEST_F()
528 recvpair("hellowo", 7, 10, 0); /* Break at OOB but not at ex-OOB. */ in TEST_F()
638 resetpair(false); /* TCP sets -ECONNRESET for ex-OOB. */ in TEST_F()
[all …]
/linux/drivers/mtd/parsers/
H A Dsharpslpart.c35 /* oob structure */
69 /* verify that the OOB bytes 8 to 15 are free and available for the FTL */
115 * The logical block number assigned to a physical block is stored in the OOB
128 * ECC BB xyxy oob[8]==oob[10] && oob[9]==oob[11] -> byte0=8 byte1=9
129 * ECC BB xyxy oob[10]==oob[12] && oob[11]==oob[13] -> byte0=10 byte1=11
130 * ECC BB xy xy oob[12]==oob[8] && oob[13]==oob[9] -> byte0=12 byte1=13
132 static int sharpsl_nand_get_logical_num(u8 *oob) in sharpsl_nand_get_logical_num() argument
137 if (oob[NAND_NOOB_LOGADDR_00] == oob[NAND_NOOB_LOGADDR_10] && in sharpsl_nand_get_logical_num()
138 oob[NAND_NOOB_LOGADDR_01] == oob[NAND_NOOB_LOGADDR_11]) { in sharpsl_nand_get_logical_num()
141 } else if (oob[NAND_NOOB_LOGADDR_10] == oob[NAND_NOOB_LOGADDR_20] && in sharpsl_nand_get_logical_num()
[all …]
/linux/drivers/mtd/
H A Dsm_ftl.c127 /* ----------------------- oob helpers -------------------------------------- */
148 static int sm_read_lba(struct sm_oob *oob) in sm_read_lba() argument
157 if (!memcmp(oob, erased_pattern, SM_OOB_SIZE)) in sm_read_lba()
161 lba_test = *(uint16_t *)oob->lba_copy1 ^ *(uint16_t*)oob->lba_copy2; in sm_read_lba()
166 lba = sm_get_lba(oob->lba_copy1); in sm_read_lba()
169 lba = sm_get_lba(oob->lba_copy2); in sm_read_lba()
174 static void sm_write_lba(struct sm_oob *oob, uint16_t lba) in sm_write_lba() argument
186 oob->lba_copy1[0] = oob->lba_copy2[0] = tmp[0]; in sm_write_lba()
187 oob->lba_copy1[1] = oob->lba_copy2[1] = tmp[1]; in sm_write_lba()
217 static int sm_correct_sector(uint8_t *buffer, struct sm_oob *oob) in sm_correct_sector() argument
[all …]
H A Dinftlcore.c134 * Read oob data from flash
154 * Write oob data to flash
174 * Write data and oob to flash
177 size_t *retlen, uint8_t *buf, uint8_t *oob) in inftl_write() argument
185 ops.oobbuf = oob; in inftl_write()
244 struct inftl_oob oob; in INFTL_foldchain() local
274 (char *)&oob) < 0) in INFTL_foldchain()
277 status = oob.b.Status | oob.b.Status1; in INFTL_foldchain()
347 memset(&oob, 0xff, sizeof(struct inftl_oob)); in INFTL_foldchain()
348 oob.b.Status = oob.b.Status1 = SECTOR_USED; in INFTL_foldchain()
[all …]
/linux/drivers/mtd/nand/raw/
H A Dsm_common.h9 /* Full oob structure as written on the flash */
24 /* oob area is also 16 bytes, but might be from two pages */
39 static inline int sm_sector_valid(struct sm_oob *oob) in sm_sector_valid() argument
41 return hweight16(oob->data_status) >= 5; in sm_sector_valid()
44 static inline int sm_block_valid(struct sm_oob *oob) in sm_block_valid() argument
46 return hweight16(oob->block_status) >= 7; in sm_block_valid()
49 static inline int sm_block_erased(struct sm_oob *oob) in sm_block_erased() argument
55 if (!memcmp(oob, erased_pattern, sizeof(*oob))) in sm_block_erased()
H A Dfsl_elbc_nand.c61 unsigned int oob; /* Non zero if operating on OOB data */ member
118 * ELBC may use HW ECC, so that OOB offsets, that NAND core uses for bbt,
120 * OOB {11, 5}, works for both SP and LP chips, with ECCM = 1 and ECCM = 0.
151 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument
170 (oob ? FPAR_LP_MS : 0) | column); in set_addr()
180 (oob ? FPAR_SP_MS : 0) | column); in set_addr()
187 /* for OOB data point to the second half of the buffer */ in set_addr()
188 if (oob) in set_addr()
275 static void fsl_elbc_do_read(struct nand_chip *chip, int oob) in fsl_elbc_do_read() argument
298 if (oob) in fsl_elbc_do_read()
[all …]
H A Dsm_common.c56 /* because the 256 byte devices have page dependent oob layout */
103 struct sm_oob oob; in sm_block_markbad() local
106 memset(&oob, -1, SM_OOB_SIZE); in sm_block_markbad()
107 oob.block_status = 0x0F; in sm_block_markbad()
114 ops.oobbuf = (void *)&oob; in sm_block_markbad()
H A Dcadence-nand-controller.c517 * part of oob area of NAND flash memory page.
1449 /* Set oob data to 0xFF. */ in cadence_nand_write_page()
1460 u8 *oob; in cadence_nand_write_page() local
1463 oob = chip->oob_poi; in cadence_nand_write_page()
1465 oob = cdns_ctrl->buf + mtd->writesize; in cadence_nand_write_page()
1469 page, (void *)buf, oob, in cadence_nand_write_page()
1482 /* Transfer the data to the oob area. */ in cadence_nand_write_page()
1563 const u8 *oob = chip->oob_poi; in cadence_nand_write_page_raw() local
1568 /* BBM at the beginning of the OOB area. */ in cadence_nand_write_page_raw()
1569 memcpy(tmp_buf + writesize, oob, oob_skip); in cadence_nand_write_page_raw()
[all …]
H A Dnand_bbt.c31 * The table is marked in the OOB area with an ident pattern and a version
33 * controller needs the complete OOB area for the ECC information then the
36 * and the OOB area will remain untouched.
140 * The length will be 0 if the marker is located in OOB area.
186 * In case the BBT marker is not in the OOB area it in read_bbt()
286 /* BBT marker is in the first page, no OOB */
302 * scan_read_oob - [GENERIC] Scan data+OOB region to buffer
308 * Scan read data from data+OOB. May traverse multiple pages, interleaving
309 * page,OOB,page,OOB,... in buf. Completes transfer and returns the "strongest"
352 /* Scan write data with oob to flash */
[all …]
H A Dlpc32xx_slc.c382 * Read the OOB data from the device without ECC using FIFO method
392 * Write the OOB data to the device without ECC using FIFO method
403 * Fills in the ECC fields in the OOB buffer with the hardware generated ECC
597 * Read the data and OOB data from the device, use ECC correction with the
598 * data, disable ECC for the OOB data
612 /* Read data and oob, calculate ECC */ in lpc32xx_nand_read_page_syndrome()
615 /* Get OOB data */ in lpc32xx_nand_read_page_syndrome()
644 * Read the data and OOB data from the device, no ECC correction with the
645 * data or OOB data
664 * Write the data and OOB data to the device, use ECC with the data,
[all …]
H A Dfsl_ifc_nand.c50 unsigned int oob; /* Non zero if operating on OOB data */ member
139 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument
150 ifc_out32((oob ? IFC_NAND_COL_MS : 0) | column, &ifc->ifc_nand.col0); in set_addr()
157 /* for OOB data point to the second half of the buffer */ in set_addr()
158 if (oob) in set_addr()
251 int oob, in fsl_ifc_do_read() argument
279 if (oob) in fsl_ifc_do_read()
319 /* READOOB reads only the OOB because no ECC is performed. */ in fsl_ifc_cmdfunc()
385 ifc_nand_ctrl->oob = 0; in fsl_ifc_cmdfunc()
436 /* OOB area --> READOOB */ in fsl_ifc_cmdfunc()
[all …]
H A Dqcom_nandc.c550 * 1. Both DATA and OOB need to be checked for number of 0. The
551 * top-level API can be called with only data buf or OOB buf so use
552 * chip->data_buf if data buf is null and chip->oob_poi if oob buf
555 * 3. For each CW, check the number of 0 in cw_data and usable OOB bytes.
790 dev_err(nandc->dev, "failure to read page/oob\n"); in read_page_ecc()
798 * a helper that copies the last step/codeword of a page (containing free oob)
1012 * to oob for the first n - 1 codewords since these oob regions in qcom_nandc_write_page()
1015 * write to the free oob area. in qcom_nandc_write_page()
1115 * the NAND controller cannot write only data or only OOB within a codeword
1116 * since ECC is calculated for the combined codeword. So update the OOB from
[all …]
/linux/include/uapi/mtd/
H A Dmtd-abi.h52 * @MTD_OPS_PLACE_OOB: OOB data are placed at the given offset (default)
53 * @MTD_OPS_AUTO_OOB: OOB data are automatically placed at the free areas
73 * @ooblen: length of OOB buffer (only lower 32 bits are used)
75 * @usr_oob: user-provided OOB buffer
79 * This structure supports ioctl(MEMWRITE) operations, allowing data and/or OOB
80 * writes in various modes. To write to OOB-only, set @usr_data == NULL, and to
118 * @ooblen: length of OOB buffer (only lower 32 bits are used)
120 * @usr_oob: user-provided OOB buffer
125 * This structure supports ioctl(MEMREAD) operations, allowing data and/or OOB
126 * reads in various modes. To read from OOB-only, set @usr_data == NULL, and to
[all …]
/linux/include/linux/mtd/
H A Dbbm.h24 * @offs: offset of the pattern in the oob area of the page
25 * @veroffs: offset of the bbt version counter in the oob are of the page
38 * that the pattern and the version count are always located in the oob area
73 * unavailable, for example, if the NAND controller has a different data and OOB
84 * Use a flash based bad block table. By default, OOB identifier is saved in
85 * OOB area. This option is passed to the default bad block table function.
89 * Do not store flash based bad block table marker in the OOB area; store it
94 * Do not write new bad block markers to OOB; useful, e.g., when ECC covers
H A Dmtd.h50 * struct mtd_oob_ops - oob operation operands
57 * @ooblen: number of oob bytes to write/read
58 * @oobretlen: number of oob bytes written/read
59 * @ooboffs: offset of oob data in the oob area (only relevant when
61 * @datbuf: data buffer - if NULL only oob data are read/written
62 * @oobbuf: oob data buffer
64 * Note, some MTD drivers do not allow you to write more than one OOB area at
83 * struct mtd_oob_region - oob region definition
87 * This structure describes a region of the OOB area, and is used
89 * Each section is defined by an offset within the OOB area and a
[all …]
/linux/drivers/media/dvb-frontends/
H A Dmxl692_defs.h88 /* OOB */
147 /* OOB */
232 /* Enum of MPEG Data format, used in MPEG and OOB output configuration */
241 /* Enum of MPEG Clock format, used in MPEG and OOB output configuration */
286 /* Enum of Demodulator IQ setup, used in QAM, OOB configuration and status */
293 /* Enum of OOB Demodulator symbol rates, used in OOB configuration */
458 /* OOB Demodulator parameters struct, used in OOB params configuration */
465 /* OOB Demodulator error counters */
472 /* OOB status */
/linux/drivers/mtd/devices/
H A Ddocg3.c40 * - a 1 byte Hamming code stored in the OOB for each page
41 * - a 7 bytes BCH code stored in the OOB for each page
594 * reading OOB only or write status byte).
625 * It's in fact recv_ecc ^ calc_ecc, where recv_ecc was read from OOB
859 * @ops: the mtd oob structure
861 * Reads flash memory OOB area of pages.
889 doc_dbg("doc_read_oob(from=%lld, mode=%d, data=(%p:%zu), oob=(%p:%zu))\n", in doc_read_oob()
930 doc_dbg("OOB - INFO: %*phC\n", 7, oobbuf); in doc_read_oob()
931 doc_dbg("OOB - HAMMING: %02x\n", oobbuf[7]); in doc_read_oob()
932 doc_dbg("OOB - BCH_ECC: %*phC\n", 7, oobbuf + 8); in doc_read_oob()
[all …]
/linux/drivers/mtd/tests/
H A Dreadtest.c63 pr_err("error: read oob failed at " in read_eraseblock_by_page()
83 int pg, oob; in dump_eraseblock() local
98 pr_info("dumping oob from eraseblock %d\n", ebnum); in dump_eraseblock()
101 for (oob = 0; oob < n;) { in dump_eraseblock()
105 for (j = 0; j < 32 && oob < n; j++, oob++, i++) in dump_eraseblock()
149 "eraseblock %u, OOB size %u\n", in mtd_readtest_init()
/linux/drivers/usb/serial/
H A Ddigi_acceleport.c59 * "OOB": can be used on the out-of-band endpoint
61 #define DIGI_CMD_SET_BAUD_RATE 0 /* INB, OOB */
62 #define DIGI_CMD_SET_WORD_SIZE 1 /* INB, OOB */
63 #define DIGI_CMD_SET_PARITY 2 /* INB, OOB */
64 #define DIGI_CMD_SET_STOP_BITS 3 /* INB, OOB */
65 #define DIGI_CMD_SET_INPUT_FLOW_CONTROL 4 /* INB, OOB */
66 #define DIGI_CMD_SET_OUTPUT_FLOW_CONTROL 5 /* INB, OOB */
67 #define DIGI_CMD_SET_DTR_SIGNAL 6 /* INB, OOB */
68 #define DIGI_CMD_SET_RTS_SIGNAL 7 /* INB, OOB */
69 #define DIGI_CMD_READ_INPUT_SIGNALS 8 /* OOB */
[all …]
/linux/Documentation/devicetree/bindings/ata/
H A Dnvidia,tegra-ahci.yaml34 - const: sata-oob
44 - const: sata-oob
170 clock-names = "sata", "sata-oob";
174 reset-names = "sata", "sata-cold", "sata-oob";
H A Dceva,ahci-1v84.yaml43 OOB timing value for COMINIT parameter for port 0.
55 OOB timing value for COMWAKE parameter for port 0.
89 OOB timing value for COMINIT parameter for port 1.
101 OOB timing value for COMWAKE parameter for port 1.
/linux/Documentation/devicetree/bindings/mtd/
H A Draw-nand-chip.yaml37 but can be explicitly set to "oob", if all ECC bytes are
38 known to be stored in the OOB area, or "interleaved" if ECC
41 enum: [ oob, interleaved ]
75 providing the best strength and taking the OOB area size
/linux/drivers/scsi/isci/
H A Dphy.c160 /* Hold OOB state machine in reset */ in sci_phy_link_layer_initialization()
538 /* Release the spinup hold state and reset the OOB state machine */ in sci_phy_consume_power_handler()
547 /* Now restart the OOB operation */ in sci_phy_consume_power_handler()
700 /* Start the oob/sn state machine over again */ in sci_phy_event_handler()
733 * continue OOB/SN as if this were a SATA PHY */ in sci_phy_event_handler()
747 /* Start the oob/sn state machine over again */ in sci_phy_event_handler()
763 * SATA PHY event continue OOB/SN as if this were a in sci_phy_event_handler()
772 /* Start the oob/sn state machine over again */ in sci_phy_event_handler()
779 /* Start the oob/sn state machine over again */ in sci_phy_event_handler()
817 /* There has been a change in the phy type before OOB/SN for the in sci_phy_event_handler()
[all …]
/linux/Documentation/scsi/
H A Dlibsas.rst11 phy/OOB/link management, the SAS layer is concerned with:
25 phy/OOB management, and vendor specific tasks and generates
40 start OOB (at which point your driver will start calling the
84 - you set this when OOB has finished and then notify
236 *but* before you enable the phys to do OOB::
337 - OOB went fine and oob_mode is valid
340 - Error while doing OOB, the device probably

1234567