/Linux-v6.6/lib/ |
D | flex_proportions.c | 3 * Floating proportions with flexible aging period 14 * Where x_{i,j} is j's number of events in i-th last time period and x_i is 15 * total number of events in i-th last time period. 26 * When a new period is declared, we could do: 33 * occurs. This can bit trivially implemented by remembering last period in 42 p->period = 0; in fprop_global_init() 57 * Declare @periods new periods. It is upto the caller to make sure period 79 p->period += periods; in fprop_new_period() 93 pl->period = 0; in fprop_local_init_single() 105 unsigned int period = p->period; in fprop_reflect_period_single() local [all …]
|
/Linux-v6.6/drivers/gpu/drm/tegra/ |
D | mipi-phy.c | 17 unsigned long period) in mipi_dphy_timing_get_default() argument 20 timing->clkpost = 70 + 52 * period; in mipi_dphy_timing_get_default() 30 timing->hsprepare = 65 + 5 * period; in mipi_dphy_timing_get_default() 31 timing->hszero = 145 + 5 * period; in mipi_dphy_timing_get_default() 32 timing->hssettle = 85 + 6 * period; in mipi_dphy_timing_get_default() 39 * T_HS-TRAIL = max(n * 8 * period, 60 + n * 4 * period) in mipi_dphy_timing_get_default() 43 * not parameterize on anything other that period, so this code will in mipi_dphy_timing_get_default() 46 timing->hstrail = max(4 * 8 * period, 60 + 4 * 4 * period); in mipi_dphy_timing_get_default() 63 unsigned long period) in mipi_dphy_timing_validate() argument 68 if (timing->clkpost < (60 + 52 * period)) in mipi_dphy_timing_validate() [all …]
|
/Linux-v6.6/drivers/iio/common/inv_sensors/ |
D | inv_sensors_timestamp.c | 46 /* save chip parameters and compute min and max clock period */ in inv_sensors_timestamp_init() 51 /* current multiplier and period values after reset */ in inv_sensors_timestamp_init() 53 ts->period = chip->init_period; in inv_sensors_timestamp_init() 55 /* use theoretical value for chip period */ in inv_sensors_timestamp_init() 61 uint32_t period, bool fifo) in inv_sensors_timestamp_update_odr() argument 67 ts->new_mult = period / ts->chip.clock_period; in inv_sensors_timestamp_update_odr() 73 static bool inv_validate_period(struct inv_sensors_timestamp *ts, uint32_t period, uint32_t mult) in inv_validate_period() argument 77 /* check that period is acceptable */ in inv_validate_period() 80 if (period > period_min && period < period_max) in inv_validate_period() 87 uint32_t mult, uint32_t period) in inv_update_chip_period() argument [all …]
|
/Linux-v6.6/drivers/pwm/ |
D | pwm-microchip-core.c | 17 * As setting the period/duty cycle takes 4 register writes, there is a window 18 * in which this races against the start of a new period. 23 * period. Therefore to get a 0% waveform, the output is set the max high/low 25 * If the duty cycle is 0%, and the requested period is less than the 26 * available period resolution, this will manifest as a ~100% waveform (with 28 * - The PWM period is set for the whole IP block not per channel. The driver 29 * will only change the period if no other PWM output is enabled. 60 struct mutex lock; /* protects the shared period */ 72 bool enable, u64 period) in mchp_core_pwm_enable() argument 95 * applied to the waveform at the beginning of the next period. in mchp_core_pwm_enable() [all …]
|
D | pwm-visconti.c | 15 * running period is completed. This way the hardware switches atomically 17 * - Disabling the hardware completes the currently running period and keeps 50 u32 period, duty_cycle, pwmc0; in visconti_pwm_apply() local 58 * The biggest period the hardware can provide is in visconti_pwm_apply() 63 if (state->period > (0xffff << 3) * 1000) in visconti_pwm_apply() 64 period = (0xffff << 3) * 1000; in visconti_pwm_apply() 66 period = state->period; in visconti_pwm_apply() 68 if (state->duty_cycle > period) in visconti_pwm_apply() 69 duty_cycle = period; in visconti_pwm_apply() 78 period /= 1000; in visconti_pwm_apply() [all …]
|
D | pwm-ntxec.c | 16 * - The period and duty cycle can't be changed together in one atomic action. 45 * The time base used in the EC is 8MHz, or 125ns. Period and duty cycle are 58 int period, int duty) in ntxec_pwm_set_raw_period_and_duty_cycle() argument 63 * Changes to the period and duty cycle take effect as soon as the in ntxec_pwm_set_raw_period_and_duty_cycle() 65 * to an inconsistent state after the period is written and before the in ntxec_pwm_set_raw_period_and_duty_cycle() 67 * is longer than the new period, the EC may output 100% for a moment. in ntxec_pwm_set_raw_period_and_duty_cycle() 69 * To minimize the time between the changes to period and duty cycle in ntxec_pwm_set_raw_period_and_duty_cycle() 74 { NTXEC_REG_PERIOD_HIGH, ntxec_reg8(period >> 8) }, in ntxec_pwm_set_raw_period_and_duty_cycle() 76 { NTXEC_REG_PERIOD_LOW, ntxec_reg8(period) }, in ntxec_pwm_set_raw_period_and_duty_cycle() 87 unsigned int period, duty; in ntxec_pwm_apply() local [all …]
|
D | pwm-bcm2835.c | 21 #define PERIOD(x) (((x) * 0x10) + 0x10) macro 78 * period_cycles must be a 32 bit value, so period * rate / NSEC_PER_SEC in bcm2835_pwm_apply() 80 * multiplication period * rate doesn't overflow. in bcm2835_pwm_apply() 81 * To calculate the maximal possible period that guarantees the in bcm2835_pwm_apply() 84 * round(period * rate / NSEC_PER_SEC) <= U32_MAX in bcm2835_pwm_apply() 85 * <=> period * rate / NSEC_PER_SEC < U32_MAX + 0.5 in bcm2835_pwm_apply() 86 * <=> period * rate < (U32_MAX + 0.5) * NSEC_PER_SEC in bcm2835_pwm_apply() 87 * <=> period < ((U32_MAX + 0.5) * NSEC_PER_SEC) / rate in bcm2835_pwm_apply() 88 * <=> period < ((U32_MAX * NSEC_PER_SEC + NSEC_PER_SEC/2) / rate in bcm2835_pwm_apply() 89 * <=> period <= ceil((U32_MAX * NSEC_PER_SEC + NSEC_PER_SEC/2) / rate) - 1 in bcm2835_pwm_apply() [all …]
|
D | core.c | 148 pwm->args.period = args->args[1]; in of_pwm_xlate_with_flags() 176 pwm->args.period = args->args[0]; in of_pwm_single_xlate() 418 s2.duty_cycle = s1.period - s1.duty_cycle; in pwm_apply_state_debug() 419 s2.period = s1.period; in pwm_apply_state_debug() 426 state->duty_cycle < state->period) in pwm_apply_state_debug() 431 last->period > s2.period && in pwm_apply_state_debug() 432 last->period <= state->period) in pwm_apply_state_debug() 434 … ".apply didn't pick the best available period (requested: %llu, applied: %llu, possible: %llu)\n", in pwm_apply_state_debug() 435 state->period, s2.period, last->period); in pwm_apply_state_debug() 437 if (state->enabled && state->period < s2.period) in pwm_apply_state_debug() [all …]
|
D | pwm-intel-lgm.c | 6 * - The hardware supports fixed period & configures only 2-wire mode. 9 * keep track of running period. 11 * and new setting for the first period. From second period, the output is 47 u32 period; member 71 /* The hardware only supports normal polarity and fixed period. */ in lgm_pwm_apply() 72 if (state->polarity != PWM_POLARITY_NORMAL || state->period < pc->period) in lgm_pwm_apply() 78 duty_cycle = min_t(u64, state->duty_cycle, pc->period); in lgm_pwm_apply() 79 val = duty_cycle * LGM_PWM_MAX_DUTY_CYCLE / pc->period; in lgm_pwm_apply() 98 state->period = pc->period; /* fixed period */ in lgm_pwm_get_state() 102 state->duty_cycle = DIV_ROUND_UP(duty * pc->period, LGM_PWM_MAX_DUTY_CYCLE); in lgm_pwm_get_state() [all …]
|
D | pwm-imx-tpm.c | 6 * - The TPM counter and period counter are shared between 7 * multiple channels, so all channels should use same period 10 * next period start. 11 * - Changing period and duty cycle together isn't atomic, 12 * with the wrong timing it might happen that a period is 13 * produced with old duty cycle but new period settings. 97 tmp = (u64)state->period * rate; in pwm_imx_tpm_round_state() 111 /* calculate real period HW can support */ in pwm_imx_tpm_round_state() 114 real_state->period = DIV_ROUND_CLOSEST_ULL(tmp, rate); in pwm_imx_tpm_round_state() 127 p->val = DIV64_U64_ROUND_CLOSEST(tmp, real_state->period); in pwm_imx_tpm_round_state() [all …]
|
D | pwm-fsl-ftm.c | 48 struct fsl_pwm_periodcfg period; member 121 rate = clk_get_rate(fpc->clk[fpc->period.clk_select]); in fsl_pwm_ticks_to_ns() 124 do_div(exval, rate >> fpc->period.clk_ps); in fsl_pwm_ticks_to_ns() 191 unsigned int period = fpc->period.mod_period + 1; in fsl_pwm_calculate_duty() local 192 unsigned int period_ns = fsl_pwm_ticks_to_ns(fpc, period); in fsl_pwm_calculate_duty() 194 duty = (unsigned long long)duty_ns * period; in fsl_pwm_calculate_duty() 234 if (!fsl_pwm_calculate_period(fpc, newstate->period, &periodcfg)) { in fsl_pwm_apply_config() 235 dev_err(fpc->chip.dev, "failed to calculate new period\n"); in fsl_pwm_apply_config() 242 * The Freescale FTM controller supports only a single period for in fsl_pwm_apply_config() 243 * all PWM channels, therefore verify if the newly computed period in fsl_pwm_apply_config() [all …]
|
/Linux-v6.6/Documentation/RCU/Design/Expedited-Grace-Periods/ |
D | Expedited-Grace-Periods.rst | 17 Expedited Grace Period Design 23 grace period. 32 state, the expedited grace period has completed. 43 expedited grace period is shown in the following diagram: 54 Otherwise, the expedited grace period will use 72 block the current expedited grace period until it resumes and finds its 75 the CPU is no longer blocking the grace period. 86 | Why not just have the expedited grace period check the state of all | 116 the handling of a given CPU by an RCU-sched expedited grace period is 137 Expedited Grace Period and CPU Hotplug [all …]
|
/Linux-v6.6/Documentation/RCU/Design/Memory-Ordering/ |
D | Tree-RCU-Memory-Ordering.rst | 2 A Tour Through TREE_RCU's Grace-Period Memory Ordering 13 grace-period memory ordering guarantee is provided. 15 What Is Tree RCU's Grace Period Memory Ordering Guarantee? 20 Any code that happens after the end of a given RCU grace period is guaranteed 22 period that are within RCU read-side critical sections. 24 period is guaranteed to not see the effects of all accesses following the end 25 of that grace period that are within RCU read-side critical sections. 34 two phases, one of which is executed before the grace period and 35 the other of which is executed after the grace period. 46 Tree RCU Grace Period Memory Ordering Building Blocks [all …]
|
/Linux-v6.6/include/linux/iio/common/ |
D | inv_sensors_timestamp.h | 11 * @clock_period: internal clock period in ns 13 * @init_period: chip initial period at reset in ns 46 * @min_period: minimal acceptable clock period 47 * @max_period: maximal acceptable clock period 50 * @mult: current internal period multiplier 51 * @new_mult: new set internal period multiplier (not yet effective) 52 * @period: measured current period of the sensor 53 * @chip_period: accumulator for computing internal chip period 63 uint32_t period; member 71 uint32_t period, bool fifo); [all …]
|
/Linux-v6.6/Documentation/RCU/ |
D | stallwarn.rst | 40 - Anything that prevents RCU's grace-period kthreads from running. 51 in which case the next RCU grace period can never complete, which 120 Please note that RCU only detects CPU stalls when there is a grace period 121 in progress. No grace period, no CPU stall warnings. 149 This kernel configuration parameter defines the period of time 150 that RCU will wait from the beginning of a grace period until it 151 issues an RCU CPU stall warning. This time period is normally 170 the expedited grace period. This parameter defines the period 172 grace period until it issues an RCU CPU stall warning. This time 173 period is normally 20 milliseconds on Android devices. A zero [all …]
|
/Linux-v6.6/include/linux/ |
D | flex_proportions.h | 3 * Floating proportions with flexible aging period 19 * bound on the number of events per period like 29 /* Number of events in the current period */ 31 /* Current period */ 32 unsigned int period; member 33 /* Synchronization with period transitions */ 47 /* Period in which we last updated events */ 48 unsigned int period; member 49 raw_spinlock_t lock; /* Protect period and numerator */ 79 /* Period in which we last updated events */ [all …]
|
D | pwm.h | 15 * period 18 * period 27 * @period: reference period 39 u64 period; member 50 * @period: PWM period (in nanoseconds) 60 u64 period; member 117 static inline void pwm_set_period(struct pwm_device *pwm, u64 period) in pwm_set_period() argument 120 pwm->state.period = period; in pwm_set_period() 129 return state.period; in pwm_get_period() 169 * that first retrieves the current PWM state and the replaces the period [all …]
|
/Linux-v6.6/Documentation/scheduler/ |
D | sched-bwc.rst | 12 The bandwidth allowed for a group is specified using a quota and period. Within 13 each given "period" (microseconds), a task group is allocated up to "quota" 18 period when the quota is replenished. 21 cfs_quota units at each period boundary. As threads consume this bandwidth it 70 Quota, period and burst are managed within the cpu subsystem via cgroupfs. 77 - cpu.cfs_quota_us: run-time replenished within a period (in microseconds) 78 - cpu.cfs_period_us: the length of a period (in microseconds) 95 period is 1ms. There is also an upper bound on the period length of 1s. 155 a. it fully consumes its own quota within a period 156 b. a parent's quota is fully consumed within its period [all …]
|
D | sched-rt-group.rst | 27 system when the period is smaller than either the available hrtimer 53 in a given period. We allocate this "run time" for each realtime group which 61 frames a second, which yields a period of 0.04s per frame. Now say it will also 66 This way the graphics group will have a 0.04s period with a 0.032s run time 69 0.00015s. So this group can be scheduled with a period of 0.005s and a run time 90 The scheduling period that is equivalent to 100% CPU bandwidth 102 * A run time of -1 specifies runtime == period, ie. no limit. 115 period from /proc/sys/kernel/sched_rt_period_us and a run time of 0. If you 151 There is work in progress to make the scheduling period for each group 154 The constraint on the period is that a subgroup must have a smaller or [all …]
|
/Linux-v6.6/drivers/watchdog/ |
D | booke_wdt.c | 22 * Also, the wdt_period sets the watchdog timer period timeout. 50 /* For the specified period, determine the number of seconds 55 * 2.5 * (2^(63-period+1)) / timebase_freq 57 * In order to simplify things, we assume that period is 60 static unsigned long long period_to_sec(unsigned int period) in period_to_sec() argument 62 unsigned long long tmp = 1ULL << (64 - period); in period_to_sec() 75 * This procedure will find the highest period which will give a timeout 81 unsigned int period; in sec_to_period() local 82 for (period = 63; period > 0; period--) { in sec_to_period() 83 if (period_to_sec(period) >= secs) in sec_to_period() [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/input/ |
D | rotary-encoder.txt | 17 - rotary-encoder,steps-per-period: Number of steps (stable states) per period. 19 1: Full-period mode (default) 20 2: Half-period mode 21 4: Quarter-period mode 27 - rotary-encoder,half-period: Makes the driver work on half-period mode. 28 This property is deprecated. Instead, a 'steps-per-period ' value should 29 be used, such as "rotary-encoder,steps-per-period = <2>".
|
/Linux-v6.6/arch/m68k/amiga/ |
D | amisound.c | 29 * The minimum period for audio may be modified by the frame buffer 40 * Current period (set by dmasound.c) 82 unsigned long period = (clock_constant / hz); in amiga_mksound() local 84 if (period < amiga_audio_min_period) in amiga_mksound() 85 period = amiga_audio_min_period; in amiga_mksound() 86 if (period > MAX_PERIOD) in amiga_mksound() 87 period = MAX_PERIOD; in amiga_mksound() 89 /* setup pointer to data, period, length and volume */ in amiga_mksound() 92 custom.aud[2].audper = (unsigned short)period; in amiga_mksound() 114 /* restore period to previous value after beeping */ in nosound()
|
/Linux-v6.6/kernel/rcu/ |
D | tree_exp.h | 17 * Record the start of an expedited grace period. 26 * Return the value that the expedited-grace-period counter will have 27 * at the end of the current grace period. 35 * Record the end of an expedited grace period. 45 * Take a snapshot of the expedited-grace-period counter, which is the 46 * earliest value that will indicate that a full grace period has 61 * if a full expedited grace period has elapsed since that snapshot 131 * a new expedited grace period. 148 * Return non-zero if there is no RCU expedited grace period in progress 151 * for the current expedited grace period. [all …]
|
/Linux-v6.6/drivers/media/cec/core/ |
D | cec-pin-priv.h | 42 /* Generate a start bit period that is too short */ 44 /* Generate a start bit period that is too long */ 54 /* Generate a bit period that is too short */ 56 /* Generate a bit period that is too long */ 62 /* Generate a bit period that is too short */ 64 /* Generate a bit period that is too long */ 71 /* Wait for end of bit period after sampling */ 73 /* Generate a bit period that is too short */ 75 /* Generate a bit period that is too long */ 96 /* Wait for earliest end of bit period after sampling */ [all …]
|
/Linux-v6.6/drivers/char/hw_random/ |
D | timeriomem-rng.c | 35 ktime_t period; member 50 int period_us = ktime_to_us(priv->period); in timeriomem_rng_read() 66 * for the RNG to generate new data. Since the period can have in timeriomem_rng_read() 86 hrtimer_forward_now(&priv->timer, priv->period); in timeriomem_rng_read() 109 int period; in timeriomem_rng_probe() local 138 "period", &i)) in timeriomem_rng_probe() 139 period = i; in timeriomem_rng_probe() 141 dev_err(&pdev->dev, "missing period\n"); in timeriomem_rng_probe() 149 period = pdata->period; in timeriomem_rng_probe() 153 priv->period = ns_to_ktime(period * NSEC_PER_USEC); in timeriomem_rng_probe() [all …]
|