/* *WeneedtocheckhowmanywordsareavailableintheRNGFIFO.If *therearen'tany,weneedtowaitforsometobecomeavailable.
*/ while ((num_words = bcm74110_rng_fifo_count(fc_addr)) == 0) { if (!wait) return0; /* *Asaprecaution,limithowlongwewait.IftheFIFOdoesn't *refillwithintheallottedtime,return0(=nodata)tothe *caller.
*/ if (likely(underrun_count < FIFO_DELAY_MAX_COUNT))
usleep_range(FIFO_DELAY_MIN_US, FIFO_DELAY_MAX_US); else return0;
underrun_count++;
} if (num_words > max_words)
num_words = max_words;
/* Bail early if we run out of random numbers unexpectedly */ for (i = 0; i < num_words && bcm74110_rng_fifo_count(fc_addr) > 0; i++)
((u32 *)buf)[i] = readl_relaxed(fd_addr);
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.