Home
last modified time | relevance | path

Searched full:oob (Results 1 – 25 of 152) 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/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 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 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/drivers/mtd/
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/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/translations/zh_CN/scsi/
H A Dlibsas.rst18 关的问题;SAS LLDD 及其序列控制器负责 PHY 层、OOB 信号以及链路
30 SAS LLDD 是一种 PCI 设备驱动程序。它负责 PHY 层和 OOB(带外)
42 以启动实际的 OOB(带外)过程;此时驱动将开始调用 notify_* 系
85 - 当 OOB(带外信号)完成后,设置此字段,然后通知 SAS 层。
221 函数的最后调用)但必须在使能 PHY 执行 OOB 之前调用::
320 - OOB 过程成功完成,oob_mode 有效。
323 - 执行 OOB 过程中出现错误,设备可能已断开。 [1]_
/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
/linux/drivers/mtd/nand/
H A Decc-realtek.c19 * It can run for arbitrary NAND flash chips with different block and OOB sizes. Currently there
23 * blocks and 64 bytes oob.
26 * Realtek naming conventions for the different structures in the OOB area.
28 * - BBI : Bad block indicator. The first two bytes of OOB. Protected by ECC!
169 * and 6 free bytes. In case the NAND area has been erased and all data and oob is in rtl_ecc_wait_for_engine()
315 dev_err(dev, "only flash geometry data=%d, oob=%d supported\n", in rtl_ecc_check_support()
324 dev_err(dev, "only algo=bch, strength=%d, placement=oob, step=%d supported\n", in rtl_ecc_check_support()
/linux/include/linux/platform_data/
H A Dbrcmfmac.h68 * @oob_irq_supported: does the board have support for OOB interrupts. SDIO
73 * the oob related fields.
75 * @oob_irq_flags: the OOB interrupt information. The values are used for

1234567