
15 May
2012
15 May
'12
11:14 p.m.
On 05/07/2012 02:26 AM, Amit Virdi wrote:
- while (num_err--) {
change_bit(0, &err_idx[i]);
change_bit(1, &err_idx[i]);
if (err_idx[i] < 512 * 8) {
change_bit(err_idx[i], dat);
i++;
}
- }
Is it normal to not count bit flips in the ECC itself?
+{
- u_int ecc_tmp;
- switch (fsmc_version) {
- case FSMC_VER8:
/* Busy waiting for ecc computation to finish for 512 bytes */
while (!(readl(&fsmc_regs_p->sts) & FSMC_CODE_RDY))
;
Timeout?
- /*
* ecc_oob is intentionally taken as u16. In 16bit devices, we end up
* reading 14 bytes (7 words) from oob. The local array is to maintain
* word alignment
*/
- uint16_t ecc_oob[7];
- uint8_t *oob = (uint8_t *)&ecc_oob[0];
Please use a union, or better an explicit alignment attribute.
+enum {
- FSMC_VER1 = 1,
- FSMC_VER2,
- FSMC_VER3,
- FSMC_VER4,
- FSMC_VER5,
- FSMC_VER6,
- FSMC_VER7,
- FSMC_VER8,
+};
Is this really necessary?
-Scott