| /Linux-v4.19/arch/arm/lib/ |
| 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 …]
|
| D | div64.S | 53 bls 9f @ divisor is 0 or 1 55 beq 8f @ divisor is power of 2 62 @ Align divisor with upper part of dividend. 63 @ The aligned divisor is stored in yl preserving the original. 105 @ divisor for comparisons, considering the carry-out bit as well. 142 @ divisor at this point since divisor can not be smaller than 3 here. 150 8: @ Division by a power of 2: determine what that divisor order is
|
| /Linux-v4.19/lib/ |
| D | div64.c | 71 s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 76 quotient = div_u64_rem(-dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 78 if (divisor > 0) in div_s64_rem() 81 quotient = div_u64_rem(dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 82 if (divisor < 0) in div_s64_rem() 102 u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 104 u32 high = divisor >> 32; in div64_u64_rem() 109 quot = div_u64_rem(dividend, divisor, &rem32); in div64_u64_rem() 113 quot = div_u64(dividend >> n, divisor >> n); in div64_u64_rem() 118 *remainder = dividend - quot * divisor; in div64_u64_rem() [all …]
|
| /Linux-v4.19/include/linux/ |
| D | math64.h | 24 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument 26 *remainder = dividend % divisor; in div_u64_rem() 27 return dividend / divisor; in div_u64_rem() 38 static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 40 *remainder = dividend % divisor; in div_s64_rem() 41 return dividend / divisor; in div_s64_rem() 52 static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 54 *remainder = dividend % divisor; in div64_u64_rem() 55 return dividend / divisor; in div64_u64_rem() 65 static inline u64 div64_u64(u64 dividend, u64 divisor) in div64_u64() argument [all …]
|
| /Linux-v4.19/arch/alpha/lib/ |
| 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 …]
|
| 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-v4.19/drivers/cpufreq/ |
| D | sparc-us2e-cpufreq.c | 87 unsigned long old_divisor, unsigned long divisor) in frob_mem_refresh() argument 92 refr_count /= (MCTRL0_REFR_CLKS_P_CNT * divisor * 1000000000UL); in frob_mem_refresh() 119 unsigned long old_divisor, unsigned long divisor) in us2e_transition() argument 124 if (old_divisor == 2 && divisor == 1) { in us2e_transition() 127 frob_mem_refresh(0, clock_tick, old_divisor, divisor); in us2e_transition() 128 } else if (old_divisor == 1 && divisor == 2) { in us2e_transition() 129 frob_mem_refresh(1, clock_tick, old_divisor, divisor); in us2e_transition() 132 } else if (old_divisor == 1 && divisor > 2) { in us2e_transition() 136 2, divisor); in us2e_transition() 137 } else if (old_divisor > 2 && divisor == 1) { in us2e_transition() [all …]
|
| /Linux-v4.19/drivers/acpi/acpica/ |
| 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-v4.19/arch/c6x/kernel/ |
| D | c6x_ksyms.c | 19 extern int __c6xabi_divi(int dividend, int divisor); 22 extern unsigned __c6xabi_divu(unsigned dividend, unsigned divisor); 25 extern int __c6xabi_remi(int dividend, int divisor); 28 extern unsigned __c6xabi_remu(unsigned dividend, unsigned divisor); 31 extern int __c6xabi_divremi(int dividend, int divisor); 34 extern unsigned __c6xabi_divremu(unsigned dividend, unsigned divisor);
|
| /Linux-v4.19/Documentation/devicetree/bindings/clock/ti/ |
| D | divider.txt | 8 the register is one less than the actual divisor value. E.g: 10 register value actual divisor value 17 ti,index-starts-at-one - valid divisor values start at 1, not the default 19 register value actual divisor value 24 ti,index-power-of-two - valid divisor values are powers of two. E.g: 25 register value actual divisor value 34 Which will map the resulting values to a divisor table by their index: 35 register value actual divisor value 38 2 <invalid divisor, skipped> 65 - ti,min-div : min divisor for dividing the input clock rate, only [all …]
|
| /Linux-v4.19/arch/mips/cavium-octeon/executive/ |
| 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-v4.19/arch/h8300/lib/ |
| D | udivsi3.S | 31 shlr.l er2 ; make divisor < 2^16 35 shlr.l #2,er2 ; make divisor < 2^16 41 shlr.l #2,er2 ; make divisor < 2^16 56 ;; er1 contains divisor 57 ;; er2 contains shifted divisor 64 mulxu.w r0,er2 ; er2 = upper (AQ - 1) * divisor 68 sub.l er2,er3 ; er3 = dividend - (AQ - 1) * divisor 70 cmp.l er1,er3 ; is divisor < remainder?
|
| /Linux-v4.19/sound/soc/codecs/ |
| D | tlv320aic26.c | 69 int fsref, divisor, wlen, pval, jval, dval, qval; in aic26_hw_params() local 78 case 8000: fsref = 48000; divisor = AIC26_DIV_6; break; in aic26_hw_params() 79 case 11025: fsref = 44100; divisor = AIC26_DIV_4; break; in aic26_hw_params() 80 case 12000: fsref = 48000; divisor = AIC26_DIV_4; break; in aic26_hw_params() 81 case 16000: fsref = 48000; divisor = AIC26_DIV_3; break; in aic26_hw_params() 82 case 22050: fsref = 44100; divisor = AIC26_DIV_2; break; in aic26_hw_params() 83 case 24000: fsref = 48000; divisor = AIC26_DIV_2; break; in aic26_hw_params() 84 case 32000: fsref = 48000; divisor = AIC26_DIV_1_5; break; in aic26_hw_params() 85 case 44100: fsref = 44100; divisor = AIC26_DIV_1; break; in aic26_hw_params() 86 case 48000: fsref = 48000; divisor = AIC26_DIV_1; break; in aic26_hw_params() [all …]
|
| /Linux-v4.19/arch/x86/include/asm/ |
| 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-v4.19/arch/powerpc/lib/ |
| D | div64.S | 26 divwu r7,r5,r4 # if dividend.hi >= divisor, 27 mullw r0,r7,r4 # quotient.hi = dividend.hi / divisor 28 subf. r5,r0,r5 # dividend.hi %= divisor 35 srw r10,r10,r0 # the divisor right the same amount, 45 mulhwu r9,r11,r4 # multiply the estimate by the divisor, 46 subfc r6,r10,r6 # take the product from the divisor,
|
| /Linux-v4.19/drivers/clk/ |
| D | clk-vt8500.c | 144 u32 divisor; in vt8500_dclk_round_rate() local 149 divisor = *prate / rate; in vt8500_dclk_round_rate() 152 if (rate * divisor < *prate) in vt8500_dclk_round_rate() 153 divisor++; in vt8500_dclk_round_rate() 159 if ((cdev->div_mask == 0x3F) && (divisor > 31)) { in vt8500_dclk_round_rate() 160 divisor = 64 * ((divisor / 64) + 1); in vt8500_dclk_round_rate() 163 return *prate / divisor; in vt8500_dclk_round_rate() 170 u32 divisor; in vt8500_dclk_set_rate() local 176 divisor = parent_rate / rate; in vt8500_dclk_set_rate() 178 if (divisor == cdev->div_mask + 1) in vt8500_dclk_set_rate() [all …]
|
| /Linux-v4.19/arch/x86/kernel/ |
| D | early_printk.c | 133 static __init void early_serial_hw_init(unsigned divisor) in early_serial_hw_init() argument 144 serial_out(early_serial_base, DLL, divisor & 0xff); in early_serial_hw_init() 145 serial_out(early_serial_base, DLH, (divisor >> 8) & 0xff); in early_serial_hw_init() 153 unsigned divisor; in early_serial_init() local 187 divisor = 115200 / baud; in early_serial_init() 194 early_serial_hw_init(divisor); in early_serial_init() 221 unsigned divisor; in early_pci_serial_init() local 307 divisor = 115200 / baud; in early_pci_serial_init() 310 early_serial_hw_init(divisor); in early_pci_serial_init()
|
| /Linux-v4.19/drivers/gpu/drm/amd/display/dc/basics/ |
| D | conversion.c | 40 int32_t divisor = 1 << fractional_bits; in fixed_point_to_int_frac() local 48 if (d <= (uint16_t)(1 << integer_bits) - (1 / (uint16_t)divisor)) in fixed_point_to_int_frac() 52 divisor)); in fixed_point_to_int_frac() 60 divisor)))); in fixed_point_to_int_frac()
|
| /Linux-v4.19/drivers/cpuidle/governors/ |
| D | menu.c | 202 int i, divisor; in get_typical_interval() local 213 divisor = 0; in get_typical_interval() 218 divisor++; in get_typical_interval() 223 if (divisor == INTERVALS) in get_typical_interval() 226 avg = div_u64(sum, divisor); in get_typical_interval() 237 if (divisor == INTERVALS) in get_typical_interval() 240 do_div(variance, divisor); in get_typical_interval() 255 if ((((u64)avg*avg > variance*36) && (divisor * 4 >= INTERVALS * 3)) in get_typical_interval() 270 if ((divisor * 4) <= INTERVALS * 3) in get_typical_interval()
|
| /Linux-v4.19/drivers/staging/comedi/drivers/ |
| D | comedi_8254.c | 341 i8254->divisor = i8254->next_div & 0xffff; in comedi_8254_update_divisors() 441 unsigned int divisor; in comedi_8254_ns_to_timer() local 446 divisor = DIV_ROUND_CLOSEST(*nanosec, i8254->osc_base); in comedi_8254_ns_to_timer() 449 divisor = DIV_ROUND_UP(*nanosec, i8254->osc_base); in comedi_8254_ns_to_timer() 452 divisor = *nanosec / i8254->osc_base; in comedi_8254_ns_to_timer() 455 if (divisor < 2) in comedi_8254_ns_to_timer() 456 divisor = 2; in comedi_8254_ns_to_timer() 457 if (divisor > I8254_MAX_COUNT) in comedi_8254_ns_to_timer() 458 divisor = I8254_MAX_COUNT; in comedi_8254_ns_to_timer() 460 *nanosec = divisor * i8254->osc_base; in comedi_8254_ns_to_timer() [all …]
|
| D | adv_pci1760.c | 179 unsigned int divisor; in pci1760_pwm_ns_to_div() local 183 divisor = DIV_ROUND_CLOSEST(ns, PCI1760_PWM_TIMEBASE); in pci1760_pwm_ns_to_div() 186 divisor = DIV_ROUND_UP(ns, PCI1760_PWM_TIMEBASE); in pci1760_pwm_ns_to_div() 189 divisor = ns / PCI1760_PWM_TIMEBASE; in pci1760_pwm_ns_to_div() 195 if (divisor < 1) in pci1760_pwm_ns_to_div() 196 divisor = 1; in pci1760_pwm_ns_to_div() 197 if (divisor > 0xffff) in pci1760_pwm_ns_to_div() 198 divisor = 0xffff; in pci1760_pwm_ns_to_div() 200 return divisor; in pci1760_pwm_ns_to_div()
|
| D | addi_apci_3120.c | 276 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 …]
|
| /Linux-v4.19/Documentation/devicetree/bindings/clock/ |
| 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-v4.19/arch/powerpc/boot/ |
| D | virtex.c | 32 u16 divisor; in virtex_ns16550_console_init() local 55 divisor = clk / (16 * spd); in virtex_ns16550_console_init() 61 out_8(reg_base + (UART_DLL << reg_shift), divisor & 0xFF); in virtex_ns16550_console_init() 62 out_8(reg_base + (UART_DLM << reg_shift), divisor >> 8); in virtex_ns16550_console_init()
|
| /Linux-v4.19/drivers/usb/serial/ |
| D | oti6858.c | 76 __le16 divisor; /* baud rate = 96000000 / (16 * divisor), LE */ member 114 (((a)->divisor == (priv)->pending_setup.divisor) \ 181 __le16 divisor; member 228 new_setup->divisor = priv->pending_setup.divisor; in setup_line() 409 __le16 divisor; in oti6858_set_termios() local 415 divisor = priv->pending_setup.divisor; in oti6858_set_termios() 444 divisor = 0; in oti6858_set_termios() 452 divisor = cpu_to_le16(new_divisor); in oti6858_set_termios() 494 if (divisor != priv->pending_setup.divisor in oti6858_set_termios() 497 priv->pending_setup.divisor = divisor; in oti6858_set_termios() [all …]
|