smp 47 arch/arm/include/asm/mach/arch.h const struct smp_operations *smp; /* SMP operations */ smp 105 arch/arm/include/asm/processor.h #define __ALT_SMP_ASM(smp, up) \ smp 106 arch/arm/include/asm/processor.h "9998: " smp "\n" \ smp 112 arch/arm/include/asm/processor.h #define __ALT_SMP_ASM(smp, up) up smp 1147 arch/arm/kernel/setup.c else if (mdesc->smp) smp 1148 arch/arm/kernel/setup.c smp_set_ops(mdesc->smp); smp 28 arch/arm/mach-bcm/board_bcm2835.c .smp = smp_ops(bcm2836_smp_ops), smp 198 arch/arm/mach-exynos/exynos.c .smp = smp_ops(exynos_smp_ops), smp 325 arch/arm/mach-imx/mach-imx6q.c .smp = smp_ops(imx_smp_ops), smp 16 arch/arm/mach-imx/mach-ls1021a.c .smp = smp_ops(ls1021a_smp_ops), smp 103 arch/arm/mach-keystone/keystone.c .smp = smp_ops(keystone_smp_ops), smp 250 arch/arm/mach-omap2/board-generic.c .smp = smp_ops(omap4_smp_ops), smp 275 arch/arm/mach-omap2/board-generic.c .smp = smp_ops(omap4_smp_ops), smp 324 arch/arm/mach-omap2/board-generic.c .smp = smp_ops(omap4_smp_ops), smp 61 arch/arm/mach-prima2/common.c .smp = smp_ops(sirfsoc_smp_ops), smp 23 arch/arm/mach-shmobile/setup-emev2.c .smp = smp_ops(emev2_smp_ops), smp 73 arch/arm/mach-shmobile/setup-r8a7779.c .smp = smp_ops(r8a7779_smp_ops), smp 57 arch/arm/mach-shmobile/setup-sh73a0.c .smp = smp_ops(sh73a0_smp_ops), smp 59 arch/arm/mach-spear/spear1310.c .smp = smp_ops(spear13xx_smp_ops), smp 32 arch/arm/mach-spear/spear1340.c .smp = smp_ops(spear13xx_smp_ops), smp 38 arch/arm/mach-sti/board-dt.c .smp = smp_ops(sti_smp_ops), smp 111 arch/arm/mach-tegra/tegra.c .smp = smp_ops(tegra_smp_ops), smp 15 arch/arm/mach-vexpress/v2m.c .smp = smp_ops(vexpress_smp_dt_ops), smp 191 arch/arm/mach-zynq/common.c .smp = smp_ops(zynq_smp_ops), smp 354 arch/powerpc/platforms/8xx/micropatch.c smc_uart_t *smp; smp 356 arch/powerpc/platforms/8xx/micropatch.c smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC1]; smp 357 arch/powerpc/platforms/8xx/micropatch.c out_be16(&smp->smc_rpbase, 0x1FC0); smp 362 arch/powerpc/platforms/8xx/micropatch.c smc_uart_t *smp; smp 364 arch/powerpc/platforms/8xx/micropatch.c smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC1]; smp 365 arch/powerpc/platforms/8xx/micropatch.c out_be16(&smp->smc_rpbase, 0x1ec0); smp 366 arch/powerpc/platforms/8xx/micropatch.c smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC2]; smp 367 arch/powerpc/platforms/8xx/micropatch.c out_be16(&smp->smc_rpbase, 0x1fc0); smp 495 arch/x86/kernel/alternative.c struct smp_alt_module *smp; smp 505 arch/x86/kernel/alternative.c smp = kzalloc(sizeof(*smp), GFP_KERNEL); smp 506 arch/x86/kernel/alternative.c if (NULL == smp) smp 510 arch/x86/kernel/alternative.c smp->mod = mod; smp 511 arch/x86/kernel/alternative.c smp->name = name; smp 512 arch/x86/kernel/alternative.c smp->locks = locks; smp 513 arch/x86/kernel/alternative.c smp->locks_end = locks_end; smp 514 arch/x86/kernel/alternative.c smp->text = text; smp 515 arch/x86/kernel/alternative.c smp->text_end = text_end; smp 517 arch/x86/kernel/alternative.c smp->locks, smp->locks_end, smp 518 arch/x86/kernel/alternative.c smp->text, smp->text_end, smp->name); smp 520 arch/x86/kernel/alternative.c list_add_tail(&smp->next, &smp_alt_modules); smp 401 arch/x86/kernel/apm_32.c static bool smp __read_mostly; smp 1780 arch/x86/kernel/apm_32.c if (debug && (num_online_cpus() == 1 || smp)) { smp 1841 arch/x86/kernel/apm_32.c if (num_online_cpus() == 1 || smp) { smp 1883 arch/x86/kernel/apm_32.c smp = !invert; smp 2312 arch/x86/kernel/apm_32.c if ((num_online_cpus() > 1) && !power_off && !smp) { smp 2360 arch/x86/kernel/apm_32.c if (num_online_cpus() > 1 && !smp) { smp 2435 arch/x86/kernel/apm_32.c module_param(smp, bool, 0444); smp 2436 arch/x86/kernel/apm_32.c MODULE_PARM_DESC(smp, smp 24 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c .smp = { smp 108 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c .smp = { smp 191 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c .smp = { smp 286 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c .smp = { smp 353 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c .smp = { smp 83 drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h struct mdp5_smp_block smp; smp 34 drivers/gpu/drm/msm/disp/mdp5/mdp5_irq.c if (mdp5_kms->smp) smp 35 drivers/gpu/drm/msm/disp/mdp5/mdp5_irq.c mdp5_smp_dump(mdp5_kms->smp, &p); smp 168 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c if (mdp5_kms->smp) smp 169 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c mdp5_smp_prepare_commit(mdp5_kms->smp, &global_state->smp); smp 193 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c if (mdp5_kms->smp) smp 194 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c mdp5_smp_complete_commit(mdp5_kms->smp, &global_state->smp); smp 251 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c if (!mdp5_kms->smp) { smp 256 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c mdp5_smp_dump(mdp5_kms->smp, &p); smp 786 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c if (mdp5_kms->smp) smp 787 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c mdp5_smp_destroy(mdp5_kms->smp); smp 1008 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c mdp5_kms->smp = mdp5_smp_init(mdp5_kms, &config->hw->smp); smp 1009 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c if (IS_ERR(mdp5_kms->smp)) { smp 1010 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c ret = PTR_ERR(mdp5_kms->smp); smp 1011 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c mdp5_kms->smp = NULL; smp 46 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h struct mdp5_smp *smp; smp 84 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h struct mdp5_smp_state smp; smp 94 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c if (mdp5_kms->smp) { smp 101 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c ret = mdp5_smp_assign(mdp5_kms->smp, &new_global_state->smp, smp 138 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c if (mdp5_kms->smp) { smp 140 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c mdp5_smp_release(mdp5_kms->smp, &state->smp, hwpipe->pipe); smp 348 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c if (mdp5_kms->smp) { smp 352 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c blkcfg = mdp5_smp_calculate(mdp5_kms->smp, format, smp 32 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct mdp5_kms *get_kms(struct mdp5_smp *smp) smp 34 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct msm_drm_private *priv = smp->dev->dev_private; smp 58 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c return mdp5_cfg->smp.clients[pipe] + plane; smp 62 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c static int smp_request_block(struct mdp5_smp *smp, smp 67 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c int i, avail, cnt = smp->blk_cnt; smp 73 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c reserved = smp->reserved[cid]; smp 82 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c DRM_DEV_ERROR(smp->dev->dev, "out of blks (req=%d > avail=%d)\n", smp 96 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c static void set_fifo_thresholds(struct mdp5_smp *smp, smp 99 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c u32 smp_entries_per_blk = smp->blk_size / (128 / BITS_PER_BYTE); smp 105 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->pipe_reqprio_fifo_wm0[pipe] = val * 1; smp 106 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->pipe_reqprio_fifo_wm1[pipe] = val * 2; smp 107 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->pipe_reqprio_fifo_wm2[pipe] = val * 3; smp 116 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c uint32_t mdp5_smp_calculate(struct mdp5_smp *smp, smp 121 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct mdp5_kms *mdp5_kms = get_kms(smp); smp 154 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c n = DIV_ROUND_UP(fetch_stride * nlines, smp->blk_size); smp 166 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c int mdp5_smp_assign(struct mdp5_smp *smp, struct mdp5_smp_state *state, smp 169 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct mdp5_kms *mdp5_kms = get_kms(smp); smp 181 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c ret = smp_request_block(smp, state, cid, n); smp 197 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c void mdp5_smp_release(struct mdp5_smp *smp, struct mdp5_smp_state *state, smp 201 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c int cnt = smp->blk_cnt; smp 220 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c static unsigned update_smp_state(struct mdp5_smp *smp, smp 223 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c int cnt = smp->blk_cnt; smp 231 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c val = smp->alloc_w[idx]; smp 248 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->alloc_w[idx] = val; smp 249 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->alloc_r[idx] = val; smp 257 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c static void write_smp_alloc_regs(struct mdp5_smp *smp) smp 259 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct mdp5_kms *mdp5_kms = get_kms(smp); smp 262 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c num_regs = smp->blk_cnt / 3 + 1; smp 266 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->alloc_w[i]); smp 268 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->alloc_r[i]); smp 272 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c static void write_smp_fifo_regs(struct mdp5_smp *smp) smp 274 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct mdp5_kms *mdp5_kms = get_kms(smp); smp 282 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->pipe_reqprio_fifo_wm0[pipe]); smp 284 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->pipe_reqprio_fifo_wm1[pipe]); smp 286 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->pipe_reqprio_fifo_wm2[pipe]); smp 290 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c void mdp5_smp_prepare_commit(struct mdp5_smp *smp, struct mdp5_smp_state *state) smp 301 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c nblks += update_smp_state(smp, cid, cs); smp 307 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c set_fifo_thresholds(smp, pipe, nblks); smp 310 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c write_smp_alloc_regs(smp); smp 311 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c write_smp_fifo_regs(smp); smp 316 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c void mdp5_smp_complete_commit(struct mdp5_smp *smp, struct mdp5_smp_state *state) smp 322 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c set_fifo_thresholds(smp, pipe, 0); smp 325 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c write_smp_fifo_regs(smp); smp 330 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p) smp 332 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct mdp5_kms *mdp5_kms = get_kms(smp); smp 348 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c state = &global_state->smp; smp 357 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c int inuse = bitmap_weight(cs, smp->blk_cnt); smp 367 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c drm_printf(p, "TOTAL:\t%d\t(of %d)\n", total, smp->blk_cnt); smp 368 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c drm_printf(p, "AVAIL:\t%d\n", smp->blk_cnt - smp 369 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c bitmap_weight(state->state, smp->blk_cnt)); smp 375 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c void mdp5_smp_destroy(struct mdp5_smp *smp) smp 377 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c kfree(smp); smp 384 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c struct mdp5_smp *smp = NULL; smp 387 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp = kzalloc(sizeof(*smp), GFP_KERNEL); smp 388 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c if (unlikely(!smp)) { smp 393 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->dev = mdp5_kms->dev; smp 394 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->blk_cnt = cfg->mmb_count; smp 395 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c smp->blk_size = cfg->mmb_size; smp 398 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c state = &global_state->smp; smp 401 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c bitmap_copy(state->state, cfg->reserved_state, smp->blk_cnt); smp 402 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c memcpy(smp->reserved, cfg->reserved, sizeof(smp->reserved)); smp 404 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c return smp; smp 406 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c if (smp) smp 407 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c mdp5_smp_destroy(smp); smp 71 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.h void mdp5_smp_destroy(struct mdp5_smp *smp); smp 73 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.h void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p); smp 75 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.h uint32_t mdp5_smp_calculate(struct mdp5_smp *smp, smp 79 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.h int mdp5_smp_assign(struct mdp5_smp *smp, struct mdp5_smp_state *state, smp 81 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.h void mdp5_smp_release(struct mdp5_smp *smp, struct mdp5_smp_state *state, smp 84 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.h void mdp5_smp_prepare_commit(struct mdp5_smp *smp, struct mdp5_smp_state *state); smp 85 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.h void mdp5_smp_complete_commit(struct mdp5_smp *smp, struct mdp5_smp_state *state); smp 1605 drivers/iio/adc/stm32-adc.c unsigned int smp, r = smpr->reg; smp 1609 drivers/iio/adc/stm32-adc.c for (smp = 0; smp <= STM32_ADC_MAX_SMP; smp++) smp 1610 drivers/iio/adc/stm32-adc.c if ((period_ns * adc->cfg->smp_cycles[smp]) >= smp_ns) smp 1612 drivers/iio/adc/stm32-adc.c if (smp > STM32_ADC_MAX_SMP) smp 1613 drivers/iio/adc/stm32-adc.c smp = STM32_ADC_MAX_SMP; smp 1616 drivers/iio/adc/stm32-adc.c adc->smpr_val[r] = (adc->smpr_val[r] & ~mask) | (smp << shift); smp 1666 drivers/iio/adc/stm32-adc.c u32 val, smp = 0; smp 1749 drivers/iio/adc/stm32-adc.c i, &smp); smp 1751 drivers/iio/adc/stm32-adc.c stm32_adc_smpr_init(adc, channels[i].channel, smp); smp 812 drivers/infiniband/core/mad.c struct ib_smp *smp = mad_send_wr->send_buf.mad; smp 813 drivers/infiniband/core/mad.c struct opa_smp *opa_smp = (struct opa_smp *)smp; smp 830 drivers/infiniband/core/mad.c smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 841 drivers/infiniband/core/mad.c if (opa && smp->class_version == OPA_SM_CLASS_VERSION) { smp 871 drivers/infiniband/core/mad.c trace_ib_mad_handle_out_ib_smi(smp); smp 873 drivers/infiniband/core/mad.c if ((ib_get_smp_direction(smp) ? smp->dr_dlid : smp->dr_slid) == smp 875 drivers/infiniband/core/mad.c smi_handle_dr_smp_send(smp, rdma_cap_ib_switch(device), port_num) == smp 881 drivers/infiniband/core/mad.c drslid = be16_to_cpu(smp->dr_slid); smp 884 drivers/infiniband/core/mad.c if (smi_check_local_smp(smp, device) == IB_SMI_DISCARD && smp 885 drivers/infiniband/core/mad.c smi_check_local_returning_smp(smp, device) == IB_SMI_DISCARD) smp 908 drivers/infiniband/core/mad.c if (opa && smp->base_version == OPA_MGMT_BASE_VERSION) { smp 916 drivers/infiniband/core/mad.c (const struct ib_mad_hdr *)smp, mad_size, smp 942 drivers/infiniband/core/mad.c memcpy(mad_priv->mad, smp, mad_priv->mad_size); smp 2103 drivers/infiniband/core/mad.c struct ib_smp *smp = (struct ib_smp *)recv->mad; smp 2105 drivers/infiniband/core/mad.c trace_ib_mad_handle_ib_smi(smp); smp 2107 drivers/infiniband/core/mad.c if (smi_handle_dr_smp_recv(smp, smp 2114 drivers/infiniband/core/mad.c retsmi = smi_check_forward_dr_smp(smp); smp 2119 drivers/infiniband/core/mad.c if (smi_handle_dr_smp_send(smp, smp 2124 drivers/infiniband/core/mad.c if (smi_check_local_smp(smp, port_priv->device) == IB_SMI_DISCARD) smp 2136 drivers/infiniband/core/mad.c smi_get_fwd_port(smp), smp 2190 drivers/infiniband/core/mad.c struct opa_smp *smp = (struct opa_smp *)recv->mad; smp 2192 drivers/infiniband/core/mad.c trace_ib_mad_handle_opa_smi(smp); smp 2194 drivers/infiniband/core/mad.c if (opa_smi_handle_dr_smp_recv(smp, smp 2201 drivers/infiniband/core/mad.c retsmi = opa_smi_check_forward_dr_smp(smp); smp 2206 drivers/infiniband/core/mad.c if (opa_smi_handle_dr_smp_send(smp, smp 2211 drivers/infiniband/core/mad.c if (opa_smi_check_local_smp(smp, port_priv->device) == smp 2226 drivers/infiniband/core/mad.c opa_smi_get_fwd_port(smp), smp 42 drivers/infiniband/core/opa_smi.h enum smi_action opa_smi_handle_dr_smp_recv(struct opa_smp *smp, bool is_switch, smp 44 drivers/infiniband/core/opa_smi.h int opa_smi_get_fwd_port(struct opa_smp *smp); smp 45 drivers/infiniband/core/opa_smi.h extern enum smi_forward_action opa_smi_check_forward_dr_smp(struct opa_smp *smp); smp 46 drivers/infiniband/core/opa_smi.h extern enum smi_action opa_smi_handle_dr_smp_send(struct opa_smp *smp, smp 53 drivers/infiniband/core/opa_smi.h static inline enum smi_action opa_smi_check_local_smp(struct opa_smp *smp, smp 59 drivers/infiniband/core/opa_smi.h !opa_get_smp_direction(smp) && smp 60 drivers/infiniband/core/opa_smi.h (smp->hop_ptr == smp->hop_cnt + 1)) ? smp 68 drivers/infiniband/core/opa_smi.h static inline enum smi_action opa_smi_check_local_returning_smp(struct opa_smp *smp, smp 74 drivers/infiniband/core/opa_smi.h opa_get_smp_direction(smp) && smp 75 drivers/infiniband/core/opa_smi.h !smp->hop_ptr) ? IB_SMI_HANDLE : IB_SMI_DISCARD; smp 129 drivers/infiniband/core/smi.c enum smi_action smi_handle_dr_smp_send(struct ib_smp *smp, smp 133 drivers/infiniband/core/smi.c &smp->hop_ptr, smp->hop_cnt, smp 134 drivers/infiniband/core/smi.c smp->initial_path, smp 135 drivers/infiniband/core/smi.c smp->return_path, smp 136 drivers/infiniband/core/smi.c ib_get_smp_direction(smp), smp 137 drivers/infiniband/core/smi.c smp->dr_dlid == IB_LID_PERMISSIVE, smp 138 drivers/infiniband/core/smi.c smp->dr_slid == IB_LID_PERMISSIVE); smp 141 drivers/infiniband/core/smi.c enum smi_action opa_smi_handle_dr_smp_send(struct opa_smp *smp, smp 145 drivers/infiniband/core/smi.c &smp->hop_ptr, smp->hop_cnt, smp 146 drivers/infiniband/core/smi.c smp->route.dr.initial_path, smp 147 drivers/infiniband/core/smi.c smp->route.dr.return_path, smp 148 drivers/infiniband/core/smi.c opa_get_smp_direction(smp), smp 149 drivers/infiniband/core/smi.c smp->route.dr.dr_dlid == smp 151 drivers/infiniband/core/smi.c smp->route.dr.dr_slid == smp 240 drivers/infiniband/core/smi.c enum smi_action smi_handle_dr_smp_recv(struct ib_smp *smp, bool is_switch, smp 244 drivers/infiniband/core/smi.c &smp->hop_ptr, smp->hop_cnt, smp 245 drivers/infiniband/core/smi.c smp->initial_path, smp 246 drivers/infiniband/core/smi.c smp->return_path, smp 247 drivers/infiniband/core/smi.c ib_get_smp_direction(smp), smp 248 drivers/infiniband/core/smi.c smp->dr_dlid == IB_LID_PERMISSIVE, smp 249 drivers/infiniband/core/smi.c smp->dr_slid == IB_LID_PERMISSIVE); smp 256 drivers/infiniband/core/smi.c enum smi_action opa_smi_handle_dr_smp_recv(struct opa_smp *smp, bool is_switch, smp 260 drivers/infiniband/core/smi.c &smp->hop_ptr, smp->hop_cnt, smp 261 drivers/infiniband/core/smi.c smp->route.dr.initial_path, smp 262 drivers/infiniband/core/smi.c smp->route.dr.return_path, smp 263 drivers/infiniband/core/smi.c opa_get_smp_direction(smp), smp 264 drivers/infiniband/core/smi.c smp->route.dr.dr_dlid == smp 266 drivers/infiniband/core/smi.c smp->route.dr.dr_slid == smp 302 drivers/infiniband/core/smi.c enum smi_forward_action smi_check_forward_dr_smp(struct ib_smp *smp) smp 304 drivers/infiniband/core/smi.c return __smi_check_forward_dr_smp(smp->hop_ptr, smp->hop_cnt, smp 305 drivers/infiniband/core/smi.c ib_get_smp_direction(smp), smp 306 drivers/infiniband/core/smi.c smp->dr_dlid == IB_LID_PERMISSIVE, smp 307 drivers/infiniband/core/smi.c smp->dr_slid == IB_LID_PERMISSIVE); smp 310 drivers/infiniband/core/smi.c enum smi_forward_action opa_smi_check_forward_dr_smp(struct opa_smp *smp) smp 312 drivers/infiniband/core/smi.c return __smi_check_forward_dr_smp(smp->hop_ptr, smp->hop_cnt, smp 313 drivers/infiniband/core/smi.c opa_get_smp_direction(smp), smp 314 drivers/infiniband/core/smi.c smp->route.dr.dr_dlid == smp 316 drivers/infiniband/core/smi.c smp->route.dr.dr_slid == smp 324 drivers/infiniband/core/smi.c int smi_get_fwd_port(struct ib_smp *smp) smp 326 drivers/infiniband/core/smi.c return (!ib_get_smp_direction(smp) ? smp->initial_path[smp->hop_ptr+1] : smp 327 drivers/infiniband/core/smi.c smp->return_path[smp->hop_ptr-1]); smp 334 drivers/infiniband/core/smi.c int opa_smi_get_fwd_port(struct opa_smp *smp) smp 336 drivers/infiniband/core/smi.c return !opa_get_smp_direction(smp) ? smp->route.dr.initial_path[smp->hop_ptr+1] : smp 337 drivers/infiniband/core/smi.c smp->route.dr.return_path[smp->hop_ptr-1]; smp 54 drivers/infiniband/core/smi.h enum smi_action smi_handle_dr_smp_recv(struct ib_smp *smp, bool is_switch, smp 56 drivers/infiniband/core/smi.h int smi_get_fwd_port(struct ib_smp *smp); smp 57 drivers/infiniband/core/smi.h extern enum smi_forward_action smi_check_forward_dr_smp(struct ib_smp *smp); smp 58 drivers/infiniband/core/smi.h extern enum smi_action smi_handle_dr_smp_send(struct ib_smp *smp, smp 65 drivers/infiniband/core/smi.h static inline enum smi_action smi_check_local_smp(struct ib_smp *smp, smp 71 drivers/infiniband/core/smi.h !ib_get_smp_direction(smp) && smp 72 drivers/infiniband/core/smi.h (smp->hop_ptr == smp->hop_cnt + 1)) ? smp 80 drivers/infiniband/core/smi.h static inline enum smi_action smi_check_local_returning_smp(struct ib_smp *smp, smp 86 drivers/infiniband/core/smi.h ib_get_smp_direction(smp) && smp 87 drivers/infiniband/core/smi.h !smp->hop_ptr) ? IB_SMI_HANDLE : IB_SMI_DISCARD); smp 81 drivers/infiniband/hw/hfi1/mad.c static int reply(struct ib_mad_hdr *smp) smp 87 drivers/infiniband/hw/hfi1/mad.c smp->method = IB_MGMT_METHOD_GET_RESP; smp 88 drivers/infiniband/hw/hfi1/mad.c if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 89 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_DIRECTION; smp 93 drivers/infiniband/hw/hfi1/mad.c static inline void clear_opa_smp_data(struct opa_smp *smp) smp 95 drivers/infiniband/hw/hfi1/mad.c void *data = opa_get_smp_data(smp); smp 96 drivers/infiniband/hw/hfi1/mad.c size_t size = opa_get_smp_data_size(smp); smp 229 drivers/infiniband/hw/hfi1/mad.c struct opa_smp *smp) smp 236 drivers/infiniband/hw/hfi1/mad.c if (smp->attr_id != IB_SMP_ATTR_NOTICE) smp 244 drivers/infiniband/hw/hfi1/mad.c if (trap && trap->tid == smp->tid) { smp 317 drivers/infiniband/hw/hfi1/mad.c struct opa_smp *smp; smp 352 drivers/infiniband/hw/hfi1/mad.c smp = send_buf->mad; smp 353 drivers/infiniband/hw/hfi1/mad.c smp->base_version = OPA_MGMT_BASE_VERSION; smp 354 drivers/infiniband/hw/hfi1/mad.c smp->mgmt_class = IB_MGMT_CLASS_SUBN_LID_ROUTED; smp 355 drivers/infiniband/hw/hfi1/mad.c smp->class_version = OPA_SM_CLASS_VERSION; smp 356 drivers/infiniband/hw/hfi1/mad.c smp->method = IB_MGMT_METHOD_TRAP; smp 366 drivers/infiniband/hw/hfi1/mad.c smp->tid = trap->tid; smp 368 drivers/infiniband/hw/hfi1/mad.c smp->attr_id = IB_SMP_ATTR_NOTICE; smp 371 drivers/infiniband/hw/hfi1/mad.c memcpy(smp->route.lid.data, &trap->data, trap->len); smp 582 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_nodedesc(struct opa_smp *smp, u32 am, smp 589 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 590 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 600 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 603 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_nodeinfo(struct opa_smp *smp, u32 am, u8 *data, smp 617 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 618 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 640 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 643 drivers/infiniband/hw/hfi1/mad.c static int subn_get_nodeinfo(struct ib_smp *smp, struct ib_device *ibdev, smp 646 drivers/infiniband/hw/hfi1/mad.c struct ib_node_info *nip = (struct ib_node_info *)&smp->data; smp 651 drivers/infiniband/hw/hfi1/mad.c if (smp->attr_mod || pidx >= dd->num_pports || smp 654 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 655 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 674 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 796 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_portinfo(struct opa_smp *smp, u32 am, u8 *data, smp 815 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 816 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 826 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 827 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 833 drivers/infiniband/hw/hfi1/mad.c if (!(smp->method == IB_MGMT_METHOD_GET && smp 834 drivers/infiniband/hw/hfi1/mad.c ibp->rvp.mkey != smp->mkey && smp 1003 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1021 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_pkeytable(struct opa_smp *smp, u32 am, u8 *data, smp 1038 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1039 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1047 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1048 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1057 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1058 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1071 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1073 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1240 drivers/infiniband/hw/hfi1/mad.c static int set_port_states(struct hfi1_pportdata *ppd, struct opa_smp *smp, smp 1251 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1263 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1288 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1332 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1338 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1351 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_portinfo(struct opa_smp *smp, u32 am, u8 *data, smp 1376 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1377 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1383 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1391 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1418 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1451 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1493 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1510 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1517 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1528 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1529 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1542 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1575 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1579 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1618 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1637 drivers/infiniband/hw/hfi1/mad.c ret = set_port_states(ppd, smp, ls_new, ps_new, local_mad); smp 1642 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_portinfo(smp, am, data, ibdev, port, resp_len, smp 1660 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_portinfo(smp, am, data, ibdev, port, resp_len, smp 1720 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_pkeytable(struct opa_smp *smp, u32 am, u8 *data, smp 1737 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1738 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1746 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1747 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1755 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1756 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1763 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1764 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1767 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_pkeytable(smp, am, data, ibdev, port, resp_len, smp 1827 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_sl_to_sc(struct opa_smp *smp, u32 am, u8 *data, smp 1837 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1838 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1847 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1850 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_sl_to_sc(struct opa_smp *smp, u32 am, u8 *data, smp 1861 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1862 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1875 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_sl_to_sc(smp, am, data, ibdev, port, resp_len, smp 1879 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_sc_to_sl(struct opa_smp *smp, u32 am, u8 *data, smp 1889 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1890 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1899 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1902 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_sc_to_sl(struct opa_smp *smp, u32 am, u8 *data, smp 1912 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1913 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1919 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_sc_to_sl(smp, am, data, ibdev, port, resp_len, smp 1923 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_sc_to_vlt(struct opa_smp *smp, u32 am, u8 *data, smp 1933 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1934 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1942 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1945 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_sc_to_vlt(struct opa_smp *smp, u32 am, u8 *data, smp 1964 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1965 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1977 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1978 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 1983 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_sc_to_vlt(smp, am, data, ibdev, port, resp_len, smp 1987 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_sc_to_vlnt(struct opa_smp *smp, u32 am, u8 *data, smp 1998 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1999 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2009 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2012 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_sc_to_vlnt(struct opa_smp *smp, u32 am, u8 *data, smp 2024 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2025 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2032 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2033 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2040 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_sc_to_vlnt(smp, am, data, ibdev, port, smp 2044 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_psi(struct opa_smp *smp, u32 am, u8 *data, smp 2056 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2057 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2083 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2086 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_psi(struct opa_smp *smp, u32 am, u8 *data, smp 2100 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2101 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2119 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2125 drivers/infiniband/hw/hfi1/mad.c ret = set_port_states(ppd, smp, ls_new, ps_new, local_mad); smp 2130 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_psi(smp, am, data, ibdev, port, resp_len, smp 2134 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_cable_info(struct opa_smp *smp, u32 am, u8 *data, smp 2145 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2146 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2159 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2160 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2166 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 2167 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2176 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2177 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2183 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2186 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_bct(struct opa_smp *smp, u32 am, u8 *data, smp 2197 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2198 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2207 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2210 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_bct(struct opa_smp *smp, u32 am, u8 *data, smp 2220 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2221 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2226 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2227 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2230 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_bct(smp, am, data, ibdev, port, resp_len, smp 2234 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_vl_arb(struct opa_smp *smp, u32 am, u8 *data, smp 2245 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2246 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2264 drivers/infiniband/hw/hfi1/mad.c be32_to_cpu(smp->attr_mod)); smp 2265 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2273 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2276 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_vl_arb(struct opa_smp *smp, u32 am, u8 *data, smp 2287 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2288 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 2305 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 2309 drivers/infiniband/hw/hfi1/mad.c be32_to_cpu(smp->attr_mod)); smp 2310 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 2314 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_vl_arb(smp, am, data, ibdev, port, resp_len, smp 3705 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_cong_info(struct opa_smp *smp, u32 am, u8 *data, smp 3715 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 3716 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3726 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3729 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_cong_setting(struct opa_smp *smp, u32 am, smp 3742 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 3743 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3752 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3771 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3822 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_cong_setting(struct opa_smp *smp, u32 am, u8 *data, smp 3834 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 3835 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3858 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_cong_setting(smp, am, data, ibdev, port, smp 3862 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_hfi1_cong_log(struct opa_smp *smp, u32 am, smp 3873 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 3874 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3925 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3928 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_cc_table(struct opa_smp *smp, u32 am, u8 *data, smp 3947 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 3948 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3957 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3977 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 3980 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_cc_table(struct opa_smp *smp, u32 am, u8 *data, smp 3998 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 3999 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4009 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 4010 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4027 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_cc_table(smp, am, data, ibdev, port, resp_len, smp 4039 drivers/infiniband/hw/hfi1/mad.c static int __subn_get_opa_led_info(struct opa_smp *smp, u32 am, u8 *data, smp 4050 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 4051 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4066 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4069 drivers/infiniband/hw/hfi1/mad.c static int __subn_set_opa_led_info(struct opa_smp *smp, u32 am, u8 *data, smp 4079 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 4080 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4088 drivers/infiniband/hw/hfi1/mad.c return __subn_get_opa_led_info(smp, am, data, ibdev, port, resp_len, smp 4092 drivers/infiniband/hw/hfi1/mad.c static int subn_get_opa_sma(__be16 attr_id, struct opa_smp *smp, u32 am, smp 4101 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_nodedesc(smp, am, data, ibdev, port, smp 4105 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_nodeinfo(smp, am, data, ibdev, port, smp 4109 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_portinfo(smp, am, data, ibdev, port, smp 4113 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_pkeytable(smp, am, data, ibdev, port, smp 4117 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_sl_to_sc(smp, am, data, ibdev, port, smp 4121 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_sc_to_sl(smp, am, data, ibdev, port, smp 4125 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_sc_to_vlt(smp, am, data, ibdev, port, smp 4129 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_sc_to_vlnt(smp, am, data, ibdev, port, smp 4133 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_psi(smp, am, data, ibdev, port, smp 4137 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_bct(smp, am, data, ibdev, port, smp 4141 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_cable_info(smp, am, data, ibdev, port, smp 4145 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_vl_arb(smp, am, data, ibdev, port, smp 4149 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_cong_info(smp, am, data, ibdev, port, smp 4153 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_cong_setting(smp, am, data, ibdev, smp 4157 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_hfi1_cong_log(smp, am, data, ibdev, smp 4161 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_cc_table(smp, am, data, ibdev, port, smp 4165 drivers/infiniband/hw/hfi1/mad.c ret = __subn_get_opa_led_info(smp, am, data, ibdev, port, smp 4175 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 4176 drivers/infiniband/hw/hfi1/mad.c ret = reply((struct ib_mad_hdr *)smp); smp 4182 drivers/infiniband/hw/hfi1/mad.c static int subn_set_opa_sma(__be16 attr_id, struct opa_smp *smp, u32 am, smp 4191 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_portinfo(smp, am, data, ibdev, port, smp 4195 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_pkeytable(smp, am, data, ibdev, port, smp 4199 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_sl_to_sc(smp, am, data, ibdev, port, smp 4203 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_sc_to_sl(smp, am, data, ibdev, port, smp 4207 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_sc_to_vlt(smp, am, data, ibdev, port, smp 4211 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_sc_to_vlnt(smp, am, data, ibdev, port, smp 4215 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_psi(smp, am, data, ibdev, port, smp 4219 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_bct(smp, am, data, ibdev, port, smp 4223 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_vl_arb(smp, am, data, ibdev, port, smp 4227 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_cong_setting(smp, am, data, ibdev, smp 4231 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_cc_table(smp, am, data, ibdev, port, smp 4235 drivers/infiniband/hw/hfi1/mad.c ret = __subn_set_opa_led_info(smp, am, data, ibdev, port, smp 4245 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 4246 drivers/infiniband/hw/hfi1/mad.c ret = reply((struct ib_mad_hdr *)smp); smp 4257 drivers/infiniband/hw/hfi1/mad.c static int subn_get_opa_aggregate(struct opa_smp *smp, smp 4262 drivers/infiniband/hw/hfi1/mad.c u32 num_attr = be32_to_cpu(smp->attr_mod) & 0x000000ff; smp 4263 drivers/infiniband/hw/hfi1/mad.c u8 *next_smp = opa_get_smp_data(smp); smp 4266 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 4267 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4283 drivers/infiniband/hw/hfi1/mad.c if (next_smp + agg_size > ((u8 *)smp) + sizeof(*smp)) { smp 4284 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 4285 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4291 drivers/infiniband/hw/hfi1/mad.c (void)subn_get_opa_sma(agg->attr_id, smp, am, agg->data, smp 4294 drivers/infiniband/hw/hfi1/mad.c if (smp->status & IB_SMP_INVALID_FIELD) smp 4296 drivers/infiniband/hw/hfi1/mad.c if (smp->status & ~IB_SMP_DIRECTION) { smp 4298 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4303 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4306 drivers/infiniband/hw/hfi1/mad.c static int subn_set_opa_aggregate(struct opa_smp *smp, smp 4311 drivers/infiniband/hw/hfi1/mad.c u32 num_attr = be32_to_cpu(smp->attr_mod) & 0x000000ff; smp 4312 drivers/infiniband/hw/hfi1/mad.c u8 *next_smp = opa_get_smp_data(smp); smp 4315 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 4316 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4332 drivers/infiniband/hw/hfi1/mad.c if (next_smp + agg_size > ((u8 *)smp) + sizeof(*smp)) { smp 4333 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 4334 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4337 drivers/infiniband/hw/hfi1/mad.c (void)subn_set_opa_sma(agg->attr_id, smp, am, agg->data, smp 4341 drivers/infiniband/hw/hfi1/mad.c if (smp->status & IB_SMP_INVALID_FIELD) smp 4343 drivers/infiniband/hw/hfi1/mad.c if (smp->status & ~IB_SMP_DIRECTION) { smp 4345 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4350 drivers/infiniband/hw/hfi1/mad.c return reply((struct ib_mad_hdr *)smp); smp 4400 drivers/infiniband/hw/hfi1/mad.c const struct opa_smp *smp = (const struct opa_smp *)mad; smp 4402 drivers/infiniband/hw/hfi1/mad.c if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) { smp 4403 drivers/infiniband/hw/hfi1/mad.c return (smp->hop_cnt == 0 && smp 4404 drivers/infiniband/hw/hfi1/mad.c smp->route.dr.dr_slid == OPA_LID_PERMISSIVE && smp 4405 drivers/infiniband/hw/hfi1/mad.c smp->route.dr.dr_dlid == OPA_LID_PERMISSIVE); smp 4517 drivers/infiniband/hw/hfi1/mad.c struct opa_smp *smp = (struct opa_smp *)out_mad; smp 4525 drivers/infiniband/hw/hfi1/mad.c data = opa_get_smp_data(smp); smp 4526 drivers/infiniband/hw/hfi1/mad.c data_size = (u32)opa_get_smp_data_size(smp); smp 4528 drivers/infiniband/hw/hfi1/mad.c am = be32_to_cpu(smp->attr_mod); smp 4529 drivers/infiniband/hw/hfi1/mad.c attr_id = smp->attr_id; smp 4530 drivers/infiniband/hw/hfi1/mad.c if (smp->class_version != OPA_SM_CLASS_VERSION) { smp 4531 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_VERSION; smp 4532 drivers/infiniband/hw/hfi1/mad.c ret = reply((struct ib_mad_hdr *)smp); smp 4535 drivers/infiniband/hw/hfi1/mad.c ret = check_mkey(ibp, (struct ib_mad_hdr *)smp, mad_flags, smp->mkey, smp 4536 drivers/infiniband/hw/hfi1/mad.c smp->route.dr.dr_slid, smp->route.dr.return_path, smp 4537 drivers/infiniband/hw/hfi1/mad.c smp->hop_cnt); smp 4539 drivers/infiniband/hw/hfi1/mad.c u32 port_num = be32_to_cpu(smp->attr_mod); smp 4549 drivers/infiniband/hw/hfi1/mad.c (smp->method == IB_MGMT_METHOD_GET || smp 4550 drivers/infiniband/hw/hfi1/mad.c smp->method == IB_MGMT_METHOD_SET) && smp 4554 drivers/infiniband/hw/hfi1/mad.c (struct ib_mad_hdr *)smp, 0, smp 4555 drivers/infiniband/hw/hfi1/mad.c smp->mkey, smp->route.dr.dr_slid, smp 4556 drivers/infiniband/hw/hfi1/mad.c smp->route.dr.return_path, smp 4557 drivers/infiniband/hw/hfi1/mad.c smp->hop_cnt); smp 4562 drivers/infiniband/hw/hfi1/mad.c *resp_len = opa_get_smp_header_size(smp); smp 4564 drivers/infiniband/hw/hfi1/mad.c switch (smp->method) { smp 4568 drivers/infiniband/hw/hfi1/mad.c clear_opa_smp_data(smp); smp 4569 drivers/infiniband/hw/hfi1/mad.c ret = subn_get_opa_sma(attr_id, smp, am, data, smp 4574 drivers/infiniband/hw/hfi1/mad.c ret = subn_get_opa_aggregate(smp, ibdev, port, smp 4582 drivers/infiniband/hw/hfi1/mad.c ret = subn_set_opa_sma(attr_id, smp, am, data, smp 4587 drivers/infiniband/hw/hfi1/mad.c ret = subn_set_opa_aggregate(smp, ibdev, port, smp 4604 drivers/infiniband/hw/hfi1/mad.c subn_handle_opa_trap_repress(ibp, smp); smp 4609 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_METHOD; smp 4610 drivers/infiniband/hw/hfi1/mad.c ret = reply((struct ib_mad_hdr *)smp); smp 4621 drivers/infiniband/hw/hfi1/mad.c struct ib_smp *smp = (struct ib_smp *)out_mad; smp 4626 drivers/infiniband/hw/hfi1/mad.c if (smp->class_version != 1) { smp 4627 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_VERSION; smp 4628 drivers/infiniband/hw/hfi1/mad.c ret = reply((struct ib_mad_hdr *)smp); smp 4632 drivers/infiniband/hw/hfi1/mad.c ret = check_mkey(ibp, (struct ib_mad_hdr *)smp, mad_flags, smp 4633 drivers/infiniband/hw/hfi1/mad.c smp->mkey, (__force __be32)smp->dr_slid, smp 4634 drivers/infiniband/hw/hfi1/mad.c smp->return_path, smp->hop_cnt); smp 4636 drivers/infiniband/hw/hfi1/mad.c u32 port_num = be32_to_cpu(smp->attr_mod); smp 4646 drivers/infiniband/hw/hfi1/mad.c (smp->method == IB_MGMT_METHOD_GET || smp 4647 drivers/infiniband/hw/hfi1/mad.c smp->method == IB_MGMT_METHOD_SET) && smp 4651 drivers/infiniband/hw/hfi1/mad.c (struct ib_mad_hdr *)smp, 0, smp 4652 drivers/infiniband/hw/hfi1/mad.c smp->mkey, smp 4653 drivers/infiniband/hw/hfi1/mad.c (__force __be32)smp->dr_slid, smp 4654 drivers/infiniband/hw/hfi1/mad.c smp->return_path, smp->hop_cnt); smp 4659 drivers/infiniband/hw/hfi1/mad.c switch (smp->method) { smp 4661 drivers/infiniband/hw/hfi1/mad.c switch (smp->attr_id) { smp 4663 drivers/infiniband/hw/hfi1/mad.c ret = subn_get_nodeinfo(smp, ibdev, port); smp 4666 drivers/infiniband/hw/hfi1/mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 4667 drivers/infiniband/hw/hfi1/mad.c ret = reply((struct ib_mad_hdr *)smp); smp 768 drivers/infiniband/hw/hfi1/ud.c struct rvt_qp *qp, u16 slid, struct opa_smp *smp) smp 787 drivers/infiniband/hw/hfi1/ud.c if (smp->mgmt_class != IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE && smp 788 drivers/infiniband/hw/hfi1/ud.c smp->mgmt_class != IB_MGMT_CLASS_SUBN_LID_ROUTED) { smp 813 drivers/infiniband/hw/hfi1/ud.c switch (smp->method) { smp 829 drivers/infiniband/hw/hfi1/ud.c if (smp->method == IB_MGMT_METHOD_TRAP) smp 832 drivers/infiniband/hw/hfi1/ud.c smp->status |= IB_SMP_UNSUP_METHOD; smp 949 drivers/infiniband/hw/hfi1/ud.c struct opa_smp *smp = (struct opa_smp *)data; smp 951 drivers/infiniband/hw/hfi1/ud.c if (opa_smp_check(ibp, pkey, sc5, qp, slid, smp)) smp 957 drivers/infiniband/hw/hfi1/ud.c smp->mgmt_class != IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 5436 drivers/infiniband/hw/qib/qib_iba7322.c struct ib_smp *smp; smp 5466 drivers/infiniband/hw/qib/qib_iba7322.c smp = send_buf->mad; smp 5467 drivers/infiniband/hw/qib/qib_iba7322.c smp->base_version = IB_MGMT_BASE_VERSION; smp 5468 drivers/infiniband/hw/qib/qib_iba7322.c smp->mgmt_class = IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE; smp 5469 drivers/infiniband/hw/qib/qib_iba7322.c smp->class_version = 1; smp 5470 drivers/infiniband/hw/qib/qib_iba7322.c smp->method = IB_MGMT_METHOD_SEND; smp 5471 drivers/infiniband/hw/qib/qib_iba7322.c smp->hop_cnt = 1; smp 5472 drivers/infiniband/hw/qib/qib_iba7322.c smp->attr_id = QIB_VENDOR_IPG; smp 5473 drivers/infiniband/hw/qib/qib_iba7322.c smp->attr_mod = 0; smp 40 drivers/infiniband/hw/qib/qib_mad.c static int reply(struct ib_smp *smp) smp 46 drivers/infiniband/hw/qib/qib_mad.c smp->method = IB_MGMT_METHOD_GET_RESP; smp 47 drivers/infiniband/hw/qib/qib_mad.c if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 48 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_DIRECTION; smp 52 drivers/infiniband/hw/qib/qib_mad.c static int reply_failure(struct ib_smp *smp) smp 58 drivers/infiniband/hw/qib/qib_mad.c smp->method = IB_MGMT_METHOD_GET_RESP; smp 59 drivers/infiniband/hw/qib/qib_mad.c if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 60 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_DIRECTION; smp 68 drivers/infiniband/hw/qib/qib_mad.c struct ib_smp *smp; smp 92 drivers/infiniband/hw/qib/qib_mad.c smp = send_buf->mad; smp 93 drivers/infiniband/hw/qib/qib_mad.c smp->base_version = IB_MGMT_BASE_VERSION; smp 94 drivers/infiniband/hw/qib/qib_mad.c smp->mgmt_class = IB_MGMT_CLASS_SUBN_LID_ROUTED; smp 95 drivers/infiniband/hw/qib/qib_mad.c smp->class_version = 1; smp 96 drivers/infiniband/hw/qib/qib_mad.c smp->method = IB_MGMT_METHOD_TRAP; smp 98 drivers/infiniband/hw/qib/qib_mad.c smp->tid = cpu_to_be64(ibp->rvp.tid); smp 99 drivers/infiniband/hw/qib/qib_mad.c smp->attr_id = IB_SMP_ATTR_NOTICE; smp 101 drivers/infiniband/hw/qib/qib_mad.c memcpy(smp->data, data, len); smp 167 drivers/infiniband/hw/qib/qib_mad.c static void qib_bad_mkey(struct qib_ibport *ibp, struct ib_smp *smp) smp 180 drivers/infiniband/hw/qib/qib_mad.c data.details.ntc_256.method = smp->method; smp 181 drivers/infiniband/hw/qib/qib_mad.c data.details.ntc_256.attr_id = smp->attr_id; smp 182 drivers/infiniband/hw/qib/qib_mad.c data.details.ntc_256.attr_mod = smp->attr_mod; smp 183 drivers/infiniband/hw/qib/qib_mad.c data.details.ntc_256.mkey = smp->mkey; smp 184 drivers/infiniband/hw/qib/qib_mad.c if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) { smp 187 drivers/infiniband/hw/qib/qib_mad.c data.details.ntc_256.dr_slid = smp->dr_slid; smp 189 drivers/infiniband/hw/qib/qib_mad.c hop_cnt = smp->hop_cnt; smp 196 drivers/infiniband/hw/qib/qib_mad.c memcpy(data.details.ntc_256.dr_rtn_path, smp->return_path, smp 267 drivers/infiniband/hw/qib/qib_mad.c static int subn_get_nodedescription(struct ib_smp *smp, smp 270 drivers/infiniband/hw/qib/qib_mad.c if (smp->attr_mod) smp 271 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 273 drivers/infiniband/hw/qib/qib_mad.c memcpy(smp->data, ibdev->node_desc, sizeof(smp->data)); smp 275 drivers/infiniband/hw/qib/qib_mad.c return reply(smp); smp 278 drivers/infiniband/hw/qib/qib_mad.c static int subn_get_nodeinfo(struct ib_smp *smp, struct ib_device *ibdev, smp 281 drivers/infiniband/hw/qib/qib_mad.c struct ib_node_info *nip = (struct ib_node_info *)&smp->data; smp 287 drivers/infiniband/hw/qib/qib_mad.c if (smp->attr_mod || pidx >= dd->num_pports || smp 289 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 310 drivers/infiniband/hw/qib/qib_mad.c return reply(smp); smp 313 drivers/infiniband/hw/qib/qib_mad.c static int subn_get_guidinfo(struct ib_smp *smp, struct ib_device *ibdev, smp 317 drivers/infiniband/hw/qib/qib_mad.c u32 startgx = 8 * be32_to_cpu(smp->attr_mod); smp 318 drivers/infiniband/hw/qib/qib_mad.c __be64 *p = (__be64 *) smp->data; smp 323 drivers/infiniband/hw/qib/qib_mad.c memset(smp->data, 0, sizeof(smp->data)); smp 333 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 341 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 343 drivers/infiniband/hw/qib/qib_mad.c return reply(smp); smp 406 drivers/infiniband/hw/qib/qib_mad.c static int check_mkey(struct qib_ibport *ibp, struct ib_smp *smp, int mad_flags) smp 420 drivers/infiniband/hw/qib/qib_mad.c ibp->rvp.mkey == smp->mkey) smp 425 drivers/infiniband/hw/qib/qib_mad.c (smp->method == IB_MGMT_METHOD_GET || smp 426 drivers/infiniband/hw/qib/qib_mad.c smp->method == IB_MGMT_METHOD_SET || smp 427 drivers/infiniband/hw/qib/qib_mad.c smp->method == IB_MGMT_METHOD_TRAP_REPRESS)) smp 431 drivers/infiniband/hw/qib/qib_mad.c switch (smp->method) { smp 446 drivers/infiniband/hw/qib/qib_mad.c qib_bad_mkey(ibp, smp); smp 454 drivers/infiniband/hw/qib/qib_mad.c static int subn_get_portinfo(struct ib_smp *smp, struct ib_device *ibdev, smp 460 drivers/infiniband/hw/qib/qib_mad.c struct ib_port_info *pip = (struct ib_port_info *)smp->data; smp 464 drivers/infiniband/hw/qib/qib_mad.c u32 port_num = be32_to_cpu(smp->attr_mod); smp 470 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 471 drivers/infiniband/hw/qib/qib_mad.c ret = reply(smp); smp 476 drivers/infiniband/hw/qib/qib_mad.c ret = check_mkey(ibp, smp, 0); smp 490 drivers/infiniband/hw/qib/qib_mad.c memset(smp->data, 0, sizeof(smp->data)); smp 493 drivers/infiniband/hw/qib/qib_mad.c if (!(smp->method == IB_MGMT_METHOD_GET && smp 494 drivers/infiniband/hw/qib/qib_mad.c ibp->rvp.mkey != smp->mkey && smp 569 drivers/infiniband/hw/qib/qib_mad.c ret = reply(smp); smp 596 drivers/infiniband/hw/qib/qib_mad.c static int subn_get_pkeytable(struct ib_smp *smp, struct ib_device *ibdev, smp 599 drivers/infiniband/hw/qib/qib_mad.c u32 startpx = 32 * (be32_to_cpu(smp->attr_mod) & 0xffff); smp 600 drivers/infiniband/hw/qib/qib_mad.c u16 *p = (u16 *) smp->data; smp 601 drivers/infiniband/hw/qib/qib_mad.c __be16 *q = (__be16 *) smp->data; smp 605 drivers/infiniband/hw/qib/qib_mad.c memset(smp->data, 0, sizeof(smp->data)); smp 615 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 617 drivers/infiniband/hw/qib/qib_mad.c return reply(smp); smp 620 drivers/infiniband/hw/qib/qib_mad.c static int subn_set_guidinfo(struct ib_smp *smp, struct ib_device *ibdev, smp 624 drivers/infiniband/hw/qib/qib_mad.c u32 startgx = 8 * be32_to_cpu(smp->attr_mod); smp 625 drivers/infiniband/hw/qib/qib_mad.c __be64 *p = (__be64 *) smp->data; smp 639 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 642 drivers/infiniband/hw/qib/qib_mad.c return subn_get_guidinfo(smp, ibdev, port); smp 653 drivers/infiniband/hw/qib/qib_mad.c static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev, smp 656 drivers/infiniband/hw/qib/qib_mad.c struct ib_port_info *pip = (struct ib_port_info *)smp->data; smp 671 drivers/infiniband/hw/qib/qib_mad.c u32 port_num = be32_to_cpu(smp->attr_mod); smp 697 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 712 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 737 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 753 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 771 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 781 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 789 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 805 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 808 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 821 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 842 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 853 drivers/infiniband/hw/qib/qib_mad.c if (lstate == QIB_IB_LINKDOWN_DISABLE && smp->hop_cnt) { smp 866 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 880 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 882 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_portinfo(smp, ibdev, port); smp 1039 drivers/infiniband/hw/qib/qib_mad.c static int subn_set_pkeytable(struct ib_smp *smp, struct ib_device *ibdev, smp 1042 drivers/infiniband/hw/qib/qib_mad.c u32 startpx = 32 * (be32_to_cpu(smp->attr_mod) & 0xffff); smp 1043 drivers/infiniband/hw/qib/qib_mad.c __be16 *p = (__be16 *) smp->data; smp 1044 drivers/infiniband/hw/qib/qib_mad.c u16 *q = (u16 *) smp->data; smp 1052 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1054 drivers/infiniband/hw/qib/qib_mad.c return subn_get_pkeytable(smp, ibdev, port); smp 1057 drivers/infiniband/hw/qib/qib_mad.c static int subn_get_sl_to_vl(struct ib_smp *smp, struct ib_device *ibdev, smp 1061 drivers/infiniband/hw/qib/qib_mad.c u8 *p = (u8 *) smp->data; smp 1064 drivers/infiniband/hw/qib/qib_mad.c memset(smp->data, 0, sizeof(smp->data)); smp 1067 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METHOD; smp 1072 drivers/infiniband/hw/qib/qib_mad.c return reply(smp); smp 1075 drivers/infiniband/hw/qib/qib_mad.c static int subn_set_sl_to_vl(struct ib_smp *smp, struct ib_device *ibdev, smp 1079 drivers/infiniband/hw/qib/qib_mad.c u8 *p = (u8 *) smp->data; smp 1083 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METHOD; smp 1084 drivers/infiniband/hw/qib/qib_mad.c return reply(smp); smp 1094 drivers/infiniband/hw/qib/qib_mad.c return subn_get_sl_to_vl(smp, ibdev, port); smp 1097 drivers/infiniband/hw/qib/qib_mad.c static int subn_get_vl_arb(struct ib_smp *smp, struct ib_device *ibdev, smp 1100 drivers/infiniband/hw/qib/qib_mad.c unsigned which = be32_to_cpu(smp->attr_mod) >> 16; smp 1103 drivers/infiniband/hw/qib/qib_mad.c memset(smp->data, 0, sizeof(smp->data)); smp 1106 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METHOD; smp 1109 drivers/infiniband/hw/qib/qib_mad.c smp->data); smp 1112 drivers/infiniband/hw/qib/qib_mad.c smp->data); smp 1114 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1116 drivers/infiniband/hw/qib/qib_mad.c return reply(smp); smp 1119 drivers/infiniband/hw/qib/qib_mad.c static int subn_set_vl_arb(struct ib_smp *smp, struct ib_device *ibdev, smp 1122 drivers/infiniband/hw/qib/qib_mad.c unsigned which = be32_to_cpu(smp->attr_mod) >> 16; smp 1126 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METHOD; smp 1129 drivers/infiniband/hw/qib/qib_mad.c smp->data); smp 1132 drivers/infiniband/hw/qib/qib_mad.c smp->data); smp 1134 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_INVALID_FIELD; smp 1136 drivers/infiniband/hw/qib/qib_mad.c return subn_get_vl_arb(smp, ibdev, port); smp 1139 drivers/infiniband/hw/qib/qib_mad.c static int subn_trap_repress(struct ib_smp *smp, struct ib_device *ibdev, smp 1864 drivers/infiniband/hw/qib/qib_mad.c struct ib_smp *smp = (struct ib_smp *)out_mad; smp 1870 drivers/infiniband/hw/qib/qib_mad.c if (smp->class_version != 1) { smp 1871 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_VERSION; smp 1872 drivers/infiniband/hw/qib/qib_mad.c ret = reply(smp); smp 1876 drivers/infiniband/hw/qib/qib_mad.c ret = check_mkey(ibp, smp, mad_flags); smp 1878 drivers/infiniband/hw/qib/qib_mad.c u32 port_num = be32_to_cpu(smp->attr_mod); smp 1888 drivers/infiniband/hw/qib/qib_mad.c (smp->method == IB_MGMT_METHOD_GET || smp 1889 drivers/infiniband/hw/qib/qib_mad.c smp->method == IB_MGMT_METHOD_SET) && smp 1892 drivers/infiniband/hw/qib/qib_mad.c (void) check_mkey(to_iport(ibdev, port_num), smp, 0); smp 1897 drivers/infiniband/hw/qib/qib_mad.c switch (smp->method) { smp 1899 drivers/infiniband/hw/qib/qib_mad.c switch (smp->attr_id) { smp 1901 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_nodedescription(smp, ibdev); smp 1904 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_nodeinfo(smp, ibdev, port); smp 1907 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_guidinfo(smp, ibdev, port); smp 1910 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_portinfo(smp, ibdev, port); smp 1913 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_pkeytable(smp, ibdev, port); smp 1916 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_sl_to_vl(smp, ibdev, port); smp 1919 drivers/infiniband/hw/qib/qib_mad.c ret = subn_get_vl_arb(smp, ibdev, port); smp 1933 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 1934 drivers/infiniband/hw/qib/qib_mad.c ret = reply(smp); smp 1939 drivers/infiniband/hw/qib/qib_mad.c switch (smp->attr_id) { smp 1941 drivers/infiniband/hw/qib/qib_mad.c ret = subn_set_guidinfo(smp, ibdev, port); smp 1944 drivers/infiniband/hw/qib/qib_mad.c ret = subn_set_portinfo(smp, ibdev, port); smp 1947 drivers/infiniband/hw/qib/qib_mad.c ret = subn_set_pkeytable(smp, ibdev, port); smp 1950 drivers/infiniband/hw/qib/qib_mad.c ret = subn_set_sl_to_vl(smp, ibdev, port); smp 1953 drivers/infiniband/hw/qib/qib_mad.c ret = subn_set_vl_arb(smp, ibdev, port); smp 1967 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 1968 drivers/infiniband/hw/qib/qib_mad.c ret = reply(smp); smp 1973 drivers/infiniband/hw/qib/qib_mad.c if (smp->attr_id == IB_SMP_ATTR_NOTICE) smp 1974 drivers/infiniband/hw/qib/qib_mad.c ret = subn_trap_repress(smp, ibdev, port); smp 1976 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METH_ATTR; smp 1977 drivers/infiniband/hw/qib/qib_mad.c ret = reply(smp); smp 1994 drivers/infiniband/hw/qib/qib_mad.c if (ib_get_smp_direction(smp) && smp 1995 drivers/infiniband/hw/qib/qib_mad.c smp->attr_id == QIB_VENDOR_IPG) { smp 1997 drivers/infiniband/hw/qib/qib_mad.c smp->data[0]); smp 2004 drivers/infiniband/hw/qib/qib_mad.c smp->status |= IB_SMP_UNSUP_METHOD; smp 2005 drivers/infiniband/hw/qib/qib_mad.c ret = reply(smp); smp 491 drivers/infiniband/hw/qib/qib_ud.c struct ib_smp *smp; smp 496 drivers/infiniband/hw/qib/qib_ud.c smp = (struct ib_smp *) data; smp 499 drivers/infiniband/hw/qib/qib_ud.c smp->mgmt_class != IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 897 drivers/net/ethernet/mellanox/mlx4/cmd.c struct ib_smp *smp = inbox->buf; smp 918 drivers/net/ethernet/mellanox/mlx4/cmd.c if (smp->base_version == 1 && smp 919 drivers/net/ethernet/mellanox/mlx4/cmd.c smp->mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED && smp 920 drivers/net/ethernet/mellanox/mlx4/cmd.c smp->class_version == 1) { smp 922 drivers/net/ethernet/mellanox/mlx4/cmd.c if (!network_view && smp->method == IB_MGMT_METHOD_GET) { smp 923 drivers/net/ethernet/mellanox/mlx4/cmd.c if (smp->attr_id == IB_SMP_ATTR_PKEY_TABLE) { smp 924 drivers/net/ethernet/mellanox/mlx4/cmd.c index = be32_to_cpu(smp->attr_mod); smp 945 drivers/net/ethernet/mellanox/mlx4/cmd.c if (smp->attr_id == IB_SMP_ATTR_PORT_INFO) { smp 948 drivers/net/ethernet/mellanox/mlx4/cmd.c smp->attr_mod = cpu_to_be32(port); smp 962 drivers/net/ethernet/mellanox/mlx4/cmd.c if (smp->attr_id == IB_SMP_ATTR_GUID_INFO) { smp 970 drivers/net/ethernet/mellanox/mlx4/cmd.c smp->attr_mod = 0; smp 992 drivers/net/ethernet/mellanox/mlx4/cmd.c if (smp->attr_id == IB_SMP_ATTR_NODE_INFO) { smp 1010 drivers/net/ethernet/mellanox/mlx4/cmd.c if (!(smp->mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED && smp 1011 drivers/net/ethernet/mellanox/mlx4/cmd.c smp->method == IB_MGMT_METHOD_GET) || network_view) { smp 1013 drivers/net/ethernet/mellanox/mlx4/cmd.c slave, smp->mgmt_class, smp->method, smp 1015 drivers/net/ethernet/mellanox/mlx4/cmd.c be16_to_cpu(smp->attr_id)); smp 84 drivers/scsi/csiostor/csio_defs.h csio_set_state(void *smp, void *state) smp 86 drivers/scsi/csiostor/csio_defs.h ((struct csio_sm *)smp)->sm_state = (csio_sm_state_t)state; smp 90 drivers/scsi/csiostor/csio_defs.h csio_init_state(struct csio_sm *smp, void *state) smp 92 drivers/scsi/csiostor/csio_defs.h csio_set_state(smp, state); smp 96 drivers/scsi/csiostor/csio_defs.h csio_post_event(void *smp, uint32_t evt) smp 98 drivers/scsi/csiostor/csio_defs.h ((struct csio_sm *)smp)->sm_state(smp, evt); smp 102 drivers/scsi/csiostor/csio_defs.h csio_get_state(void *smp) smp 104 drivers/scsi/csiostor/csio_defs.h return ((struct csio_sm *)smp)->sm_state; smp 108 drivers/scsi/csiostor/csio_defs.h csio_match_state(void *smp, void *state) smp 110 drivers/scsi/csiostor/csio_defs.h return (csio_get_state(smp) == (csio_sm_state_t)state); smp 1162 drivers/scsi/esas2r/atioctl.h struct atto_ioctl_vda_smp_cmd smp; smp 536 drivers/scsi/hisi_sas/hisi_sas.h struct hisi_sas_command_table_smp smp; smp 3277 drivers/scsi/isci/request.c memcpy(&task_context->type.smp, &cmd, sizeof(u32)); smp 429 drivers/scsi/isci/scu_task_context.h struct smp_task_context smp; smp 2010 drivers/scsi/megaraid/megaraid_sas.h struct megasas_smp_frame smp; smp 167 drivers/sh/intc/core.c unsigned int smp) smp 174 drivers/sh/intc/core.c d->smp[cnt] = smp; smp 184 drivers/sh/intc/core.c unsigned int i, k, smp; smp 238 drivers/sh/intc/core.c d->smp = kcalloc(d->nr_reg, sizeof(*d->smp), GFP_NOWAIT); smp 239 drivers/sh/intc/core.c if (!d->smp) smp 246 drivers/sh/intc/core.c smp = IS_SMP(hw->mask_regs[i]); smp 247 drivers/sh/intc/core.c k += save_reg(d, k, hw->mask_regs[i].set_reg, smp); smp 248 drivers/sh/intc/core.c k += save_reg(d, k, hw->mask_regs[i].clr_reg, smp); smp 262 drivers/sh/intc/core.c smp = IS_SMP(hw->prio_regs[i]); smp 263 drivers/sh/intc/core.c k += save_reg(d, k, hw->prio_regs[i].set_reg, smp); smp 264 drivers/sh/intc/core.c k += save_reg(d, k, hw->prio_regs[i].clr_reg, smp); smp 390 drivers/sh/intc/core.c kfree(d->smp); smp 23 drivers/sh/intc/internals.h #define IS_SMP(x) (x.smp) smp 24 drivers/sh/intc/internals.h #define INTC_REG(d, x, c) (d->reg[(x)] + ((d->smp[(x)] & 0xff) * c)) smp 25 drivers/sh/intc/internals.h #define SMP_NR(d, x) ((d->smp[(x)] >> 8) ? (d->smp[(x)] >> 8) : 1) smp 62 drivers/sh/intc/internals.h unsigned long *smp; smp 923 fs/jfs/jfs_dtree.c struct metapage *smp; smp 945 fs/jfs/jfs_dtree.c smp = split->mp; smp 946 fs/jfs/jfs_dtree.c sp = DT_PAGE(ip, smp); smp 950 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 975 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 992 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 1051 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 1077 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 1085 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 1119 fs/jfs/jfs_dtree.c lmp = smp; smp 1126 fs/jfs/jfs_dtree.c DT_GETPAGE(ip, parent->bn, smp, PSIZE, sp, rc); smp 1181 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 1222 fs/jfs/jfs_dtree.c split->mp = smp; smp 1239 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 1249 fs/jfs/jfs_dtree.c BT_MARK_DIRTY(smp, ip); smp 1253 fs/jfs/jfs_dtree.c tlck = txLock(tid, ip, smp, tlckDTREE | tlckENTRY); smp 1282 fs/jfs/jfs_dtree.c DT_PUTPAGE(smp); smp 1322 fs/jfs/jfs_dtree.c struct metapage *smp; smp 1345 fs/jfs/jfs_dtree.c smp = split->mp; smp 1346 fs/jfs/jfs_dtree.c sp = DT_PAGE(ip, smp); smp 1366 fs/jfs/jfs_dtree.c jfs_info("dtSplitPage: ip:0x%p smp:0x%p rmp:0x%p", ip, smp, rmp); smp 1379 fs/jfs/jfs_dtree.c BT_MARK_DIRTY(smp, ip); smp 1385 fs/jfs/jfs_dtree.c tlck = txLock(tid, ip, smp, tlckDTREE | tlckENTRY); smp 1635 fs/jfs/jfs_dtree.c struct metapage *smp, *pmp, *mp; smp 1656 fs/jfs/jfs_dtree.c smp = split->mp; smp 1657 fs/jfs/jfs_dtree.c sp = DT_PAGE(ip, smp); smp 1715 fs/jfs/jfs_dtree.c jfs_info("dtExtendPage: ip:0x%p smp:0x%p sp:0x%p", ip, smp, sp); smp 1717 fs/jfs/jfs_dtree.c BT_MARK_DIRTY(smp, ip); smp 1721 fs/jfs/jfs_dtree.c tlck = txLock(tid, ip, smp, tlckDTREE | type); smp 1867 fs/jfs/jfs_dtree.c struct metapage *smp; smp 1887 fs/jfs/jfs_dtree.c smp = split->mp; smp 2012 fs/jfs/jfs_dtree.c BT_MARK_DIRTY(smp, ip); smp 2016 fs/jfs/jfs_dtree.c tlck = txLock(tid, ip, smp, tlckDTREE | tlckNEW | tlckBTROOT); smp 679 fs/jfs/jfs_xtree.c struct metapage *smp; smp 698 fs/jfs/jfs_xtree.c smp = split->mp; smp 699 fs/jfs/jfs_xtree.c sp = XT_PAGE(ip, smp); smp 708 fs/jfs/jfs_xtree.c BT_MARK_DIRTY(smp, ip); smp 732 fs/jfs/jfs_xtree.c tlck = txLock(tid, ip, smp, tlckXTREE | tlckGROW); smp 768 fs/jfs/jfs_xtree.c XT_PUTPAGE(smp); smp 784 fs/jfs/jfs_xtree.c XT_PUTPAGE(smp); smp 821 fs/jfs/jfs_xtree.c XT_GETPAGE(ip, parent->bn, smp, PSIZE, sp, rc); smp 842 fs/jfs/jfs_xtree.c split->mp = smp; smp 860 fs/jfs/jfs_xtree.c XT_PUTPAGE(smp); smp 864 fs/jfs/jfs_xtree.c XT_PUTPAGE(smp); smp 880 fs/jfs/jfs_xtree.c BT_MARK_DIRTY(smp, ip); smp 901 fs/jfs/jfs_xtree.c tlck = txLock(tid, ip, smp, smp 912 fs/jfs/jfs_xtree.c XT_PUTPAGE(smp); smp 949 fs/jfs/jfs_xtree.c struct metapage *smp; smp 965 fs/jfs/jfs_xtree.c smp = split->mp; smp 966 fs/jfs/jfs_xtree.c sp = XT_PAGE(ip, smp); smp 991 fs/jfs/jfs_xtree.c jfs_info("xtSplitPage: ip:0x%p smp:0x%p rmp:0x%p", ip, smp, rmp); smp 1004 fs/jfs/jfs_xtree.c BT_MARK_DIRTY(smp, ip); smp 1016 fs/jfs/jfs_xtree.c tlck = txLock(tid, ip, smp, tlckXTREE | tlckGROW); smp 2048 fs/namespace.c struct mountpoint *smp; smp 2056 fs/namespace.c smp = get_mountpoint(source_mnt->mnt.mnt_root); smp 2057 fs/namespace.c if (IS_ERR(smp)) smp 2058 fs/namespace.c return PTR_ERR(smp); smp 2099 fs/namespace.c mnt_change_mountpoint(child, smp, q); smp 2106 fs/namespace.c put_mountpoint(smp); smp 2123 fs/namespace.c put_mountpoint(smp); smp 240 include/acpi/processor.h u8 smp; smp 54 include/linux/sh_intc.h unsigned long smp; smp 62 include/linux/sh_intc.h unsigned long smp; smp 78 include/linux/sh_intc.h #define INTC_SMP(stride, nr) .smp = (stride) | ((nr) << 8) smp 655 include/net/bluetooth/l2cap.h struct l2cap_chan *smp; smp 202 include/net/iucv/iucv.h int iucv_register(struct iucv_handler *handler, int smp); smp 211 include/net/iucv/iucv.h void iucv_unregister(struct iucv_handler *handle, int smp); smp 490 include/net/iucv/iucv.h int (*iucv_register)(struct iucv_handler *handler, int smp); smp 491 include/net/iucv/iucv.h void (*iucv_unregister)(struct iucv_handler *handler, int smp); smp 144 include/rdma/ib_smi.h ib_get_smp_direction(struct ib_smp *smp) smp 146 include/rdma/ib_smi.h return ((smp->status & IB_SMP_DIRECTION) == IB_SMP_DIRECTION); smp 122 include/rdma/opa_smi.h opa_get_smp_direction(struct opa_smp *smp) smp 124 include/rdma/opa_smi.h return ib_get_smp_direction((struct ib_smp *)smp); smp 127 include/rdma/opa_smi.h static inline u8 *opa_get_smp_data(struct opa_smp *smp) smp 129 include/rdma/opa_smi.h if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 130 include/rdma/opa_smi.h return smp->route.dr.data; smp 132 include/rdma/opa_smi.h return smp->route.lid.data; smp 135 include/rdma/opa_smi.h static inline size_t opa_get_smp_data_size(struct opa_smp *smp) smp 137 include/rdma/opa_smi.h if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 138 include/rdma/opa_smi.h return sizeof(smp->route.dr.data); smp 140 include/rdma/opa_smi.h return sizeof(smp->route.lid.data); smp 143 include/rdma/opa_smi.h static inline size_t opa_get_smp_header_size(struct opa_smp *smp) smp 145 include/rdma/opa_smi.h if (smp->mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) smp 146 include/rdma/opa_smi.h return sizeof(*smp) - sizeof(smp->route.dr.data); smp 148 include/rdma/opa_smi.h return sizeof(*smp) - sizeof(smp->route.lid.data); smp 300 include/trace/events/ib_mad.h TP_PROTO(struct opa_smp *smp), smp 301 include/trace/events/ib_mad.h TP_ARGS(smp), smp 314 include/trace/events/ib_mad.h __entry->hop_ptr = smp->hop_ptr; smp 315 include/trace/events/ib_mad.h __entry->hop_cnt = smp->hop_cnt; smp 316 include/trace/events/ib_mad.h __entry->mkey = smp->mkey; smp 317 include/trace/events/ib_mad.h __entry->dr_slid = smp->route.dr.dr_slid; smp 318 include/trace/events/ib_mad.h __entry->dr_dlid = smp->route.dr.dr_dlid; smp 319 include/trace/events/ib_mad.h memcpy(__entry->initial_path, smp->route.dr.initial_path, smp 321 include/trace/events/ib_mad.h memcpy(__entry->return_path, smp->route.dr.return_path, smp 337 include/trace/events/ib_mad.h TP_PROTO(struct opa_smp *smp), smp 338 include/trace/events/ib_mad.h TP_ARGS(smp)); smp 340 include/trace/events/ib_mad.h TP_PROTO(struct opa_smp *smp), smp 341 include/trace/events/ib_mad.h TP_ARGS(smp)); smp 345 include/trace/events/ib_mad.h TP_PROTO(struct ib_smp *smp), smp 346 include/trace/events/ib_mad.h TP_ARGS(smp), smp 359 include/trace/events/ib_mad.h __entry->hop_ptr = smp->hop_ptr; smp 360 include/trace/events/ib_mad.h __entry->hop_cnt = smp->hop_cnt; smp 361 include/trace/events/ib_mad.h __entry->mkey = smp->mkey; smp 362 include/trace/events/ib_mad.h __entry->dr_slid = smp->dr_slid; smp 363 include/trace/events/ib_mad.h __entry->dr_dlid = smp->dr_dlid; smp 364 include/trace/events/ib_mad.h memcpy(__entry->initial_path, smp->initial_path, smp 366 include/trace/events/ib_mad.h memcpy(__entry->return_path, smp->return_path, smp 382 include/trace/events/ib_mad.h TP_PROTO(struct ib_smp *smp), smp 383 include/trace/events/ib_mad.h TP_ARGS(smp)); smp 385 include/trace/events/ib_mad.h TP_PROTO(struct ib_smp *smp), smp 386 include/trace/events/ib_mad.h TP_ARGS(smp)); smp 55 net/bluetooth/smp.c #define SMP_ALLOW_CMD(smp, code) set_bit(code, &smp->allow_cmd) smp 505 net/bluetooth/smp.c struct smp_dev *smp; smp 512 net/bluetooth/smp.c smp = chan->data; smp 526 net/bluetooth/smp.c struct smp_dev *smp; smp 532 net/bluetooth/smp.c smp = chan->data; smp 551 net/bluetooth/smp.c struct smp_dev *smp; smp 557 net/bluetooth/smp.c smp = chan->data; smp 561 net/bluetooth/smp.c err = set_ecdh_privkey(smp->tfm_ecdh, debug_sk); smp 564 net/bluetooth/smp.c memcpy(smp->local_pk, debug_pk, 64); smp 565 net/bluetooth/smp.c smp->debug_key = true; smp 569 net/bluetooth/smp.c err = generate_ecdh_keys(smp->tfm_ecdh, smp->local_pk); smp 576 net/bluetooth/smp.c if (crypto_memneq(smp->local_pk, debug_pk, 64)) smp 579 net/bluetooth/smp.c smp->debug_key = false; smp 582 net/bluetooth/smp.c SMP_DBG("OOB Public Key X: %32phN", smp->local_pk); smp 583 net/bluetooth/smp.c SMP_DBG("OOB Public Key Y: %32phN", smp->local_pk + 32); smp 585 net/bluetooth/smp.c get_random_bytes(smp->local_rand, 16); smp 587 net/bluetooth/smp.c err = smp_f4(smp->tfm_cmac, smp->local_pk, smp->local_pk, smp 588 net/bluetooth/smp.c smp->local_rand, 0, hash); smp 592 net/bluetooth/smp.c memcpy(rand, smp->local_rand, 16); smp 594 net/bluetooth/smp.c smp->local_oob = true; smp 601 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 602 net/bluetooth/smp.c struct smp_chan *smp; smp 626 net/bluetooth/smp.c smp = chan->data; smp 628 net/bluetooth/smp.c cancel_delayed_work_sync(&smp->security_timer); smp 629 net/bluetooth/smp.c schedule_delayed_work(&smp->security_timer, SMP_TIMEOUT); smp 661 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 662 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 699 net/bluetooth/smp.c set_bit(SMP_FLAG_REMOTE_OOB, &smp->flags); smp 701 net/bluetooth/smp.c memcpy(smp->rr, oob_data->rand256, 16); smp 702 net/bluetooth/smp.c memcpy(smp->pcnf, oob_data->hash256, 16); smp 703 net/bluetooth/smp.c SMP_DBG("OOB Remote Confirmation: %16phN", smp->pcnf); smp 704 net/bluetooth/smp.c SMP_DBG("OOB Remote Random: %16phN", smp->rr); smp 719 net/bluetooth/smp.c smp->remote_key_dist = remote_dist; smp 730 net/bluetooth/smp.c smp->remote_key_dist = rsp->init_key_dist; smp 735 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 737 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 743 net/bluetooth/smp.c smp->enc_key_size = max_key_size; smp 750 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 751 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 755 net/bluetooth/smp.c BUG_ON(!smp); smp 757 net/bluetooth/smp.c cancel_delayed_work_sync(&smp->security_timer); smp 759 net/bluetooth/smp.c complete = test_bit(SMP_FLAG_COMPLETE, &smp->flags); smp 762 net/bluetooth/smp.c kzfree(smp->csrk); smp 763 net/bluetooth/smp.c kzfree(smp->slave_csrk); smp 764 net/bluetooth/smp.c kzfree(smp->link_key); smp 766 net/bluetooth/smp.c crypto_free_shash(smp->tfm_cmac); smp 767 net/bluetooth/smp.c crypto_free_kpp(smp->tfm_ecdh); smp 772 net/bluetooth/smp.c if (smp->ltk && smp->ltk->type == SMP_LTK_P256_DEBUG && smp 774 net/bluetooth/smp.c list_del_rcu(&smp->ltk->list); smp 775 net/bluetooth/smp.c kfree_rcu(smp->ltk, rcu); smp 776 net/bluetooth/smp.c smp->ltk = NULL; smp 781 net/bluetooth/smp.c if (smp->ltk) { smp 782 net/bluetooth/smp.c list_del_rcu(&smp->ltk->list); smp 783 net/bluetooth/smp.c kfree_rcu(smp->ltk, rcu); smp 786 net/bluetooth/smp.c if (smp->slave_ltk) { smp 787 net/bluetooth/smp.c list_del_rcu(&smp->slave_ltk->list); smp 788 net/bluetooth/smp.c kfree_rcu(smp->slave_ltk, rcu); smp 791 net/bluetooth/smp.c if (smp->remote_irk) { smp 792 net/bluetooth/smp.c list_del_rcu(&smp->remote_irk->list); smp 793 net/bluetooth/smp.c kfree_rcu(smp->remote_irk, rcu); smp 798 net/bluetooth/smp.c kzfree(smp); smp 805 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 841 net/bluetooth/smp.c static u8 get_auth_method(struct smp_chan *smp, u8 local_io, u8 remote_io) smp 850 net/bluetooth/smp.c if (test_bit(SMP_FLAG_SC, &smp->flags)) smp 860 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 861 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 866 net/bluetooth/smp.c memset(smp->tk, 0, sizeof(smp->tk)); smp 867 net/bluetooth/smp.c clear_bit(SMP_FLAG_TK_VALID, &smp->flags); smp 878 net/bluetooth/smp.c smp->method = JUST_CFM; smp 880 net/bluetooth/smp.c smp->method = get_auth_method(smp, local_io, remote_io); smp 883 net/bluetooth/smp.c if (smp->method == JUST_CFM && test_bit(SMP_FLAG_INITIATOR, smp 884 net/bluetooth/smp.c &smp->flags)) smp 885 net/bluetooth/smp.c smp->method = JUST_WORKS; smp 888 net/bluetooth/smp.c if (smp->method == JUST_CFM && smp 890 net/bluetooth/smp.c smp->method = JUST_WORKS; smp 893 net/bluetooth/smp.c if (smp->method == JUST_WORKS) { smp 894 net/bluetooth/smp.c set_bit(SMP_FLAG_TK_VALID, &smp->flags); smp 901 net/bluetooth/smp.c if (test_bit(SMP_FLAG_SC, &smp->flags)) smp 905 net/bluetooth/smp.c if (smp->method != JUST_CFM) { smp 906 net/bluetooth/smp.c set_bit(SMP_FLAG_MITM_AUTH, &smp->flags); smp 914 net/bluetooth/smp.c if (smp->method == OVERLAP) { smp 916 net/bluetooth/smp.c smp->method = CFM_PASSKEY; smp 918 net/bluetooth/smp.c smp->method = REQ_PASSKEY; smp 922 net/bluetooth/smp.c if (smp->method == CFM_PASSKEY) { smp 923 net/bluetooth/smp.c memset(smp->tk, 0, sizeof(smp->tk)); smp 926 net/bluetooth/smp.c put_unaligned_le32(passkey, smp->tk); smp 928 net/bluetooth/smp.c set_bit(SMP_FLAG_TK_VALID, &smp->flags); smp 931 net/bluetooth/smp.c if (smp->method == REQ_PASSKEY) smp 934 net/bluetooth/smp.c else if (smp->method == JUST_CFM) smp 946 net/bluetooth/smp.c static u8 smp_confirm(struct smp_chan *smp) smp 948 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 954 net/bluetooth/smp.c ret = smp_c1(smp->tk, smp->prnd, smp->preq, smp->prsp, smp 961 net/bluetooth/smp.c clear_bit(SMP_FLAG_CFM_PENDING, &smp->flags); smp 963 net/bluetooth/smp.c smp_send_cmd(smp->conn, SMP_CMD_PAIRING_CONFIRM, sizeof(cp), &cp); smp 966 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM); smp 968 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RANDOM); smp 973 net/bluetooth/smp.c static u8 smp_random(struct smp_chan *smp) smp 975 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 982 net/bluetooth/smp.c ret = smp_c1(smp->tk, smp->rrnd, smp->preq, smp->prsp, smp 988 net/bluetooth/smp.c if (crypto_memneq(smp->pcnf, confirm, sizeof(smp->pcnf))) { smp 999 net/bluetooth/smp.c smp_s1(smp->tk, smp->rrnd, smp->prnd, stk); smp 1004 net/bluetooth/smp.c hci_le_start_enc(hcon, ediv, rand, stk, smp->enc_key_size); smp 1005 net/bluetooth/smp.c hcon->enc_key_size = smp->enc_key_size; smp 1012 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), smp 1013 net/bluetooth/smp.c smp->prnd); smp 1015 net/bluetooth/smp.c smp_s1(smp->tk, smp->prnd, smp->rrnd, stk); smp 1027 net/bluetooth/smp.c SMP_STK, auth, stk, smp->enc_key_size, ediv, rand); smp 1035 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 1036 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 1039 net/bluetooth/smp.c struct smp_cmd_pairing *req = (void *) &smp->preq[1]; smp 1040 net/bluetooth/smp.c struct smp_cmd_pairing *rsp = (void *) &smp->prsp[1]; smp 1058 net/bluetooth/smp.c if (smp->remote_irk) { smp 1059 net/bluetooth/smp.c mgmt_new_irk(hdev, smp->remote_irk, persistent); smp 1066 net/bluetooth/smp.c bacpy(&hcon->dst, &smp->remote_irk->bdaddr); smp 1067 net/bluetooth/smp.c hcon->dst_type = smp->remote_irk->addr_type; smp 1072 net/bluetooth/smp.c if (smp->csrk) { smp 1073 net/bluetooth/smp.c smp->csrk->bdaddr_type = hcon->dst_type; smp 1074 net/bluetooth/smp.c bacpy(&smp->csrk->bdaddr, &hcon->dst); smp 1075 net/bluetooth/smp.c mgmt_new_csrk(hdev, smp->csrk, persistent); smp 1078 net/bluetooth/smp.c if (smp->slave_csrk) { smp 1079 net/bluetooth/smp.c smp->slave_csrk->bdaddr_type = hcon->dst_type; smp 1080 net/bluetooth/smp.c bacpy(&smp->slave_csrk->bdaddr, &hcon->dst); smp 1081 net/bluetooth/smp.c mgmt_new_csrk(hdev, smp->slave_csrk, persistent); smp 1084 net/bluetooth/smp.c if (smp->ltk) { smp 1085 net/bluetooth/smp.c smp->ltk->bdaddr_type = hcon->dst_type; smp 1086 net/bluetooth/smp.c bacpy(&smp->ltk->bdaddr, &hcon->dst); smp 1087 net/bluetooth/smp.c mgmt_new_ltk(hdev, smp->ltk, persistent); smp 1090 net/bluetooth/smp.c if (smp->slave_ltk) { smp 1091 net/bluetooth/smp.c smp->slave_ltk->bdaddr_type = hcon->dst_type; smp 1092 net/bluetooth/smp.c bacpy(&smp->slave_ltk->bdaddr, &hcon->dst); smp 1093 net/bluetooth/smp.c mgmt_new_ltk(hdev, smp->slave_ltk, persistent); smp 1096 net/bluetooth/smp.c if (smp->link_key) { smp 1100 net/bluetooth/smp.c if (test_bit(SMP_FLAG_DEBUG_KEY, &smp->flags)) smp 1107 net/bluetooth/smp.c key = hci_add_link_key(hdev, smp->conn->hcon, &hcon->dst, smp 1108 net/bluetooth/smp.c smp->link_key, type, 0, &persistent); smp 1124 net/bluetooth/smp.c static void sc_add_ltk(struct smp_chan *smp) smp 1126 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; smp 1129 net/bluetooth/smp.c if (test_bit(SMP_FLAG_DEBUG_KEY, &smp->flags)) smp 1139 net/bluetooth/smp.c smp->ltk = hci_add_ltk(hcon->hdev, &hcon->dst, hcon->dst_type, smp 1140 net/bluetooth/smp.c key_type, auth, smp->tk, smp->enc_key_size, smp 1144 net/bluetooth/smp.c static void sc_generate_link_key(struct smp_chan *smp) smp 1149 net/bluetooth/smp.c smp->link_key = kzalloc(16, GFP_KERNEL); smp 1150 net/bluetooth/smp.c if (!smp->link_key) smp 1153 net/bluetooth/smp.c if (test_bit(SMP_FLAG_CT2, &smp->flags)) { smp 1157 net/bluetooth/smp.c if (smp_h7(smp->tfm_cmac, smp->tk, salt, smp->link_key)) { smp 1158 net/bluetooth/smp.c kzfree(smp->link_key); smp 1159 net/bluetooth/smp.c smp->link_key = NULL; smp 1166 net/bluetooth/smp.c if (smp_h6(smp->tfm_cmac, smp->tk, tmp1, smp->link_key)) { smp 1167 net/bluetooth/smp.c kzfree(smp->link_key); smp 1168 net/bluetooth/smp.c smp->link_key = NULL; smp 1173 net/bluetooth/smp.c if (smp_h6(smp->tfm_cmac, smp->link_key, lebr, smp->link_key)) { smp 1174 net/bluetooth/smp.c kzfree(smp->link_key); smp 1175 net/bluetooth/smp.c smp->link_key = NULL; smp 1180 net/bluetooth/smp.c static void smp_allow_key_dist(struct smp_chan *smp) smp 1186 net/bluetooth/smp.c if (smp->remote_key_dist & SMP_DIST_ENC_KEY) smp 1187 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_ENCRYPT_INFO); smp 1188 net/bluetooth/smp.c else if (smp->remote_key_dist & SMP_DIST_ID_KEY) smp 1189 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_IDENT_INFO); smp 1190 net/bluetooth/smp.c else if (smp->remote_key_dist & SMP_DIST_SIGN) smp 1191 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_SIGN_INFO); smp 1194 net/bluetooth/smp.c static void sc_generate_ltk(struct smp_chan *smp) smp 1198 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; smp 1209 net/bluetooth/smp.c set_bit(SMP_FLAG_DEBUG_KEY, &smp->flags); smp 1211 net/bluetooth/smp.c if (test_bit(SMP_FLAG_CT2, &smp->flags)) { smp 1215 net/bluetooth/smp.c if (smp_h7(smp->tfm_cmac, key->val, salt, smp->tk)) smp 1221 net/bluetooth/smp.c if (smp_h6(smp->tfm_cmac, key->val, tmp2, smp->tk)) smp 1225 net/bluetooth/smp.c if (smp_h6(smp->tfm_cmac, smp->tk, brle, smp->tk)) smp 1228 net/bluetooth/smp.c sc_add_ltk(smp); smp 1231 net/bluetooth/smp.c static void smp_distribute_keys(struct smp_chan *smp) smp 1234 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 1241 net/bluetooth/smp.c rsp = (void *) &smp->prsp[1]; smp 1244 net/bluetooth/smp.c if (hcon->out && (smp->remote_key_dist & KEY_DIST_MASK)) { smp 1245 net/bluetooth/smp.c smp_allow_key_dist(smp); smp 1249 net/bluetooth/smp.c req = (void *) &smp->preq[1]; smp 1259 net/bluetooth/smp.c if (test_bit(SMP_FLAG_SC, &smp->flags)) { smp 1261 net/bluetooth/smp.c sc_generate_link_key(smp); smp 1263 net/bluetooth/smp.c sc_generate_ltk(smp); smp 1283 net/bluetooth/smp.c get_random_bytes(enc.ltk, smp->enc_key_size); smp 1284 net/bluetooth/smp.c memset(enc.ltk + smp->enc_key_size, 0, smp 1285 net/bluetooth/smp.c sizeof(enc.ltk) - smp->enc_key_size); smp 1295 net/bluetooth/smp.c smp->enc_key_size, ediv, rand); smp 1296 net/bluetooth/smp.c smp->slave_ltk = ltk; smp 1344 net/bluetooth/smp.c smp->slave_csrk = csrk; smp 1352 net/bluetooth/smp.c if (smp->remote_key_dist & KEY_DIST_MASK) { smp 1353 net/bluetooth/smp.c smp_allow_key_dist(smp); smp 1357 net/bluetooth/smp.c set_bit(SMP_FLAG_COMPLETE, &smp->flags); smp 1365 net/bluetooth/smp.c struct smp_chan *smp = container_of(work, struct smp_chan, smp 1367 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 1376 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 1377 net/bluetooth/smp.c struct smp_chan *smp; smp 1379 net/bluetooth/smp.c smp = kzalloc(sizeof(*smp), GFP_ATOMIC); smp 1380 net/bluetooth/smp.c if (!smp) smp 1383 net/bluetooth/smp.c smp->tfm_cmac = crypto_alloc_shash("cmac(aes)", 0, 0); smp 1384 net/bluetooth/smp.c if (IS_ERR(smp->tfm_cmac)) { smp 1389 net/bluetooth/smp.c smp->tfm_ecdh = crypto_alloc_kpp("ecdh", CRYPTO_ALG_INTERNAL, 0); smp 1390 net/bluetooth/smp.c if (IS_ERR(smp->tfm_ecdh)) { smp 1395 net/bluetooth/smp.c smp->conn = conn; smp 1396 net/bluetooth/smp.c chan->data = smp; smp 1398 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_FAIL); smp 1400 net/bluetooth/smp.c INIT_DELAYED_WORK(&smp->security_timer, smp_timeout); smp 1404 net/bluetooth/smp.c return smp; smp 1407 net/bluetooth/smp.c crypto_free_shash(smp->tfm_cmac); smp 1409 net/bluetooth/smp.c kzfree(smp); smp 1413 net/bluetooth/smp.c static int sc_mackey_and_ltk(struct smp_chan *smp, u8 mackey[16], u8 ltk[16]) smp 1415 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; smp 1419 net/bluetooth/smp.c na = smp->prnd; smp 1420 net/bluetooth/smp.c nb = smp->rrnd; smp 1422 net/bluetooth/smp.c na = smp->rrnd; smp 1423 net/bluetooth/smp.c nb = smp->prnd; smp 1431 net/bluetooth/smp.c return smp_f5(smp->tfm_cmac, smp->dhkey, na, nb, a, b, mackey, ltk); smp 1434 net/bluetooth/smp.c static void sc_dhkey_check(struct smp_chan *smp) smp 1436 net/bluetooth/smp.c struct hci_conn *hcon = smp->conn->hcon; smp 1449 net/bluetooth/smp.c memcpy(io_cap, &smp->preq[1], 3); smp 1453 net/bluetooth/smp.c memcpy(io_cap, &smp->prsp[1], 3); smp 1458 net/bluetooth/smp.c if (smp->method == REQ_PASSKEY || smp->method == DSP_PASSKEY) smp 1461 net/bluetooth/smp.c if (smp->method == REQ_OOB) smp 1462 net/bluetooth/smp.c memcpy(r, smp->rr, 16); smp 1464 net/bluetooth/smp.c smp_f6(smp->tfm_cmac, smp->mackey, smp->prnd, smp->rrnd, r, io_cap, smp 1467 net/bluetooth/smp.c smp_send_cmd(smp->conn, SMP_CMD_DHKEY_CHECK, sizeof(check), &check); smp 1470 net/bluetooth/smp.c static u8 sc_passkey_send_confirm(struct smp_chan *smp) smp 1472 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 1477 net/bluetooth/smp.c r = ((hcon->passkey_notify >> smp->passkey_round) & 0x01); smp 1480 net/bluetooth/smp.c get_random_bytes(smp->prnd, sizeof(smp->prnd)); smp 1482 net/bluetooth/smp.c if (smp_f4(smp->tfm_cmac, smp->local_pk, smp->remote_pk, smp->prnd, r, smp 1491 net/bluetooth/smp.c static u8 sc_passkey_round(struct smp_chan *smp, u8 smp_op) smp 1493 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 1499 net/bluetooth/smp.c if (smp->passkey_round >= 20) smp 1504 net/bluetooth/smp.c r = ((hcon->passkey_notify >> smp->passkey_round) & 0x01); smp 1507 net/bluetooth/smp.c if (smp_f4(smp->tfm_cmac, smp->remote_pk, smp->local_pk, smp 1508 net/bluetooth/smp.c smp->rrnd, r, cfm)) smp 1511 net/bluetooth/smp.c if (crypto_memneq(smp->pcnf, cfm, 16)) smp 1514 net/bluetooth/smp.c smp->passkey_round++; smp 1516 net/bluetooth/smp.c if (smp->passkey_round == 20) { smp 1518 net/bluetooth/smp.c if (sc_mackey_and_ltk(smp, smp->mackey, smp->tk)) smp 1527 net/bluetooth/smp.c sizeof(smp->prnd), smp->prnd); smp 1528 net/bluetooth/smp.c if (smp->passkey_round == 20) smp 1529 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); smp 1531 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM); smp 1536 net/bluetooth/smp.c if (smp->passkey_round != 20) smp 1537 net/bluetooth/smp.c return sc_passkey_round(smp, 0); smp 1540 net/bluetooth/smp.c sc_dhkey_check(smp); smp 1541 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); smp 1546 net/bluetooth/smp.c if (test_bit(SMP_FLAG_WAIT_USER, &smp->flags)) { smp 1547 net/bluetooth/smp.c set_bit(SMP_FLAG_CFM_PENDING, &smp->flags); smp 1551 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RANDOM); smp 1555 net/bluetooth/smp.c sizeof(smp->prnd), smp->prnd); smp 1559 net/bluetooth/smp.c return sc_passkey_send_confirm(smp); smp 1568 net/bluetooth/smp.c smp->passkey_round + 1); smp 1570 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM); smp 1572 net/bluetooth/smp.c return sc_passkey_send_confirm(smp); smp 1578 net/bluetooth/smp.c static int sc_user_reply(struct smp_chan *smp, u16 mgmt_op, __le32 passkey) smp 1580 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 1584 net/bluetooth/smp.c clear_bit(SMP_FLAG_WAIT_USER, &smp->flags); smp 1588 net/bluetooth/smp.c smp_failure(smp->conn, SMP_PASSKEY_ENTRY_FAILED); smp 1591 net/bluetooth/smp.c smp_failure(smp->conn, SMP_NUMERIC_COMP_FAILED); smp 1595 net/bluetooth/smp.c smp->passkey_round = 0; smp 1597 net/bluetooth/smp.c if (test_and_clear_bit(SMP_FLAG_CFM_PENDING, &smp->flags)) smp 1602 net/bluetooth/smp.c if (sc_passkey_round(smp, smp_op)) smp 1610 net/bluetooth/smp.c sc_dhkey_check(smp); smp 1611 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); smp 1612 net/bluetooth/smp.c } else if (test_and_clear_bit(SMP_FLAG_DHKEY_PENDING, &smp->flags)) { smp 1613 net/bluetooth/smp.c sc_dhkey_check(smp); smp 1614 net/bluetooth/smp.c sc_add_ltk(smp); smp 1624 net/bluetooth/smp.c struct smp_chan *smp; smp 1633 net/bluetooth/smp.c chan = conn->smp; smp 1643 net/bluetooth/smp.c smp = chan->data; smp 1645 net/bluetooth/smp.c if (test_bit(SMP_FLAG_SC, &smp->flags)) { smp 1646 net/bluetooth/smp.c err = sc_user_reply(smp, mgmt_op, passkey); smp 1653 net/bluetooth/smp.c memset(smp->tk, 0, sizeof(smp->tk)); smp 1655 net/bluetooth/smp.c put_unaligned_le32(value, smp->tk); smp 1658 net/bluetooth/smp.c set_bit(SMP_FLAG_TK_VALID, &smp->flags); smp 1674 net/bluetooth/smp.c if (test_bit(SMP_FLAG_CFM_PENDING, &smp->flags)) { smp 1675 net/bluetooth/smp.c u8 rsp = smp_confirm(smp); smp 1685 net/bluetooth/smp.c static void build_bredr_pairing_cmd(struct smp_chan *smp, smp 1689 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 1712 net/bluetooth/smp.c smp->remote_key_dist = remote_dist; smp 1724 net/bluetooth/smp.c smp->remote_key_dist = rsp->init_key_dist; smp 1730 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 1732 net/bluetooth/smp.c struct smp_chan *smp; smp 1745 net/bluetooth/smp.c smp = smp_chan_create(conn); smp 1747 net/bluetooth/smp.c smp = chan->data; smp 1749 net/bluetooth/smp.c if (!smp) smp 1762 net/bluetooth/smp.c smp->preq[0] = SMP_CMD_PAIRING_REQ; smp 1763 net/bluetooth/smp.c memcpy(&smp->preq[1], req, sizeof(*req)); smp 1771 net/bluetooth/smp.c set_bit(SMP_FLAG_LOCAL_OOB, &smp->flags); smp 1780 net/bluetooth/smp.c set_bit(SMP_FLAG_SC, &smp->flags); smp 1782 net/bluetooth/smp.c build_bredr_pairing_cmd(smp, req, &rsp); smp 1785 net/bluetooth/smp.c set_bit(SMP_FLAG_CT2, &smp->flags); smp 1792 net/bluetooth/smp.c smp->remote_key_dist &= ~SMP_SC_NO_DIST; smp 1794 net/bluetooth/smp.c smp->prsp[0] = SMP_CMD_PAIRING_RSP; smp 1795 net/bluetooth/smp.c memcpy(&smp->prsp[1], &rsp, sizeof(rsp)); smp 1798 net/bluetooth/smp.c smp_distribute_keys(smp); smp 1805 net/bluetooth/smp.c set_bit(SMP_FLAG_SC, &smp->flags); smp 1808 net/bluetooth/smp.c set_bit(SMP_FLAG_CT2, &smp->flags); smp 1823 net/bluetooth/smp.c method = get_auth_method(smp, conn->hcon->io_capability, smp 1833 net/bluetooth/smp.c get_random_bytes(smp->prnd, sizeof(smp->prnd)); smp 1835 net/bluetooth/smp.c smp->prsp[0] = SMP_CMD_PAIRING_RSP; smp 1836 net/bluetooth/smp.c memcpy(&smp->prsp[1], &rsp, sizeof(rsp)); smp 1840 net/bluetooth/smp.c clear_bit(SMP_FLAG_INITIATOR, &smp->flags); smp 1847 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM); smp 1849 net/bluetooth/smp.c if (test_bit(SMP_FLAG_SC, &smp->flags)) { smp 1850 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PUBLIC_KEY); smp 1852 net/bluetooth/smp.c smp->remote_key_dist &= ~SMP_SC_NO_DIST; smp 1865 net/bluetooth/smp.c static u8 sc_send_public_key(struct smp_chan *smp) smp 1867 net/bluetooth/smp.c struct hci_dev *hdev = smp->conn->hcon->hdev; smp 1871 net/bluetooth/smp.c if (test_bit(SMP_FLAG_LOCAL_OOB, &smp->flags)) { smp 1880 net/bluetooth/smp.c memcpy(smp->local_pk, smp_dev->local_pk, 64); smp 1881 net/bluetooth/smp.c memcpy(smp->lr, smp_dev->local_rand, 16); smp 1884 net/bluetooth/smp.c set_bit(SMP_FLAG_DEBUG_KEY, &smp->flags); smp 1891 net/bluetooth/smp.c if (set_ecdh_privkey(smp->tfm_ecdh, debug_sk)) smp 1893 net/bluetooth/smp.c memcpy(smp->local_pk, debug_pk, 64); smp 1894 net/bluetooth/smp.c set_bit(SMP_FLAG_DEBUG_KEY, &smp->flags); smp 1898 net/bluetooth/smp.c if (generate_ecdh_keys(smp->tfm_ecdh, smp->local_pk)) smp 1904 net/bluetooth/smp.c if (crypto_memneq(smp->local_pk, debug_pk, 64)) smp 1910 net/bluetooth/smp.c SMP_DBG("Local Public Key X: %32phN", smp->local_pk); smp 1911 net/bluetooth/smp.c SMP_DBG("Local Public Key Y: %32phN", smp->local_pk + 32); smp 1913 net/bluetooth/smp.c smp_send_cmd(smp->conn, SMP_CMD_PUBLIC_KEY, 64, smp->local_pk); smp 1921 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 1922 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 1937 net/bluetooth/smp.c req = (void *) &smp->preq[1]; smp 1953 net/bluetooth/smp.c set_bit(SMP_FLAG_LOCAL_OOB, &smp->flags); smp 1955 net/bluetooth/smp.c smp->prsp[0] = SMP_CMD_PAIRING_RSP; smp 1956 net/bluetooth/smp.c memcpy(&smp->prsp[1], rsp, sizeof(*rsp)); smp 1961 net/bluetooth/smp.c smp->remote_key_dist &= rsp->resp_key_dist; smp 1964 net/bluetooth/smp.c set_bit(SMP_FLAG_CT2, &smp->flags); smp 1969 net/bluetooth/smp.c smp->remote_key_dist &= ~SMP_SC_NO_DIST; smp 1970 net/bluetooth/smp.c smp_distribute_keys(smp); smp 1975 net/bluetooth/smp.c set_bit(SMP_FLAG_SC, &smp->flags); smp 1983 net/bluetooth/smp.c method = get_auth_method(smp, req->io_capability, smp 1989 net/bluetooth/smp.c get_random_bytes(smp->prnd, sizeof(smp->prnd)); smp 1994 net/bluetooth/smp.c smp->remote_key_dist &= rsp->resp_key_dist; smp 1996 net/bluetooth/smp.c if (test_bit(SMP_FLAG_SC, &smp->flags)) { smp 1998 net/bluetooth/smp.c smp->remote_key_dist &= ~SMP_SC_NO_DIST; smp 1999 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PUBLIC_KEY); smp 2000 net/bluetooth/smp.c return sc_send_public_key(smp); smp 2009 net/bluetooth/smp.c set_bit(SMP_FLAG_CFM_PENDING, &smp->flags); smp 2012 net/bluetooth/smp.c if (test_bit(SMP_FLAG_TK_VALID, &smp->flags)) smp 2013 net/bluetooth/smp.c return smp_confirm(smp); smp 2018 net/bluetooth/smp.c static u8 sc_check_confirm(struct smp_chan *smp) smp 2020 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 2024 net/bluetooth/smp.c if (smp->method == REQ_PASSKEY || smp->method == DSP_PASSKEY) smp 2025 net/bluetooth/smp.c return sc_passkey_round(smp, SMP_CMD_PAIRING_CONFIRM); smp 2028 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), smp 2029 net/bluetooth/smp.c smp->prnd); smp 2030 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RANDOM); smp 2040 net/bluetooth/smp.c static int fixup_sc_false_positive(struct smp_chan *smp) smp 2042 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 2059 net/bluetooth/smp.c req = (void *) &smp->preq[1]; smp 2060 net/bluetooth/smp.c rsp = (void *) &smp->prsp[1]; smp 2063 net/bluetooth/smp.c smp->remote_key_dist = (req->init_key_dist & rsp->resp_key_dist); smp 2072 net/bluetooth/smp.c clear_bit(SMP_FLAG_SC, &smp->flags); smp 2079 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2080 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2084 net/bluetooth/smp.c if (skb->len < sizeof(smp->pcnf)) smp 2087 net/bluetooth/smp.c memcpy(smp->pcnf, skb->data, sizeof(smp->pcnf)); smp 2088 net/bluetooth/smp.c skb_pull(skb, sizeof(smp->pcnf)); smp 2090 net/bluetooth/smp.c if (test_bit(SMP_FLAG_SC, &smp->flags)) { smp 2094 net/bluetooth/smp.c if (test_bit(SMP_FLAG_REMOTE_PK, &smp->flags)) smp 2095 net/bluetooth/smp.c return sc_check_confirm(smp); smp 2099 net/bluetooth/smp.c ret = fixup_sc_false_positive(smp); smp 2105 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), smp 2106 net/bluetooth/smp.c smp->prnd); smp 2107 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RANDOM); smp 2111 net/bluetooth/smp.c if (test_bit(SMP_FLAG_TK_VALID, &smp->flags)) smp 2112 net/bluetooth/smp.c return smp_confirm(smp); smp 2114 net/bluetooth/smp.c set_bit(SMP_FLAG_CFM_PENDING, &smp->flags); smp 2121 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2122 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2130 net/bluetooth/smp.c if (skb->len < sizeof(smp->rrnd)) smp 2133 net/bluetooth/smp.c memcpy(smp->rrnd, skb->data, sizeof(smp->rrnd)); smp 2134 net/bluetooth/smp.c skb_pull(skb, sizeof(smp->rrnd)); smp 2136 net/bluetooth/smp.c if (!test_bit(SMP_FLAG_SC, &smp->flags)) smp 2137 net/bluetooth/smp.c return smp_random(smp); smp 2140 net/bluetooth/smp.c pkax = smp->local_pk; smp 2141 net/bluetooth/smp.c pkbx = smp->remote_pk; smp 2142 net/bluetooth/smp.c na = smp->prnd; smp 2143 net/bluetooth/smp.c nb = smp->rrnd; smp 2145 net/bluetooth/smp.c pkax = smp->remote_pk; smp 2146 net/bluetooth/smp.c pkbx = smp->local_pk; smp 2147 net/bluetooth/smp.c na = smp->rrnd; smp 2148 net/bluetooth/smp.c nb = smp->prnd; smp 2151 net/bluetooth/smp.c if (smp->method == REQ_OOB) { smp 2154 net/bluetooth/smp.c sizeof(smp->prnd), smp->prnd); smp 2155 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); smp 2160 net/bluetooth/smp.c if (smp->method == REQ_PASSKEY || smp->method == DSP_PASSKEY) smp 2161 net/bluetooth/smp.c return sc_passkey_round(smp, SMP_CMD_PAIRING_RANDOM); smp 2166 net/bluetooth/smp.c err = smp_f4(smp->tfm_cmac, smp->remote_pk, smp->local_pk, smp 2167 net/bluetooth/smp.c smp->rrnd, 0, cfm); smp 2171 net/bluetooth/smp.c if (crypto_memneq(smp->pcnf, cfm, 16)) smp 2174 net/bluetooth/smp.c smp_send_cmd(conn, SMP_CMD_PAIRING_RANDOM, sizeof(smp->prnd), smp 2175 net/bluetooth/smp.c smp->prnd); smp 2176 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); smp 2181 net/bluetooth/smp.c err = sc_mackey_and_ltk(smp, smp->mackey, smp->tk); smp 2185 net/bluetooth/smp.c if (smp->method == JUST_WORKS || smp->method == REQ_OOB) { smp 2187 net/bluetooth/smp.c sc_dhkey_check(smp); smp 2188 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); smp 2193 net/bluetooth/smp.c err = smp_g2(smp->tfm_cmac, pkax, pkbx, na, nb, &passkey); smp 2202 net/bluetooth/smp.c set_bit(SMP_FLAG_WAIT_USER, &smp->flags); smp 2260 net/bluetooth/smp.c struct smp_chan *smp; smp 2296 net/bluetooth/smp.c smp = smp_chan_create(conn); smp 2297 net/bluetooth/smp.c if (!smp) smp 2309 net/bluetooth/smp.c smp->preq[0] = SMP_CMD_PAIRING_REQ; smp 2310 net/bluetooth/smp.c memcpy(&smp->preq[1], &cp, sizeof(cp)); smp 2313 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RSP); smp 2322 net/bluetooth/smp.c struct smp_chan *smp; smp 2345 net/bluetooth/smp.c chan = conn->smp; smp 2359 net/bluetooth/smp.c smp = smp_chan_create(conn); smp 2360 net/bluetooth/smp.c if (!smp) { smp 2384 net/bluetooth/smp.c smp->preq[0] = SMP_CMD_PAIRING_REQ; smp 2385 net/bluetooth/smp.c memcpy(&smp->preq[1], &cp, sizeof(cp)); smp 2388 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RSP); smp 2393 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_REQ); smp 2396 net/bluetooth/smp.c set_bit(SMP_FLAG_INITIATOR, &smp->flags); smp 2410 net/bluetooth/smp.c struct smp_chan *smp; smp 2424 net/bluetooth/smp.c chan = conn->smp; smp 2430 net/bluetooth/smp.c smp = chan->data; smp 2431 net/bluetooth/smp.c if (smp) { smp 2434 net/bluetooth/smp.c smp->ltk = NULL; smp 2435 net/bluetooth/smp.c smp->slave_ltk = NULL; smp 2436 net/bluetooth/smp.c smp->remote_irk = NULL; smp 2438 net/bluetooth/smp.c if (test_bit(SMP_FLAG_COMPLETE, &smp->flags)) smp 2454 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2455 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2462 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_MASTER_IDENT); smp 2466 net/bluetooth/smp.c memcpy(smp->tk, rp->ltk, sizeof(smp->tk)); smp 2474 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2475 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2487 net/bluetooth/smp.c smp->remote_key_dist &= ~SMP_DIST_ENC_KEY; smp 2489 net/bluetooth/smp.c if (smp->remote_key_dist & SMP_DIST_ID_KEY) smp 2490 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_IDENT_INFO); smp 2491 net/bluetooth/smp.c else if (smp->remote_key_dist & SMP_DIST_SIGN) smp 2492 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_SIGN_INFO); smp 2498 net/bluetooth/smp.c authenticated, smp->tk, smp->enc_key_size, smp 2500 net/bluetooth/smp.c smp->ltk = ltk; smp 2501 net/bluetooth/smp.c if (!(smp->remote_key_dist & KEY_DIST_MASK)) smp 2502 net/bluetooth/smp.c smp_distribute_keys(smp); smp 2510 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2511 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2518 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_IDENT_ADDR_INFO); smp 2522 net/bluetooth/smp.c memcpy(smp->irk, info->irk, 16); smp 2531 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2532 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2542 net/bluetooth/smp.c smp->remote_key_dist &= ~SMP_DIST_ID_KEY; smp 2544 net/bluetooth/smp.c if (smp->remote_key_dist & SMP_DIST_SIGN) smp 2545 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_SIGN_INFO); smp 2578 net/bluetooth/smp.c bacpy(&smp->id_addr, &info->bdaddr); smp 2579 net/bluetooth/smp.c smp->id_addr_type = info->addr_type; smp 2586 net/bluetooth/smp.c smp->remote_irk = hci_add_irk(conn->hcon->hdev, &smp->id_addr, smp 2587 net/bluetooth/smp.c smp->id_addr_type, smp->irk, &rpa); smp 2590 net/bluetooth/smp.c if (!(smp->remote_key_dist & KEY_DIST_MASK)) smp 2591 net/bluetooth/smp.c smp_distribute_keys(smp); smp 2599 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2600 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2609 net/bluetooth/smp.c smp->remote_key_dist &= ~SMP_DIST_SIGN; smp 2621 net/bluetooth/smp.c smp->csrk = csrk; smp 2622 net/bluetooth/smp.c smp_distribute_keys(smp); smp 2627 net/bluetooth/smp.c static u8 sc_select_method(struct smp_chan *smp) smp 2629 net/bluetooth/smp.c struct l2cap_conn *conn = smp->conn; smp 2634 net/bluetooth/smp.c if (test_bit(SMP_FLAG_REMOTE_OOB, &smp->flags) || smp 2635 net/bluetooth/smp.c test_bit(SMP_FLAG_LOCAL_OOB, &smp->flags)) smp 2644 net/bluetooth/smp.c local = (void *) &smp->preq[1]; smp 2645 net/bluetooth/smp.c remote = (void *) &smp->prsp[1]; smp 2647 net/bluetooth/smp.c local = (void *) &smp->prsp[1]; smp 2648 net/bluetooth/smp.c remote = (void *) &smp->preq[1]; smp 2661 net/bluetooth/smp.c method = get_auth_method(smp, local_io, remote_io); smp 2666 net/bluetooth/smp.c if (method == JUST_CFM && test_bit(SMP_FLAG_INITIATOR, &smp->flags)) smp 2676 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2677 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2688 net/bluetooth/smp.c memcpy(smp->remote_pk, key, 64); smp 2690 net/bluetooth/smp.c if (test_bit(SMP_FLAG_REMOTE_OOB, &smp->flags)) { smp 2691 net/bluetooth/smp.c err = smp_f4(smp->tfm_cmac, smp->remote_pk, smp->remote_pk, smp 2692 net/bluetooth/smp.c smp->rr, 0, cfm.confirm_val); smp 2696 net/bluetooth/smp.c if (crypto_memneq(cfm.confirm_val, smp->pcnf, 16)) smp 2704 net/bluetooth/smp.c err = sc_send_public_key(smp); smp 2709 net/bluetooth/smp.c SMP_DBG("Remote Public Key X: %32phN", smp->remote_pk); smp 2710 net/bluetooth/smp.c SMP_DBG("Remote Public Key Y: %32phN", smp->remote_pk + 32); smp 2715 net/bluetooth/smp.c if (test_bit(SMP_FLAG_LOCAL_OOB, &smp->flags)) { smp 2726 net/bluetooth/smp.c tfm_ecdh = smp->tfm_ecdh; smp 2729 net/bluetooth/smp.c if (compute_ecdh_secret(tfm_ecdh, smp->remote_pk, smp->dhkey)) smp 2732 net/bluetooth/smp.c SMP_DBG("DHKey %32phN", smp->dhkey); smp 2734 net/bluetooth/smp.c set_bit(SMP_FLAG_REMOTE_PK, &smp->flags); smp 2736 net/bluetooth/smp.c smp->method = sc_select_method(smp); smp 2738 net/bluetooth/smp.c BT_DBG("%s selected method 0x%02x", hdev->name, smp->method); smp 2741 net/bluetooth/smp.c if (smp->method == JUST_WORKS || smp->method == JUST_CFM) smp 2746 net/bluetooth/smp.c if (!crypto_memneq(debug_pk, smp->remote_pk, 64)) smp 2747 net/bluetooth/smp.c set_bit(SMP_FLAG_DEBUG_KEY, &smp->flags); smp 2749 net/bluetooth/smp.c if (smp->method == DSP_PASSKEY) { smp 2754 net/bluetooth/smp.c smp->passkey_round = 0; smp 2760 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM); smp 2761 net/bluetooth/smp.c return sc_passkey_round(smp, SMP_CMD_PUBLIC_KEY); smp 2764 net/bluetooth/smp.c if (smp->method == REQ_OOB) { smp 2767 net/bluetooth/smp.c sizeof(smp->prnd), smp->prnd); smp 2769 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RANDOM); smp 2775 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM); smp 2777 net/bluetooth/smp.c if (smp->method == REQ_PASSKEY) { smp 2781 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_CONFIRM); smp 2782 net/bluetooth/smp.c set_bit(SMP_FLAG_WAIT_USER, &smp->flags); smp 2792 net/bluetooth/smp.c err = smp_f4(smp->tfm_cmac, smp->local_pk, smp->remote_pk, smp->prnd, smp 2798 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RANDOM); smp 2806 net/bluetooth/smp.c struct l2cap_chan *chan = conn->smp; smp 2808 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 2826 net/bluetooth/smp.c memcpy(io_cap, &smp->prsp[1], 3); smp 2830 net/bluetooth/smp.c memcpy(io_cap, &smp->preq[1], 3); smp 2835 net/bluetooth/smp.c if (smp->method == REQ_PASSKEY || smp->method == DSP_PASSKEY) smp 2837 net/bluetooth/smp.c else if (smp->method == REQ_OOB) smp 2838 net/bluetooth/smp.c memcpy(r, smp->lr, 16); smp 2840 net/bluetooth/smp.c err = smp_f6(smp->tfm_cmac, smp->mackey, smp->rrnd, smp->prnd, r, smp 2849 net/bluetooth/smp.c if (test_bit(SMP_FLAG_WAIT_USER, &smp->flags)) { smp 2850 net/bluetooth/smp.c set_bit(SMP_FLAG_DHKEY_PENDING, &smp->flags); smp 2855 net/bluetooth/smp.c sc_dhkey_check(smp); smp 2858 net/bluetooth/smp.c sc_add_ltk(smp); smp 2861 net/bluetooth/smp.c hci_le_start_enc(hcon, 0, 0, smp->tk, smp->enc_key_size); smp 2862 net/bluetooth/smp.c hcon->enc_key_size = smp->enc_key_size; smp 2882 net/bluetooth/smp.c struct smp_chan *smp; smp 2897 net/bluetooth/smp.c smp = chan->data; smp 2902 net/bluetooth/smp.c if (smp && !test_and_clear_bit(code, &smp->allow_cmd)) smp 2908 net/bluetooth/smp.c if (!smp && code != SMP_CMD_PAIRING_REQ && code != SMP_CMD_SECURITY_REQ) smp 3000 net/bluetooth/smp.c conn->smp = NULL; smp 3010 net/bluetooth/smp.c struct smp_chan *smp; smp 3051 net/bluetooth/smp.c smp = smp_chan_create(conn); smp 3052 net/bluetooth/smp.c if (!smp) { smp 3057 net/bluetooth/smp.c set_bit(SMP_FLAG_SC, &smp->flags); smp 3062 net/bluetooth/smp.c build_bredr_pairing_cmd(smp, &req, NULL); smp 3064 net/bluetooth/smp.c smp->preq[0] = SMP_CMD_PAIRING_REQ; smp 3065 net/bluetooth/smp.c memcpy(&smp->preq[1], &req, sizeof(req)); smp 3068 net/bluetooth/smp.c SMP_ALLOW_CMD(smp, SMP_CMD_PAIRING_RSP); smp 3073 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 3084 net/bluetooth/smp.c if (!smp) smp 3090 net/bluetooth/smp.c cancel_delayed_work(&smp->security_timer); smp 3092 net/bluetooth/smp.c smp_distribute_keys(smp); smp 3108 net/bluetooth/smp.c conn->smp = chan; smp 3122 net/bluetooth/smp.c struct smp_chan *smp = chan->data; smp 3124 net/bluetooth/smp.c if (smp) smp 3125 net/bluetooth/smp.c cancel_delayed_work_sync(&smp->security_timer); smp 3217 net/bluetooth/smp.c struct smp_dev *smp; smp 3222 net/bluetooth/smp.c smp = NULL; smp 3226 net/bluetooth/smp.c smp = kzalloc(sizeof(*smp), GFP_KERNEL); smp 3227 net/bluetooth/smp.c if (!smp) smp 3233 net/bluetooth/smp.c kzfree(smp); smp 3241 net/bluetooth/smp.c kzfree(smp); smp 3245 net/bluetooth/smp.c smp->local_oob = false; smp 3246 net/bluetooth/smp.c smp->tfm_cmac = tfm_cmac; smp 3247 net/bluetooth/smp.c smp->tfm_ecdh = tfm_ecdh; smp 3252 net/bluetooth/smp.c if (smp) { smp 3253 net/bluetooth/smp.c crypto_free_shash(smp->tfm_cmac); smp 3254 net/bluetooth/smp.c crypto_free_kpp(smp->tfm_ecdh); smp 3255 net/bluetooth/smp.c kzfree(smp); smp 3260 net/bluetooth/smp.c chan->data = smp; smp 3293 net/bluetooth/smp.c struct smp_dev *smp; smp 3297 net/bluetooth/smp.c smp = chan->data; smp 3298 net/bluetooth/smp.c if (smp) { smp 3300 net/bluetooth/smp.c crypto_free_shash(smp->tfm_cmac); smp 3301 net/bluetooth/smp.c crypto_free_kpp(smp->tfm_ecdh); smp 3302 net/bluetooth/smp.c kzfree(smp); smp 767 net/iucv/iucv.c int iucv_register(struct iucv_handler *handler, int smp) smp 774 net/iucv/iucv.c if (!smp) smp 780 net/iucv/iucv.c } else if (!smp && iucv_nonsmp_handler == 1) smp 801 net/iucv/iucv.c void iucv_unregister(struct iucv_handler *handler, int smp) smp 817 net/iucv/iucv.c if (!smp) smp 821 net/iucv/iucv.c else if (!smp && iucv_nonsmp_handler == 0) smp 944 sound/synth/emux/soundfont.c struct snd_sf_sample *smp; smp 961 sound/synth/emux/soundfont.c if ((smp = sf_sample_new(sflist, sf)) == NULL) smp 964 sound/synth/emux/soundfont.c smp->v.sample = sample_id; smp 965 sound/synth/emux/soundfont.c smp->v.start = 0; smp 966 sound/synth/emux/soundfont.c smp->v.end = patch.len; smp 967 sound/synth/emux/soundfont.c smp->v.loopstart = patch.loop_start; smp 968 sound/synth/emux/soundfont.c smp->v.loopend = patch.loop_end; smp 969 sound/synth/emux/soundfont.c smp->v.size = patch.len; smp 972 sound/synth/emux/soundfont.c smp->v.mode_flags = 0; smp 974 sound/synth/emux/soundfont.c smp->v.mode_flags |= SNDRV_SFNT_SAMPLE_8BITS; smp 976 sound/synth/emux/soundfont.c smp->v.mode_flags |= SNDRV_SFNT_SAMPLE_UNSIGNED; smp 977 sound/synth/emux/soundfont.c smp->v.mode_flags |= SNDRV_SFNT_SAMPLE_NO_BLANK; smp 979 sound/synth/emux/soundfont.c smp->v.mode_flags |= SNDRV_SFNT_SAMPLE_SINGLESHOT; smp 981 sound/synth/emux/soundfont.c smp->v.mode_flags |= SNDRV_SFNT_SAMPLE_BIDIR_LOOP; smp 983 sound/synth/emux/soundfont.c smp->v.mode_flags |= SNDRV_SFNT_SAMPLE_REVERSE_LOOP; smp 987 sound/synth/emux/soundfont.c smp->v.size /= 2; smp 988 sound/synth/emux/soundfont.c smp->v.end /= 2; smp 989 sound/synth/emux/soundfont.c smp->v.loopstart /= 2; smp 990 sound/synth/emux/soundfont.c smp->v.loopend /= 2; smp 994 sound/synth/emux/soundfont.c smp->v.dummy = 0; smp 995 sound/synth/emux/soundfont.c smp->v.truesize = 0; smp 996 sound/synth/emux/soundfont.c smp->v.sf_id = sf->id; smp 1000 sound/synth/emux/soundfont.c sf_sample_delete(sflist, sf, smp); smp 1009 sound/synth/emux/soundfont.c (sflist->callback.private_data, smp, sflist->memhdr, smp 1012 sound/synth/emux/soundfont.c sf_sample_delete(sflist, sf, smp); smp 1020 sound/synth/emux/soundfont.c sflist->mem_used += smp->v.truesize; smp 1094 sound/synth/emux/soundfont.c if (!(smp->v.mode_flags & SNDRV_SFNT_SAMPLE_SINGLESHOT))