| /linux/arch/arm/lib/ |
| H A D | lib1funcs.S | 40 .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 D | div64.S | 50 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/arch/alpha/lib/ |
| H A D | divide.S | 56 #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 D | ev6-divide.S | 66 #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/drivers/cpufreq/ |
| H A D | sparc-us2e-cpufreq.c | 86 unsigned long old_divisor, unsigned long divisor) in frob_mem_refresh() argument 91 refr_count /= (MCTRL0_REFR_CLKS_P_CNT * divisor * 1000000000UL); in frob_mem_refresh() 118 unsigned long old_divisor, unsigned long divisor) in us2e_transition() argument 123 if (old_divisor == 2 && divisor == 1) { in us2e_transition() 126 frob_mem_refresh(0, clock_tick, old_divisor, divisor); in us2e_transition() 127 } else if (old_divisor == 1 && divisor == 2) { in us2e_transition() 128 frob_mem_refresh(1, clock_tick, old_divisor, divisor); in us2e_transition() 131 } else if (old_divisor == 1 && divisor > 2) { in us2e_transition() 135 2, divisor); in us2e_transition() 136 } else if (old_divisor > 2 && divisor == 1) { in us2e_transition() [all …]
|
| /linux/drivers/acpi/acpica/ |
| H A D | utmath.c | 257 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/arch/mips/cavium-octeon/executive/ |
| H A D | cvmx-helper-jtag.c | 50 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 D | tlv320aic26.c | 70 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 in aic26_hw_params() [all...] |
| H A D | tlv320aic32x4-clk.c | 319 u8 divisor; in clk_aic32x4_div_set_rate() 321 divisor = DIV_ROUND_UP(parent_rate, rate); in clk_aic32x4_div_set_rate() local 322 if (divisor > AIC32X4_DIV_MAX) in clk_aic32x4_div_set_rate() 326 AIC32X4_DIV_MASK, divisor); in clk_aic32x4_div_set_rate() 332 unsigned long divisor; in clk_aic32x4_div_determine_rate() 334 divisor = DIV_ROUND_UP(req->best_parent_rate, req->rate); in clk_aic32x4_div_determine_rate() local 335 if (divisor > AIC32X4_DIV_MAX) in clk_aic32x4_div_determine_rate() 338 req->rate = DIV_ROUND_UP(req->best_parent_rate, divisor); in clk_aic32x4_div_determine_rate()
|
| /linux/drivers/clk/ |
| H A D | clk-vt8500.c | 135 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 D | mpi-div.c | 19 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 D | div64.S | 22 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 D | div64.h | 43 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/tools/include/uapi/linux/ |
| H A D | const.h | 59 #define __KERNEL_DIV_ROUND_CLOSEST(x, divisor) \ argument 62 __typeof__(divisor) __d = divisor; \ 65 ((__typeof__(divisor))-1) > 0 || \
|
| /linux/arch/x86/boot/ |
| H A D | string.c | 200 static inline u64 __div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in __div_u64_rem() argument 210 if (upper >= divisor) { in __div_u64_rem() 211 d.v32[1] = upper / divisor; in __div_u64_rem() 212 upper %= divisor; in __div_u64_rem() 215 "rm" (divisor), "0" (d.v32[0]), "1" (upper)); in __div_u64_rem() 219 static inline u64 __div_u64(u64 dividend, u32 divisor) in __div_u64() argument 223 return __div_u64_rem(dividend, divisor, &remainder); in __div_u64()
|
| H A D | early_serial_console.c | 29 unsigned divisor; in early_serial_init() local 36 divisor = 115200 / baud; in early_serial_init() 39 outb(divisor & 0xff, port + DLL); in early_serial_init() 40 outb((divisor >> 8) & 0xff, port + DLH); in early_serial_init()
|
| /linux/arch/x86/kernel/ |
| H A D | early_printk.c | 134 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 D | sch_sfq.c | 110 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() 642 unsigned int divisor; in sfq_change() local 654 if (ctl->divisor && in sfq_change() 655 (!is_power_of_2(ctl->divisor) || ctl->divisor > 65536)) in sfq_change() 687 divisor = q->divisor; in sfq_change() 699 if (ctl->divisor) { in sfq_change() 700 divisor = ctl->divisor; in sfq_change() [all …]
|
| /linux/Documentation/devicetree/bindings/clock/ |
| H A D | vt8500.txt | 44 - 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/comedi/drivers/ |
| H A D | comedi_8254.c | 384 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/drivers/tty/serial/8250/ |
| H A D | 8250_pericom.c | 58 unsigned int divisor = max(maxrate / baud, 1U); in pericom_do_set_divisor() local 59 int delta = maxrate / divisor - baud; in pericom_do_set_divisor() 65 divisor++; in pericom_do_set_divisor() 67 if (divisor > 0xffff) in pericom_do_set_divisor() 71 delta = maxrate / divisor - baud; in pericom_do_set_divisor() 77 serial_dl_write(up, divisor); in pericom_do_set_divisor()
|
| /linux/arch/powerpc/boot/ |
| H A D | div64.S | 22 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/include/vdso/ |
| H A D | math64.h | 6 __iter_div_u64_rem(u64 dividend, u32 divisor, u64 *remainder) in __iter_div_u64_rem() argument 10 while (dividend >= divisor) { in __iter_div_u64_rem() 15 dividend -= divisor; in __iter_div_u64_rem()
|
| /linux/drivers/mfd/ |
| H A D | mcp-sa11x0.c | 45 mcp_sa11x0_set_telecom_divisor(struct mcp *mcp, unsigned int divisor) in mcp_sa11x0_set_telecom_divisor() argument 49 divisor /= 32; in mcp_sa11x0_set_telecom_divisor() 52 m->mccr0 |= divisor << 8; in mcp_sa11x0_set_telecom_divisor() 57 mcp_sa11x0_set_audio_divisor(struct mcp *mcp, unsigned int divisor) in mcp_sa11x0_set_audio_divisor() argument 61 divisor /= 32; in mcp_sa11x0_set_audio_divisor() 64 m->mccr0 |= divisor; in mcp_sa11x0_set_audio_divisor()
|
| /linux/arch/m68k/ifpsp060/src/ |
| H A D | ilsp.S | 74 # 0x4(sp) = divisor # 89 # codes before performing the final "rts". If the divisor was equal to # 134 mov.l 0x8(%a6),%d7 # fetch divisor 136 beq.w ldiv64eq0 # divisor is = 0!!! 145 # save the sign of the divisor 146 # make divisor unsigned if it's negative 165 # - is (hi(dividend) == 0 && (divisor <= lo(dividend))) ? (32-bit div) 173 cmp.l %d7,%d6 # is (divisor <= lo(dividend)) 272 # where U,V are words of the quadword dividend and longword divisor, # 276 # in %d6. The divisor must be in the variable ddivisor, and the # [all …]
|