/* * Status of erase and write operation
*/ #define DOC_PLANES_STATUS_FAIL 0x01 #define DOC_PLANES_STATUS_PLANE0_KO 0x02 #define DOC_PLANES_STATUS_PLANE1_KO 0x04
/* * DPS key management * * Each floor of docg3 has 2 protection areas: DPS0 and DPS1. These areas span * across block boundaries, and define whether these blocks can be read or * written. * The definition is dynamically stored in page 0 of blocks (2,3) for DPS0, and * page 0 of blocks (4,5) for DPS1.
*/ #define DOC_LAYOUT_DPS_KEY_LENGTH 8
/** * struct docg3_cascade - Cascade of 1 to 4 docg3 chips * @floors: floors (ie. one physical docg3 chip is one floor) * @base: IO space to access all chips in the cascade * @bch: the BCH correcting control structure * @lock: lock to protect docg3 IO space from concurrent accesses
*/ struct docg3_cascade { struct mtd_info *floors[DOC_MAX_NBFLOORS]; void __iomem *base; struct bch_control *bch; struct mutex lock;
};
/** * struct docg3 - DiskOnChip driver private data * @dev: the device currently under control * @cascade: the cascade this device belongs to * @device_id: number of the cascaded DoCG3 device (0, 1, 2 or 3) * @if_cfg: if true, reads are on 16bits, else reads are on 8bits
* @reliable: if 0, docg3 in normal mode, if 1 docg3 in fast mode, if 2 in * reliable mode * Fast mode implies more errors than normal mode. * Reliable mode implies that page 2*n and 2*n+1 are clones. * @bbt: bad block table cache * @oob_write_ofs: offset of the MTD where this OOB should belong (ie. in next * page_write) * @oob_autoecc: if 1, use only bytes 0-7, 15, and fill the others with HW ECC * if 0, use all the 16 bytes. * @oob_write_buf: prepared OOB for next page_write
*/ struct docg3 { struct device *dev; struct docg3_cascade *cascade; unsignedint device_id:4; unsignedint if_cfg:1; unsignedint reliable:2; int max_block;
u8 *bbt;
loff_t oob_write_ofs; int oob_autoecc;
u8 oob_write_buf[DOC_LAYOUT_OOB_SIZE];
};
/* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_PATH . #define TRACE_INCLUDE_FILE docg3 #include <trace/define_trace.h>
Messung V0.5
¤ Dauer der Verarbeitung: 0.59 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.