mul_u32_u32
u64 clock = mul_u32_u32(pixels, vert->precise_sync_rate);
return DIV_ROUND_UP_ULL(mul_u32_u32(symbol_cycles * symbol_size * lane_count,
return DIV_ROUND_DOWN_ULL(mul_u32_u32(max_link_rate * 10 * max_lanes,
ret.full = DIV_ROUND_DOWN_ULL(mul_u32_u32(link_rate * link_lane_count,
return DIV64_U64_ROUND_UP(mul_u32_u32(clock * bpp, 64 * overhead >> 4),
return DIV_ROUND_CLOSEST_ULL(mul_u32_u32(num, 1000), den);
tmp = mul_u32_u32(src, dst - *clip);
ret = mul_u32_u32(pixel_rate, cpp * latency);
hblank_delta = DIV64_U64_ROUND_UP(mul_u32_u32(5 * (link_clk + cdclk), pixel_clk),
mul_u32_u32(link_clk, cdclk));
tu_data = div64_u64(mul_u32_u32(pixel_clk * vdsc_bppx16 * 8, 1000000),
mul_u32_u32(link_clk * lanes * 16, fec_coeff));
tu_line = div64_u64(h_active * mul_u32_u32(link_clk, fec_coeff),
mul_u32_u32(64 * pixel_clk, 1000000));
target_val = mul_u32_u32(source_val - source_min,
return DIV_ROUND_UP_ULL(mul_u32_u32(data_rate, 10), 512);
result[i] = mul_u32_u32(limited_coeff, abs_coeff) >> 30;
return DIV_ROUND_CLOSEST_ULL(mul_u32_u32(val, (1 << 16) - 1),
return DIV_ROUND_UP_ULL(mul_u32_u32(usecs, adjusted_mode->crtc_clock),
return DIV_ROUND_UP_ULL(mul_u32_u32(scanlines, adjusted_mode->crtc_htotal * 1000),
vco = DIV_ROUND_CLOSEST_ULL(mul_u32_u32(ref, (multiplier << (17 - 2)) + frac) >> 17, 10);
tmpclk = DIV_ROUND_CLOSEST_ULL(mul_u32_u32(refclk, (multiplier << 16) + frac_quot) +
*ret_m = div_u64(mul_u32_u32(m, *ret_n), n);
return DIV_ROUND_UP_ULL(mul_u32_u32(m_n->link_m, link_freq * 10),
return DIV_ROUND_UP_ULL(mul_u32_u32(pixel_clock * bpp_x16, bw_overhead),
return div_u64(mul_u32_u32(mode_clock, DP_DSC_FEC_OVERHEAD_FACTOR),
return div64_u64(mul_u32_u32(intel_dp_link_symbol_clock(crtc_state->port_clock) * 72,
mul_u32_u32(adjusted_mode->crtc_clock, 1030000));
m_n->tu = DIV_ROUND_UP_ULL(mul_u32_u32(m_n->data_m, 64), m_n->data_n);
return DIV_ROUND_CLOSEST_ULL(mul_u32_u32(mode->htotal - mode->hdisplay,
DIV_ROUND_CLOSEST_ULL(mul_u32_u32(refclk, clock->m), clock->n << 22);
m2 = DIV_ROUND_CLOSEST_ULL(mul_u32_u32(target, clock.p * clock.n) << 22,
tmp = mul_u32_u32(dco_khz, 47 * 32);
tmp = mul_u32_u32(dco_khz, 1000);
if (check_add_overflow(mul_u32_u32(height, fb->pitches[color_plane]),
if (mul_u32_u32(max_size, tile_size) > obj->size) {
mul_u32_u32(max_size, tile_size), obj->size);
tmp = mul_u32_u32(val, mul.val);
tmp = mul_u32_u32(val, mul.val);
tmp = mul_u32_u32(val.val, mul.val);
return DIV_ROUND_UP_ULL(mul_u32_u32(rate, src_w * src_h),
return DIV_ROUND_CLOSEST_ULL(mul_u32_u32(refclk, (multiplier << 16) + frac_quot) +
return DIV_ROUND_UP_ULL(mul_u32_u32(pixel_rate, num * src_w),
return DIV_ROUND_UP_ULL(mul_u32_u32(pixel_rate, 10 * hscale),
return div_u64(mul_u32_u32(scan_curr_time - scan_prev_time,
crtc_state->cmrr.cmrr_n = mul_u32_u32(desired_refresh_rate * adjusted_mode->crtc_htotal,
vtotal = DIV_ROUND_UP_ULL(mul_u32_u32(adjusted_mode->crtc_clock * 1000, multiplier_n),
adjusted_pixel_rate = mul_u32_u32(adjusted_mode->crtc_clock * 1000, multiplier_m);
hscale_k = max(1000, mul_u32_u32(scaler_state->scalers[i].hscale, 1000) >> 16);
vscale_k = max(1000, mul_u32_u32(scaler_state->scalers[i].vscale, 1000) >> 16);
u64 hscale_k = max(1000, mul_u32_u32(scaler_state->scalers[0].hscale, 1000) >> 16);
u64 vscale_k = max(1000, mul_u32_u32(scaler_state->scalers[0].vscale, 1000) >> 16);
args->size = mul_u32_u32(args->pitch, args->height);
div_u64(mul_u32_u32(gt->clock_period_ns, S32_MAX),
return upper_32_bits(mul_u32_u32(get_random_u32(), max));
mul_u32_u32(i915->params.lmem_size, SZ_1M));
div64_u64(mul_u32_u32(4 * sz,
div64_u64(mul_u32_u32(4 * sz,
clock.vco = DIV_ROUND_CLOSEST_ULL(mul_u32_u32(refclk, clock.m), clock.n << 22);
pixel_clk = div_u64(mul_u32_u32(link_m, dp_br), link_n);
new_rate = DIV64_U64_ROUND_CLOSEST(mul_u64_u32_shr(pixel_clk, MSEC_PER_SEC, 0), mul_u32_u32(htotal + 1, vtotal + 1));
pmu->sample[gt_id][sample].cur += mul_u32_u32(val, mul);
return upper_32_bits(mul_u32_u32(prandom_u32_state(state), ep_ro));
sum = mul_u32_u32(a[2], 2);
div64_u64(mul_u32_u32(4 * size,
return DIV_ROUND_CLOSEST_ULL(mul_u32_u32(user_input, (1 << bit_precision) - 1),
return (mul_u32_u32(lo, y) >> shift) +
(mul_u32_u32(hi, y) << (32 - shift));