| /linux/drivers/soc/qcom/ |
| H A D | qcom-geni-se.c | 289 u32 geni_se_get_qup_hw_version(struct geni_se *se) in geni_se_get_qup_hw_version() argument 291 struct geni_wrapper *wrapper = se->wrapper; in geni_se_get_qup_hw_version() 330 static void geni_se_irq_clear(struct geni_se *se) in geni_se_irq_clear() argument 332 writel_relaxed(0, se->base + SE_GSI_EVENT_EN); in geni_se_irq_clear() 333 writel_relaxed(0xffffffff, se->base + SE_GENI_M_IRQ_CLEAR); in geni_se_irq_clear() 334 writel_relaxed(0xffffffff, se->base + SE_GENI_S_IRQ_CLEAR); in geni_se_irq_clear() 335 writel_relaxed(0xffffffff, se->base + SE_DMA_TX_IRQ_CLR); in geni_se_irq_clear() 336 writel_relaxed(0xffffffff, se->base + SE_DMA_RX_IRQ_CLR); in geni_se_irq_clear() 337 writel_relaxed(0xffffffff, se->base + SE_IRQ_EN); in geni_se_irq_clear() 349 void geni_se_init(struct geni_se *se, u32 rx_wm, u32 rx_rfr) in geni_se_init() argument [all …]
|
| /linux/drivers/crypto/tegra/ |
| H A D | tegra-se-main.c | 121 static struct tegra_se_cmdbuf *tegra_se_host1x_bo_alloc(struct tegra_se *se, ssize_t size) in tegra_se_host1x_bo_alloc() argument 124 struct device *dev = se->dev->parent; in tegra_se_host1x_bo_alloc() 144 int tegra_se_host1x_submit(struct tegra_se *se, struct tegra_se_cmdbuf *cmdbuf, u32 size) in tegra_se_host1x_submit() argument 149 job = host1x_job_alloc(se->channel, 1, 0, true); in tegra_se_host1x_submit() 151 dev_err(se->dev, "failed to allocate host1x job\n"); in tegra_se_host1x_submit() 155 job->syncpt = host1x_syncpt_get(se->syncpt); in tegra_se_host1x_submit() 157 job->client = &se->client; in tegra_se_host1x_submit() 158 job->class = se->client.class; in tegra_se_host1x_submit() 160 job->engine_fallback_streamid = se->stream_id; in tegra_se_host1x_submit() 167 ret = host1x_job_pin(job, se->dev); in tegra_se_host1x_submit() [all …]
|
| H A D | tegra-se-key.c | 51 static unsigned int tegra_key_prep_ins_cmd(struct tegra_se *se, u32 *cpuvaddr, in tegra_key_prep_ins_cmd() argument 57 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->op); in tegra_key_prep_ins_cmd() 61 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->manifest); in tegra_key_prep_ins_cmd() 62 cpuvaddr[i++] = se->manifest(se->owner, alg, keylen); in tegra_key_prep_ins_cmd() 64 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->key_dst); in tegra_key_prep_ins_cmd() 71 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->key_addr); in tegra_key_prep_ins_cmd() 76 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->key_data); in tegra_key_prep_ins_cmd() 81 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->config); in tegra_key_prep_ins_cmd() 85 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->op); in tegra_key_prep_ins_cmd() 91 host1x_uclass_incr_syncpt_indx_f(se->syncpt_id); in tegra_key_prep_ins_cmd() [all …]
|
| H A D | tegra-se-aes.c | 26 struct tegra_se *se; member 46 struct tegra_se *se; member 71 struct tegra_se *se; member 212 struct tegra_se *se = ctx->se; in tegra_aes_prep_cmd() local 213 u32 *cpuvaddr = se->cmdbuf->addr; in tegra_aes_prep_cmd() 228 cpuvaddr[i++] = se_host1x_opcode_incr_w(se->hw->regs->linear_ctr); in tegra_aes_prep_cmd() 233 cpuvaddr[i++] = se_host1x_opcode_nonincr(se->hw->regs->last_blk, 1); in tegra_aes_prep_cmd() 237 cpuvaddr[i++] = se_host1x_opcode_incr(se->hw->regs->config, 6); in tegra_aes_prep_cmd() 250 cpuvaddr[i++] = se_host1x_opcode_nonincr(se->hw->regs->op, 1); in tegra_aes_prep_cmd() 256 host1x_uclass_incr_syncpt_indx_f(se->syncpt_id); in tegra_aes_prep_cmd() [all …]
|
| H A D | Makefile | 4 tegra-se-objs := tegra-se-key.o tegra-se-main.o 6 tegra-se-y += tegra-se-aes.o 7 tegra-se-y += tegra-se-hash.o 9 obj-$(CONFIG_CRYPTO_DEV_TEGRA) += tegra-se.o
|
| H A D | tegra-se-hash.c | 25 struct tegra_se *se; member 272 struct tegra_se *se = ctx->se; in tegra_sha_prep_cmd() local 343 host1x_uclass_incr_syncpt_indx_f(se->syncpt_id); in tegra_sha_prep_cmd() 345 dev_dbg(se->dev, "msg len %llu msg left %llu sz %zd cfg %#x", in tegra_sha_prep_cmd() 356 struct tegra_se *se = ctx->se; in tegra_sha_do_init() local 370 rctx->digest.buf = dma_alloc_coherent(se->dev, rctx->digest.size, in tegra_sha_do_init() 375 rctx->residue.buf = dma_alloc_coherent(se->dev, rctx->blk_size, in tegra_sha_do_init() 381 rctx->intr_res.buf = dma_alloc_coherent(se->dev, rctx->intr_res.size, in tegra_sha_do_init() 389 dma_free_coherent(se->dev, rctx->residue.size, rctx->residue.buf, in tegra_sha_do_init() 392 dma_free_coherent(se->dev, rctx->digest.size, rctx->digest.buf, in tegra_sha_do_init() [all …]
|
| /linux/drivers/mfd/ |
| H A D | loongson-se.c | 40 static int loongson_se_poll(struct loongson_se *se, u32 int_bit) in loongson_se_poll() argument 45 spin_lock_irq(&se->dev_lock); in loongson_se_poll() 48 writel(int_bit, se->base + SE_L2SINT_SET); in loongson_se_poll() 51 err = readl_relaxed_poll_timeout_atomic(se->base + SE_L2SINT_STAT, status, in loongson_se_poll() 55 spin_unlock_irq(&se->dev_lock); in loongson_se_poll() 60 static int loongson_se_send_controller_cmd(struct loongson_se *se, in loongson_se_send_controller_cmd() argument 67 writel(send_cmd[i], se->base + SE_SEND_CMD_REG + i * 4); in loongson_se_send_controller_cmd() 69 err = loongson_se_poll(se, SE_INT_CONTROLLER); in loongson_se_send_controller_cmd() 73 return wait_for_completion_interruptible(&se->cmd_completion); in loongson_se_send_controller_cmd() 83 int err = loongson_se_poll(engine->se, BIT(engine->id)); in loongson_se_send_engine_cmd() [all …]
|
| /linux/include/linux/soc/qcom/ |
| H A D | geni-se.h | 318 u32 geni_se_get_qup_hw_version(struct geni_se *se); 326 static inline u32 geni_se_read_proto(struct geni_se *se) in geni_se_read_proto() argument 330 val = readl_relaxed(se->base + GENI_FW_REVISION_RO); in geni_se_read_proto() 344 static inline void geni_se_setup_m_cmd(struct geni_se *se, u32 cmd, u32 params) in geni_se_setup_m_cmd() argument 349 writel(m_cmd, se->base + SE_GENI_M_CMD0); in geni_se_setup_m_cmd() 361 static inline void geni_se_setup_s_cmd(struct geni_se *se, u32 cmd, u32 params) in geni_se_setup_s_cmd() argument 365 s_cmd = readl_relaxed(se->base + SE_GENI_S_CMD0); in geni_se_setup_s_cmd() 369 writel(s_cmd, se->base + SE_GENI_S_CMD0); in geni_se_setup_s_cmd() 380 static inline void geni_se_cancel_m_cmd(struct geni_se *se) in geni_se_cancel_m_cmd() argument 382 writel_relaxed(M_GENI_CMD_CANCEL, se->base + SE_GENI_M_CMD_CTRL_REG); in geni_se_cancel_m_cmd() [all …]
|
| /linux/drivers/i2c/busses/ |
| H A D | i2c-qcom-geni.c | 81 struct geni_se se; member 168 if (clk_get_rate(gi2c->se.clk) == 32 * HZ_PER_MHZ) in geni_i2c_clk_map_idx() 188 writel_relaxed(0, gi2c->se.base + SE_GENI_CLK_SEL); in qcom_geni_i2c_conf() 191 writel_relaxed(val, gi2c->se.base + GENI_SER_M_CLK_CFG); in qcom_geni_i2c_conf() 196 writel_relaxed(val, gi2c->se.base + SE_I2C_SCL_COUNTERS); in qcom_geni_i2c_conf() 201 u32 m_cmd = readl_relaxed(gi2c->se.base + SE_GENI_M_CMD0); in geni_i2c_err_misc() 202 u32 m_stat = readl_relaxed(gi2c->se.base + SE_GENI_M_IRQ_STATUS); in geni_i2c_err_misc() 203 u32 geni_s = readl_relaxed(gi2c->se.base + SE_GENI_STATUS); in geni_i2c_err_misc() 204 u32 geni_ios = readl_relaxed(gi2c->se.base + SE_GENI_IOS); in geni_i2c_err_misc() 205 u32 dma = readl_relaxed(gi2c->se.base + SE_GENI_DMA_MODE_EN); in geni_i2c_err_misc() [all …]
|
| /linux/kernel/sched/ |
| H A D | fair.c | 290 static inline u64 calc_delta_fair(u64 delta, struct sched_entity *se) in calc_delta_fair() argument 292 if (unlikely(se->load.weight != NICE_0_LOAD)) in calc_delta_fair() 293 delta = __calc_delta(delta, NICE_0_LOAD, &se->load); in calc_delta_fair() 307 #define for_each_sched_entity(se) \ argument 308 for (; se; se = se->parent) 410 is_same_group(struct sched_entity *se, struct sched_entity *pse) in is_same_group() argument 412 if (se->cfs_rq == pse->cfs_rq) in is_same_group() 413 return se->cfs_rq; in is_same_group() 418 static inline struct sched_entity *parent_entity(const struct sched_entity *se) in parent_entity() argument 420 return se->parent; in parent_entity() [all …]
|
| H A D | pelt.c | 296 int __update_load_avg_blocked_se(u64 now, struct sched_entity *se) in __update_load_avg_blocked_se() argument 298 if (___update_load_sum(now, &se->avg, 0, 0, 0)) { in __update_load_avg_blocked_se() 299 ___update_load_avg(&se->avg, se_weight(se)); in __update_load_avg_blocked_se() 300 trace_pelt_se_tp(se); in __update_load_avg_blocked_se() 307 int __update_load_avg_se(u64 now, struct cfs_rq *cfs_rq, struct sched_entity *se) in __update_load_avg_se() argument 309 if (___update_load_sum(now, &se->avg, !!se->on_rq, se_runnable(se), in __update_load_avg_se() 310 cfs_rq->curr == se)) { in __update_load_avg_se() 312 ___update_load_avg(&se->avg, se_weight(se)); in __update_load_avg_se() 313 cfs_se_util_change(&se->avg); in __update_load_avg_se() 314 trace_pelt_se_tp(se); in __update_load_avg_se()
|
| H A D | debug.c | 647 struct sched_entity *se = tg->se[cpu]; in print_cfs_group_stats() local 656 if (!se) in print_cfs_group_stats() 659 PN(se->exec_start); in print_cfs_group_stats() 660 PN(se->vruntime); in print_cfs_group_stats() 661 PN(se->sum_exec_runtime); in print_cfs_group_stats() 665 stats = __schedstats_from_se(se); in print_cfs_group_stats() 679 P(se->load.weight); in print_cfs_group_stats() 680 P(se->avg.load_avg); in print_cfs_group_stats() 681 P(se->avg.util_avg); in print_cfs_group_stats() 682 P(se->avg.runnable_avg); in print_cfs_group_stats() [all …]
|
| /linux/drivers/spi/ |
| H A D | spi-geni-qcom.c | 79 struct geni_se se; member 108 struct geni_se *se = &mas->se; in spi_slv_setup() local 110 writel(SPI_SLAVE_EN, se->base + SE_SPI_SLAVE_EN); in spi_slv_setup() 111 writel(GENI_IO_MUX_0_EN, se->base + GENI_OUTPUT_CTRL); in spi_slv_setup() 112 writel(START_TRIGGER, se->base + SE_GENI_CFG_SEQ_START); in spi_slv_setup() 125 ret = geni_se_clk_freq_match(&mas->se, in get_spi_clk_cfg() 153 struct geni_se *se = &mas->se; in handle_se_timeout() local 158 writel(0, se->base + SE_GENI_TX_WATERMARK_REG); in handle_se_timeout() 173 geni_se_cancel_m_cmd(se); in handle_se_timeout() 182 geni_se_abort_m_cmd(se); in handle_se_timeout() [all …]
|
| /linux/drivers/gpu/drm/v3d/ |
| H A D | v3d_submit.c | 161 u32 in_sync, struct v3d_submit_ext *se, enum v3d_queue queue) in v3d_job_init() argument 164 bool has_multisync = se && (se->flags & DRM_V3D_EXT_ID_MULTI_SYNC); in v3d_job_init() 177 if (se->in_sync_count && se->wait_stage == queue) { in v3d_job_init() 178 struct drm_v3d_sem __user *handle = u64_to_user_ptr(se->in_syncs); in v3d_job_init() 180 for (i = 0; i < se->in_sync_count; i++) { in v3d_job_init() 230 struct v3d_submit_ext *se, in v3d_attach_fences_and_unlock_reservation() argument 234 bool has_multisync = se && (se->flags & DRM_V3D_EXT_ID_MULTI_SYNC); in v3d_attach_fences_and_unlock_reservation() 257 if (se->out_sync_count) { in v3d_attach_fences_and_unlock_reservation() 258 for (i = 0; i < se->out_sync_count; i++) { in v3d_attach_fences_and_unlock_reservation() 259 drm_syncobj_replace_fence(se->out_syncs[i].syncobj, in v3d_attach_fences_and_unlock_reservation() [all …]
|
| /linux/drivers/tty/serial/ |
| H A D | qcom_geni_serial.c | 123 struct geni_se se; member 205 port->se.base = uport->membase; in qcom_geni_serial_request_port() 439 geni_se_setup_s_cmd(&port->se, UART_START_READ, 0); in qcom_geni_serial_poll_init() 639 geni_se_tx_dma_unprep(&port->se, port->tx_dma_addr, in qcom_geni_serial_stop_tx_dma() 645 geni_se_cancel_m_cmd(&port->se); in qcom_geni_serial_stop_tx_dma() 650 geni_se_abort_m_cmd(&port->se); in qcom_geni_serial_stop_tx_dma() 682 ret = geni_se_tx_dma_prep(&port->se, tail, xmit_size, in qcom_geni_serial_start_tx_dma() 732 geni_se_cancel_m_cmd(&port->se); in __qcom_geni_serial_cancel_tx_cmd() 735 geni_se_abort_m_cmd(&port->se); in __qcom_geni_serial_cancel_tx_cmd() 797 geni_se_cancel_s_cmd(&port->se); in qcom_geni_serial_stop_rx_fifo() [all …]
|
| /linux/net/nfc/ |
| H A D | core.c | 536 struct nfc_se *se; in nfc_find_se() local 538 list_for_each_entry(se, &dev->secure_elements, list) in nfc_find_se() 539 if (se->idx == se_idx) in nfc_find_se() 540 return se; in nfc_find_se() 548 struct nfc_se *se; in nfc_enable_se() local 575 se = nfc_find_se(dev, se_idx); in nfc_enable_se() 576 if (!se) { in nfc_enable_se() 581 if (se->state == NFC_SE_ENABLED) { in nfc_enable_se() 588 se->state = NFC_SE_ENABLED; in nfc_enable_se() 597 struct nfc_se *se; in nfc_disable_se() local [all …]
|
| /linux/tools/testing/selftests/timers/ |
| H A D | alarmtimer-suspend.c | 109 struct sigevent se; in main() local 120 memset(&se, 0, sizeof(se)); in main() 121 se.sigev_notify = SIGEV_SIGNAL; in main() 122 se.sigev_signo = signum; in main() 123 se.sigev_value.sival_int = 0; in main() 130 if (timer_create(alarm_clock_id, &se, &tm1) == -1) { in main()
|
| /linux/Documentation/translations/sp_SP/process/ |
| H A D | 2.Process.rst | 25 lanzamientos se ve así: 45 se dice que la "merge window" (ventana de fusión) está abierta. En ese 46 momento, el código que se considera lo suficientemente estable (y que es 47 aceptado por la comunidad de desarrollo) se fusiona en el kernel mainline. 49 los cambios principales) se fusionarán durante este tiempo, a un ritmo 53 (Aparte, vale la pena señalar que los cambios integrados durante la 55 y montados con anticipación. Como funciona ese proceso se describirá en 61 ejemplo, el lanzamiento al final de la ventana de fusión se llamará 62 5.6-rc1. El lanzamiento -rc1 señala que el tiempo para fusionar nuevas 67 problemas deben enviarse al mainline. En ocasiones, se permitirá un cambio [all …]
|
| H A D | maintainer-kvm-x86.rst | 11 KVM se esfuerza por ser una comunidad acogedora; las contribuciones de los 12 recién llegados son valoradas e incentivadas. Por favor, no se desanime ni 13 se sienta intimidado por la extensión de este documento y las numerosas 27 KVM x86 se encuentra actualmente en un período de transición de ser parte 33 Por lo general, las correcciones para el ciclo en curso se aplican 35 para el siguiente ciclo se dirige a través del árbol de KVM x86. En el 36 improbable caso de que una corrección para el ciclo actual se dirija a 37 través del árbol KVM x86, se aplicará a la rama ``fixes`` antes de llegar 40 Tenga en cuenta que se espera que este periodo de transición dure bastante 53 Todas las ramas temáticas, excepto ``next`` y ``fixes``, se agrupan en [all …]
|
| H A D | 5.Posting.rst | 14 kernel ha desarrollado un conjunto de convenciones y procedimientos que se 17 expectativas con un detalle razonable; también se puede encontrar más 27 problema. Sin embargo, si el trabajo que se está realizando es complejo, 29 se complete el trabajo. Por lo tanto, se debería considerar publicar 34 Al publicar código que aún no se considera listo para su inclusión, es 37 conocido. Menos personas mirarán los parches que se sabe que están a 48 de depuración del kernel, asegúrese de que el kernel se compilará con 57 su cambio; se debe incluir un resumen de los resultados con el parche. 60 se realizó para un empleador, es probable que el empleador tenga 75 Como regla general, un parche debe basarse en el mainline actual que se [all …]
|
| /linux/drivers/gpu/drm/amd/amdkfd/ |
| H A D | kfd_mqd_manager.c | 107 int i, se, sh, cu, cu_bitmap_sh_mul, cu_inc = wgp_mode_req ? 2 : 1; in mqd_symmetrically_map_cu_mask() local 147 for (se = 0; se < gfx_info->max_shader_engines; se++) in mqd_symmetrically_map_cu_mask() 149 cu_per_sh[se][sh] = hweight32( in mqd_symmetrically_map_cu_mask() 150 cu_info->bitmap[xcc_inst][se % 4][sh + (se / 4) * in mqd_symmetrically_map_cu_mask() 195 for (se = 0; se < gfx_info->max_shader_engines; se++) { in mqd_symmetrically_map_cu_mask() 196 if (cu_per_sh[se][sh] > cu) { in mqd_symmetrically_map_cu_mask() 198 se_mask[se] |= en_mask << (cu + sh * 16); in mqd_symmetrically_map_cu_mask()
|
| /linux/Documentation/translations/sp_SP/scheduler/ |
| H A D | sched-bwc.rst | 14 para SCHED_NORMAL. El caso de SCHED_RT se trata en Documentation/scheduler/sched-rt-group.rst 19 El ancho de banda permitido para un grupo de tareas se especifica usando una 21 de tareas se le asigna hasta su "cuota" de tiempo de uso de CPU en 32 hilos de ejecución van consumiendo este ancho de banda, este se 51 ejecutar más de un segundo y obviamente no se cumpliría con el tiempo 53 el tiempo límite de la tarea estaría todavía más lejos, y nunca se tendría 57 consuma totalmente la cuota; esto permite que se pueda describir u_i 60 Por ejemplo, se tiene u_i = {x,e}_i, donde x es el p(95) y x+e p(100) 66 probabilidades. De todas formas, si se mantiene la estabilidad, ya que 67 cada sobre-ejecución se empareja con una infra-ejecución en tanto x esté [all …]
|
| H A D | sched-design-CFS.rst | 18 del previo gestor de tareas SCHED_OTHER. Hoy en día se está abriendo camino 19 para el gestor de tareas EEVDF, cuya documentación se puede ver en 30 como si se ejecutaran en paralelo. 32 En hardware real, se puede ejecutar una única tarea a la vez, así que 33 se ha usado el concepto de "tiempo de ejecución virtual". El tiempo 44 En CFS, el tiempo de ejecución virtual se expresa y se monitoriza por 45 cada tarea, en su valor de p->se.vruntime (en unidades de nanosegundos). 50 tareas pueden tener el mismo valor de p->se.vruntime --- i.e., tareas 51 se podrían ejecutar simultáneamente y ninguna tarea podría escaparse del 54 La lógica de elección del tareas de CFS se basa en el valor de p->se.vruntime [all …]
|
| /linux/fs/f2fs/ |
| H A D | segment.h | 29 #define SE_PAGETYPE(se) ((IS_NODESEG((se)->type) ? NODE : DATA)) argument 360 struct seg_entry *se = get_seg_entry(sbi, start_segno); in set_ckpt_valid_blocks() local 362 blocks += se->ckpt_valid_blocks; in set_ckpt_valid_blocks() 377 struct seg_entry *se = get_seg_entry(sbi, start_segno); in sanity_check_valid_blocks() local 379 blocks += se->ckpt_valid_blocks; in sanity_check_valid_blocks() 396 static inline void seg_info_from_raw_sit(struct seg_entry *se, in seg_info_from_raw_sit() argument 399 se->valid_blocks = GET_SIT_VBLOCKS(rs); in seg_info_from_raw_sit() 400 se->ckpt_valid_blocks = GET_SIT_VBLOCKS(rs); in seg_info_from_raw_sit() 401 memcpy(se->cur_valid_map, rs->valid_map, SIT_VBLOCK_MAP_SIZE); in seg_info_from_raw_sit() 402 memcpy(se->ckpt_valid_map, rs->valid_map, SIT_VBLOCK_MAP_SIZE); in seg_info_from_raw_sit() [all …]
|
| /linux/Documentation/translations/zh_CN/scheduler/ |
| H A D | sched-design-CFS.rst | 36 在CFS中,虚拟运行时间由每个任务的p->se.vruntime(单位为纳秒)的值表达和跟踪。因此, 39 一些细节:在“理想的”硬件上,所有的任务在任何时刻都应该具有一样的p->se.vruntime值, 42 CFS的任务选择逻辑基于p->se.vruntime的值,因此非常简单:总是试图选择p->se.vruntime值 64 CFS维护了一个按时间排序的红黑树,所有可运行任务以p->se.vruntime为键值排序。CFS从这颗 70 p->se.vruntime。一旦p->se.vruntime变得足够大,其它的任务将成为按时间排序的红黑树的
|