Home
last modified time | relevance | path

Searched refs:divisor (Results 1 – 25 of 167) sorted by relevance

1234567

/linux/arch/arm/lib/
H A Dlib1funcs.S40 .macro ARM_DIV_BODY dividend, divisor, result, curbit
44 clz \curbit, \divisor
48 mov \divisor, \divisor, lsl \result
54 @ Initially shift the divisor left 3 bits if possible,
58 tst \divisor, #0xe0000000
59 moveq \divisor, \divisor, lsl #3
63 @ Unless the divisor is very big, shift it up in multiples of
65 @ division loop. Continue shifting until the divisor is
67 1: cmp \divisor, #0x10000000
68 cmplo \divisor, \dividend
[all …]
H A Ddiv64.S50 bls 9f @ divisor is 0 or 1
52 beq 8f @ divisor is power of 2
59 @ Align divisor with upper part of dividend.
60 @ The aligned divisor is stored in yl preserving the original.
102 @ divisor for comparisons, considering the carry-out bit as well.
139 @ divisor at this point since divisor can not be smaller than 3 here.
147 8: @ Division by a power of 2: determine what that divisor order is
/linux/include/linux/
H A Dmath64.h26 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument
28 *remainder = dividend % divisor; in div_u64_rem()
29 return dividend / divisor; in div_u64_rem()
40 static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument
42 *remainder = dividend % divisor; in div_s64_rem()
43 return dividend / divisor; in div_s64_rem()
54 static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument
56 *remainder = dividend % divisor; in div64_u64_rem()
57 return dividend / divisor; in div64_u64_rem()
67 static inline u64 div64_u64(u64 dividend, u64 divisor) in div64_u64() argument
[all …]
H A Dmath.h98 #define DIV_ROUND_CLOSEST(x, divisor)( \ argument
101 typeof(divisor) __d = divisor; \
103 ((typeof(divisor))-1) > 0 || \
113 #define DIV_ROUND_CLOSEST_ULL(x, divisor)( \ argument
115 typeof(divisor) __d = divisor; \
/linux/arch/alpha/lib/
H A Ddivide.S56 #define divisor $1 macro
104 bis $25,$25,divisor
109 LONGIFY(divisor)
114 beq divisor, 9f /* div by zero */
125 1: cmpult divisor,modulus,compare
126 s8addq divisor,$31,divisor
130 1: cmpult divisor,modulus,compare
131 blt divisor, 2f
132 addq divisor,divisor,divisor
141 cmpule divisor,modulus,compare
[all …]
H A Dev6-divide.S66 #define divisor $1 macro
114 bis $25,$25,divisor # E :
120 LONGIFY(divisor) # E : U L L U
127 beq divisor, 9f /* div by zero */
144 1: cmpult divisor,modulus,compare # E :
145 s8addq divisor,$31,divisor # E :
149 1: cmpult divisor,modulus,compare # E :
152 blt divisor, 2f # U : U L U L
154 addq divisor,divisor,divisor # E :
172 cmpule divisor,modulus,compare # E :
[all …]
/linux/lib/math/
H A Ddiv64.c68 s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument
73 quotient = div_u64_rem(-dividend, abs(divisor), (u32 *)remainder); in div_s64_rem()
75 if (divisor > 0) in div_s64_rem()
78 quotient = div_u64_rem(dividend, abs(divisor), (u32 *)remainder); in div_s64_rem()
79 if (divisor < 0) in div_s64_rem()
99 u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument
101 u32 high = divisor >> 32; in div64_u64_rem()
106 quot = div_u64_rem(dividend, divisor, &rem32); in div64_u64_rem()
110 quot = div_u64(dividend >> n, divisor >> n); in div64_u64_rem()
115 *remainder = dividend - quot * divisor; in div64_u64_rem()
[all …]
/linux/drivers/acpi/acpica/
H A Dutmath.c257 u32 divisor, u64 *out_quotient, u32 *out_remainder) in acpi_ut_short_divide() argument
267 if (divisor == 0) { in acpi_ut_short_divide()
278 ACPI_DIV_64_BY_32(0, dividend_ovl.part.hi, divisor, in acpi_ut_short_divide()
281 ACPI_DIV_64_BY_32(remainder32, dividend_ovl.part.lo, divisor, in acpi_ut_short_divide()
316 union uint64_overlay divisor; in acpi_ut_divide() local
334 divisor.full = in_divisor; in acpi_ut_divide()
336 if (divisor.part.hi == 0) { in acpi_ut_divide()
347 ACPI_DIV_64_BY_32(0, dividend.part.hi, divisor.part.lo, in acpi_ut_divide()
350 ACPI_DIV_64_BY_32(partial1, dividend.part.lo, divisor.part.lo, in acpi_ut_divide()
361 normalized_divisor = divisor; in acpi_ut_divide()
[all …]
/linux/drivers/iio/common/hid-sensors/
H A Dhid-sensor-attributes.c75 static void simple_div(int dividend, int divisor, int *whole, in simple_div() argument
82 if (divisor == 0) { in simple_div()
86 *whole = dividend/divisor; in simple_div()
87 rem = dividend % divisor; in simple_div()
89 while (rem <= divisor) { in simple_div()
93 *micro_frac = (rem / divisor) * int_pow(10, 6 - exp); in simple_div()
99 int divisor = int_pow(10, exp); in split_micro_fraction() local
101 *val1 = no / divisor; in split_micro_fraction()
102 *val2 = no % divisor * int_pow(10, 6 - exp); in split_micro_fraction()
137 int divisor; in convert_to_vtf_format() local
[all …]
/linux/arch/mips/cavium-octeon/executive/
H A Dcvmx-helper-jtag.c50 uint32_t divisor = cvmx_sysinfo_get()->cpu_clock_hz / (25 * 1000000); in cvmx_helper_qlm_jtag_init() local
51 divisor = (divisor - 1) >> 2; in cvmx_helper_qlm_jtag_init()
53 while (divisor) { in cvmx_helper_qlm_jtag_init()
55 divisor = divisor >> 1; in cvmx_helper_qlm_jtag_init()
/linux/sound/soc/codecs/
H A Dtlv320aic26.c70 int fsref, divisor, wlen, pval, jval, dval, qval; in aic26_hw_params() local
79 case 8000: fsref = 48000; divisor = AIC26_DIV_6; break; in aic26_hw_params()
80 case 11025: fsref = 44100; divisor = AIC26_DIV_4; break; in aic26_hw_params()
81 case 12000: fsref = 48000; divisor = AIC26_DIV_4; break; in aic26_hw_params()
82 case 16000: fsref = 48000; divisor = AIC26_DIV_3; break; in aic26_hw_params()
83 case 22050: fsref = 44100; divisor = AIC26_DIV_2; break; in aic26_hw_params()
84 case 24000: fsref = 48000; divisor = AIC26_DIV_2; break; in aic26_hw_params()
85 case 32000: fsref = 48000; divisor = AIC26_DIV_1_5; break; in aic26_hw_params()
86 case 44100: fsref = 44100; divisor = AIC26_DIV_1; break; in aic26_hw_params()
87 case 48000: fsref = 48000; divisor = AIC26_DIV_1; break; in aic26_hw_params()
[all …]
/linux/drivers/net/wireless/realtek/rtw89/
H A Dutil.h41 static inline s32 s32_div_u32_round_down(s32 dividend, u32 divisor, s32 *remainder) in s32_div_u32_round_down() argument
43 s32 i_divisor = (s32)divisor; in s32_div_u32_round_down()
60 static inline s32 s32_div_u32_round_closest(s32 dividend, u32 divisor) in s32_div_u32_round_closest() argument
62 return s32_div_u32_round_down(dividend + divisor / 2, divisor, NULL); in s32_div_u32_round_closest()
/linux/drivers/clk/
H A Dclk-vt8500.c135 u32 divisor; in vt8500_dclk_determine_rate() local
140 divisor = req->best_parent_rate / req->rate; in vt8500_dclk_determine_rate()
143 if (req->rate * divisor < req->best_parent_rate) in vt8500_dclk_determine_rate()
144 divisor++; in vt8500_dclk_determine_rate()
150 if ((cdev->div_mask == 0x3F) && (divisor > 31)) in vt8500_dclk_determine_rate()
151 divisor = 64 * ((divisor / 64) + 1); in vt8500_dclk_determine_rate()
153 req->rate = req->best_parent_rate / divisor; in vt8500_dclk_determine_rate()
162 u32 divisor; in vt8500_dclk_set_rate() local
168 divisor = parent_rate / rate; in vt8500_dclk_set_rate()
170 if (divisor == cdev->div_mask + 1) in vt8500_dclk_set_rate()
[all …]
/linux/lib/crypto/mpi/
H A Dmpi-div.c19 int mpi_fdiv_r(MPI rem, MPI dividend, MPI divisor) in mpi_fdiv_r() argument
21 int divisor_sign = divisor->sign; in mpi_fdiv_r()
29 if (rem == divisor) { in mpi_fdiv_r()
30 temp_divisor = mpi_copy(divisor); in mpi_fdiv_r()
33 divisor = temp_divisor; in mpi_fdiv_r()
36 err = mpi_tdiv_r(rem, dividend, divisor); in mpi_fdiv_r()
41 err = mpi_add(rem, rem, divisor); in mpi_fdiv_r()
/linux/arch/powerpc/lib/
H A Ddiv64.S22 divwu r7,r5,r4 # if dividend.hi >= divisor,
23 mullw r0,r7,r4 # quotient.hi = dividend.hi / divisor
24 subf. r5,r0,r5 # dividend.hi %= divisor
31 srw r10,r10,r0 # the divisor right the same amount,
41 mulhwu r9,r11,r4 # multiply the estimate by the divisor,
42 subfc r6,r10,r6 # take the product from the divisor,
/linux/arch/x86/include/asm/
H A Ddiv64.h43 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument
53 if (upper >= divisor) { in div_u64_rem()
54 d.v32[1] = upper / divisor; in div_u64_rem()
55 upper %= divisor; in div_u64_rem()
58 "rm" (divisor), "0" (d.v32[0]), "1" (upper)); in div_u64_rem()
/linux/arch/x86/boot/
H A Dstring.c193 static inline u64 __div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in __div_u64_rem() argument
203 if (upper >= divisor) { in __div_u64_rem()
204 d.v32[1] = upper / divisor; in __div_u64_rem()
205 upper %= divisor; in __div_u64_rem()
208 "rm" (divisor), "0" (d.v32[0]), "1" (upper)); in __div_u64_rem()
212 static inline u64 __div_u64(u64 dividend, u32 divisor) in __div_u64() argument
216 return __div_u64_rem(dividend, divisor, &remainder); in __div_u64()
/linux/drivers/comedi/drivers/
H A Dadv_pci1760.c178 unsigned int divisor; in pci1760_pwm_ns_to_div() local
182 divisor = DIV_ROUND_CLOSEST(ns, PCI1760_PWM_TIMEBASE); in pci1760_pwm_ns_to_div()
185 divisor = DIV_ROUND_UP(ns, PCI1760_PWM_TIMEBASE); in pci1760_pwm_ns_to_div()
188 divisor = ns / PCI1760_PWM_TIMEBASE; in pci1760_pwm_ns_to_div()
194 if (divisor < 1) in pci1760_pwm_ns_to_div()
195 divisor = 1; in pci1760_pwm_ns_to_div()
196 if (divisor > 0xffff) in pci1760_pwm_ns_to_div()
197 divisor = 0xffff; in pci1760_pwm_ns_to_div()
199 return divisor; in pci1760_pwm_ns_to_div()
H A Daddi_apci_3120.c276 unsigned int divisor; in apci3120_ns_to_timer() local
280 divisor = DIV_ROUND_UP(ns, timer_base); in apci3120_ns_to_timer()
283 divisor = ns / timer_base; in apci3120_ns_to_timer()
287 divisor = DIV_ROUND_CLOSEST(ns, timer_base); in apci3120_ns_to_timer()
293 if (divisor > 0x00ffffff) in apci3120_ns_to_timer()
294 divisor = 0x00ffffff; in apci3120_ns_to_timer()
297 if (divisor > 0xffff) in apci3120_ns_to_timer()
298 divisor = 0xffff; in apci3120_ns_to_timer()
301 if (divisor < 2) in apci3120_ns_to_timer()
302 divisor = 2; in apci3120_ns_to_timer()
[all …]
H A Dcomedi_8254.c384 i8254->divisor = i8254->next_div & 0xffff; in comedi_8254_update_divisors()
484 unsigned int divisor; in comedi_8254_ns_to_timer() local
489 divisor = DIV_ROUND_CLOSEST(*nanosec, i8254->osc_base); in comedi_8254_ns_to_timer()
492 divisor = DIV_ROUND_UP(*nanosec, i8254->osc_base); in comedi_8254_ns_to_timer()
495 divisor = *nanosec / i8254->osc_base; in comedi_8254_ns_to_timer()
498 if (divisor < 2) in comedi_8254_ns_to_timer()
499 divisor = 2; in comedi_8254_ns_to_timer()
500 if (divisor > I8254_MAX_COUNT) in comedi_8254_ns_to_timer()
501 divisor = I8254_MAX_COUNT; in comedi_8254_ns_to_timer()
503 *nanosec = divisor * i8254->osc_base; in comedi_8254_ns_to_timer()
[all …]
/linux/arch/x86/kernel/
H A Dearly_printk.c134 static __init void early_serial_hw_init(unsigned divisor) in early_serial_hw_init() argument
145 static_call(serial_out)(early_serial_base, DLL, divisor & 0xff); in early_serial_hw_init()
146 static_call(serial_out)(early_serial_base, DLH, (divisor >> 8) & 0xff); in early_serial_hw_init()
159 unsigned divisor; in early_serial_init() local
193 divisor = 115200 / baud; in early_serial_init()
196 early_serial_hw_init(divisor); in early_serial_init()
264 unsigned divisor; in early_pci_serial_init() local
359 divisor = 115200 / baud; in early_pci_serial_init()
362 early_serial_hw_init(divisor); in early_pci_serial_init()
/linux/net/sched/
H A Dsch_sfq.c110 unsigned int divisor; /* number of slots in hash table */ member
153 return skb_get_hash_perturb(skb, &q->perturbation) & (q->divisor - 1); in sfq_hash()
166 TC_H_MIN(skb->priority) <= q->divisor) in sfq_classify()
187 if (TC_H_MIN(res.classid) <= q->divisor) in sfq_classify()
639 unsigned int divisor; in sfq_change() local
651 if (ctl->divisor && in sfq_change()
652 (!is_power_of_2(ctl->divisor) || ctl->divisor > 65536)) in sfq_change()
679 divisor = q->divisor; in sfq_change()
691 if (ctl->divisor) { in sfq_change()
692 divisor = ctl->divisor; in sfq_change()
[all …]
/linux/Documentation/devicetree/bindings/clock/
H A Dvt8500.txt44 - divisor-reg : shall be the register offset from PMC base for the divisor
47 - divisor-mask : shall be the mask for the divisor register. Defaults to 0x1f
70 divisor-reg = <0x328>;
71 divisor-mask = <0x3f>;
/linux/drivers/cpuidle/governors/
H A Dmenu.c119 unsigned int max, min, divisor; in get_typical_interval() local
129 divisor = 0; in get_typical_interval()
139 divisor++; in get_typical_interval()
154 if (divisor == INTERVALS) { in get_typical_interval()
158 do_div(avg, divisor); in get_typical_interval()
159 do_div(variance, divisor); in get_typical_interval()
178 if ((avg_sq > variance * 36 && divisor * 4 >= INTERVALS * 3) || in get_typical_interval()
200 if (divisor * 4 <= INTERVALS * 3) in get_typical_interval()
/linux/arch/arm/boot/dts/vt8500/
H A Dwm8750.dtsi131 divisor-reg = <0x300>;
138 divisor-reg = <0x304>;
145 divisor-reg = <0x320>;
152 divisor-reg = <0x310>;
207 divisor-reg = <0x350>;
216 divisor-reg = <0x330>;
217 divisor-mask = <0x3f>;
226 divisor-reg = <0x3A0>;
235 divisor-reg = <0x3A4>;

1234567