| /linux/tools/testing/selftests/net/af_unix/ |
| H A D | test_unix_oob.c | |
| H A D | msg_oob.c | 406 TEST_F(msg_oob, oob) in TEST_F() 417 resetpair(false); /* TCP sets -ECONNRESET for ex-OOB. */ in TEST_F() 436 recvpair("", -EAGAIN, 1, 0); /* Drop OOB. */ in TEST_F() 462 resetpair(false); /* TCP sets -ECONNRESET for ex-OOB. */ in TEST_F() 472 recvpair("hell", 4, 5, 0); /* Break at OOB even with enough buffer. */ in TEST_F() 500 recvpair("hell", 4, 9, 0); /* Break at OOB even after it's recv()ed. */ in TEST_F() 521 recvpair("hell", 4, 10, 0); /* Break at OOB even with enough buffer. */ in TEST_F() 525 recvpair("world", 5, 10, 0); /* Drop OOB and recv() the next skb. */ in TEST_F() 550 recvpair("hellowo", 7, 10, 0); /* Break at OOB but not at ex-OOB in TEST_F() 384 TEST_F(msg_oob,oob) TEST_F() argument [all...] |
| /linux/drivers/mtd/parsers/ |
| H A D | sharpslpart.c | 35 /* 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/net/rxrpc/ |
| H A D | oob.c | 70 * Locate the OOB message to respond to by its ID. 93 * Add an OOB message into the pending-response set. We always assign the next 174 * Allow userspace to respond to an OOB using sendmsg(). 262 * @oob: The message to query 273 enum rxrpc_oob_type rxrpc_kernel_query_oob(struct sk_buff *oob, in rxrpc_kernel_query_oob() argument 277 struct rxrpc_skb_priv *sp = rxrpc_skb(oob); in rxrpc_kernel_query_oob() 278 enum rxrpc_oob_type type = oob->mark; in rxrpc_kernel_query_oob() 297 * rxrpc_kernel_dequeue_oob - Dequeue and return the front OOB message 301 * Dequeue the front OOB message, if there is one, and return it and 304 * Return: The sk_buff representing the OOB message or %NULL if the queue was [all …]
|
| /linux/drivers/mtd/nand/raw/ |
| H A D | sm_common.h | 9 /* 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 D | fsl_elbc_nand.c | 61 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 D | sm_common.c | 56 /* 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 D | nand_bbt.c | 31 * 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 D | lpc32xx_slc.c | 382 * 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 605 * Read the data and OOB data from the device, use ECC correction with the 606 * data, disable ECC for the OOB data 620 /* Read data and oob, calculate ECC */ in lpc32xx_nand_read_page_syndrome() 623 /* Get OOB data */ in lpc32xx_nand_read_page_syndrome() 652 * Read the data and OOB data from the device, no ECC correction with the 653 * data or OOB data 672 * Write the data and OOB data to the device, use ECC with the data, [all …]
|
| H A D | cadence-nand-controller.c | 568 * part of oob area of NAND flash memory page. 1500 /* Set oob data to 0xFF. */ in cadence_nand_write_page() 1511 u8 *oob; in cadence_nand_write_page() local 1514 oob = chip->oob_poi; in cadence_nand_write_page() 1516 oob = cdns_ctrl->buf + mtd->writesize; in cadence_nand_write_page() 1520 page, (void *)buf, oob, in cadence_nand_write_page() 1533 /* Transfer the data to the oob area. */ in cadence_nand_write_page() 1614 const u8 *oob = chip->oob_poi; in cadence_nand_write_page_raw() local 1619 /* BBM at the beginning of the OOB area. */ in cadence_nand_write_page_raw() 1620 memcpy(tmp_buf + writesize, oob, oob_skip); in cadence_nand_write_page_raw() [all …]
|
| H A D | fsl_ifc_nand.c | 51 unsigned int oob; /* Non zero if operating on OOB data */ member 140 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument 151 ifc_out32((oob ? IFC_NAND_COL_MS : 0) | column, &ifc->ifc_nand.col0); in set_addr() 158 /* for OOB data point to the second half of the buffer */ in set_addr() 159 if (oob) in set_addr() 252 int oob, in fsl_ifc_do_read() argument 280 if (oob) in fsl_ifc_do_read() 320 /* READOOB reads only the OOB because no ECC is performed. */ in fsl_ifc_cmdfunc() 386 ifc_nand_ctrl->oob = 0; in fsl_ifc_cmdfunc() 437 /* OOB area --> READOOB */ in fsl_ifc_cmdfunc() [all …]
|
| /linux/drivers/mtd/ |
| H A D | nftlcore.c | 121 * Read oob data from flash 142 * Write oob data to flash 165 * Write data and oob to flash 168 size_t *retlen, uint8_t *buf, uint8_t *oob) in nftl_write() argument 177 ops.oobbuf = oob; in nftl_write() 234 struct nftl_oob oob; in NFTL_move_block() local 244 memset(&oob, 0xff, sizeof(struct nftl_oob)); in NFTL_move_block() 245 oob.b.Status = oob.b.Status1 = SECTOR_USED; in NFTL_move_block() 247 nftl_write(mtd, dst, 512, &retlen, movebuf, (char *)&oob); in NFTL_move_block() 260 struct nftl_oob oob; in NFTL_foldchain() local [all …]
|
| H A D | inftlcore.c | 134 * 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 …]
|
| H A D | mtdcore.c | 1859 * mtd_ooblayout_ecc - Get the OOB region definition of a specific ECC section 1865 * @oobecc: OOB region struct filled with the appropriate ECC position 1868 * This function returns ECC section information in the OOB area. If you want 1892 * mtd_ooblayout_free - Get the OOB region definition of a specific free 1899 * @oobfree: OOB region struct filled with the appropriate free position 1902 * This function returns free bytes position in the OOB area. If you want 1981 * @oobregion: OOB region information 1998 * mtd_ooblayout_get_bytes - Extract OOB bytes from the oob buffer 2000 * @buf: destination buffer to store OOB bytes 2001 * @oobbuf: OOB buffer [all …]
|
| /linux/include/uapi/mtd/ |
| H A D | mtd-abi.h | 52 * @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 D | bbm.h | 24 * @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 D | mtd.h | 50 * 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 D | mxl692_defs.h | 88 /* 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/tests/ |
| H A D | readtest.c | 63 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/mtd/nand/raw/brcmnand/ |
| H A D | brcmnand.c | 283 u8 *oob; member 291 u8 *oob, u32 len, u8 dma_cmd); 1454 "error: ECC too large for OOB (ECC bytes %d, spare sector %d)\n", in brcmstb_choose_ecc_layout() 1507 /* Helper functions for reading and writing OOB registers */ 1546 * read_oob_from_regs - read data from OOB registers 1549 * @oob: buffer to read to 1550 * @sas: spare area sector size (i.e., OOB size per FLASH_CACHE) 1553 static int read_oob_from_regs(struct brcmnand_controller *ctrl, int i, u8 *oob, in read_oob_from_regs() argument 1559 /* Adjust OOB values for 1K sector size */ in read_oob_from_regs() 1565 oob[j] = oob_reg_read(ctrl, j); in read_oob_from_regs() [all …]
|
| /linux/Documentation/translations/zh_CN/scsi/ |
| H A D | libsas.rst | 18 关的问题;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 D | nvidia,tegra-ahci.yaml | 34 - const: sata-oob 44 - const: sata-oob 170 clock-names = "sata", "sata-oob"; 174 reset-names = "sata", "sata-cold", "sata-oob";
|
| /linux/drivers/scsi/isci/ |
| H A D | phy.c | 160 /* 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 D | libsas.rst | 11 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/gpu/drm/xe/ |
| H A D | xe_wa.c | 95 * - Other/OOB: There are WAs that, due to their nature, cannot be applied from 827 * xe_wa_process_device_oob - process OOB workaround table 830 * process OOB workaround table for this device, marking in @xe the 838 xe_rtp_process_ctx_enable_active_tracking(&ctx, xe->wa_active.oob, device_oob_was.n_entries); in xe_wa_process_device_oob() 845 * xe_wa_process_gt_oob - process GT OOB workaround table 848 * Process OOB workaround table for this platform, marking in @gt the 855 xe_rtp_process_ctx_enable_active_tracking(&ctx, gt->wa_active.oob, in xe_wa_process_gt_oob() 913 * xe_wa_device_init - initialize device with workaround oob bookkeeping 929 xe->wa_active.oob = p; in xe_wa_device_init() 962 gt->wa_active.oob = p; in xe_wa_gt_init() [all …]
|