Lines Matching full:diff
524 u64 delay, diff, mult; in ionic_lif_alloc_phc() local
567 diff = U64_MAX / phc->cc.mult / 2; in ionic_lif_alloc_phc()
570 diff = (u64)IONIC_PHC_UPDATE_NS << (phc->cc.shift + 2); in ionic_lif_alloc_phc()
571 diff = DIV_ROUND_UP(diff, phc->cc.mult); in ionic_lif_alloc_phc()
575 diff |= diff >> 1; in ionic_lif_alloc_phc()
576 diff |= diff >> 2; in ionic_lif_alloc_phc()
577 diff |= diff >> 4; in ionic_lif_alloc_phc()
578 diff |= diff >> 8; in ionic_lif_alloc_phc()
579 diff |= diff >> 16; in ionic_lif_alloc_phc()
580 diff |= diff >> 32; in ionic_lif_alloc_phc()
583 diff &= phc->cc.mask; in ionic_lif_alloc_phc()
585 /* the wrap period is now defined by diff in ionic_lif_alloc_phc()
588 * should not see a difference of more than +/- diff/4. in ionic_lif_alloc_phc()
590 * this is sufficient not see a difference of more than +/- diff/2, as in ionic_lif_alloc_phc()
595 * - do not overflow 64 bits: max_mult * (diff / 2) in ionic_lif_alloc_phc()
602 mult = U64_MAX / 2 / max(diff / 2, SCALED_PPM); in ionic_lif_alloc_phc()
622 cyclecounter_cyc2ns(&phc->cc, diff / 4, 0, &frac)); in ionic_lif_alloc_phc()