/* * This function uses the memory initialization block in the Arria10 ECC * controller to initialize/clear the entire memory data and ECC data.
*/ staticint altr_init_memory_port(void __iomem *ioaddr)
{ int limit = ALTR_A10_ECC_INIT_WATCHDOG_10US;
ecc_set_bits(ALTR_A10_ECC_INITA, (ioaddr + ALTR_A10_ECC_CTRL_OFST)); while (limit--) { if (ecc_test_bits(ALTR_A10_ECC_INITCOMPLETEA,
(ioaddr + ALTR_A10_ECC_INITSTAT_OFST))) break;
udelay(1);
} if (limit < 0) return -EBUSY;
/* Use HW initialization block to initialize memory for ECC */
ret = altr_init_memory_port(ecc_block_base); if (ret) {
pr_err("ECC: cannot init OCRAM PORTA memory\n"); gotoexit;
}
/* Ensure all writes complete */
wmb(); exit:
iounmap(ecc_block_base);
}
Messung V0.5
¤ 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.0.16Bemerkung:
(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.