shm 266 drivers/block/sx8.c void *shm; shm 1014 drivers/block/sx8.c struct carm_response *resp = (struct carm_response *) host->shm; shm 1248 drivers/block/sx8.c struct carm_response *resp = (struct carm_response *) host->shm; shm 1392 drivers/block/sx8.c host->shm = dma_alloc_coherent(&host->pdev->dev, CARM_SHM_SIZE, shm 1394 drivers/block/sx8.c if (!host->shm) shm 1397 drivers/block/sx8.c host->msg_base = host->shm + RBUF_LEN; shm 1400 drivers/block/sx8.c memset(host->shm, 0xff, RBUF_LEN); shm 1546 drivers/block/sx8.c dma_free_coherent(&pdev->dev, CARM_SHM_SIZE, host->shm, host->shm_dma); shm 1579 drivers/block/sx8.c dma_free_coherent(&pdev->dev, CARM_SHM_SIZE, host->shm, host->shm_dma); shm 92 drivers/char/hw_random/optee-rng.c param[0].u.memref.shm = pvt_data->entropy_shm_pool; shm 82 drivers/char/tpm/tpm_ftpm_tee.c struct tee_shm *shm = pvt_data->shm; shm 106 drivers/char/tpm/tpm_ftpm_tee.c .shm = shm, shm 112 drivers/char/tpm/tpm_ftpm_tee.c temp_buf = tee_shm_get_va(shm, 0); shm 124 drivers/char/tpm/tpm_ftpm_tee.c .shm = shm, shm 138 drivers/char/tpm/tpm_ftpm_tee.c temp_buf = tee_shm_get_va(shm, command_params[1].u.memref.shm_offs); shm 258 drivers/char/tpm/tpm_ftpm_tee.c pvt_data->shm = tee_shm_alloc(pvt_data->ctx, shm 261 drivers/char/tpm/tpm_ftpm_tee.c if (IS_ERR(pvt_data->shm)) { shm 291 drivers/char/tpm/tpm_ftpm_tee.c tee_shm_free(pvt_data->shm); shm 318 drivers/char/tpm/tpm_ftpm_tee.c tee_shm_free(pvt_data->shm); shm 339 drivers/char/tpm/tpm_ftpm_tee.c tee_shm_free(pvt_data->shm); shm 37 drivers/char/tpm/tpm_ftpm_tee.h struct tee_shm *shm; shm 90 drivers/gpu/drm/drm_bufs.c unsigned long user_token, int hashed_handle, int shm) shm 113 drivers/gpu/drm/drm_bufs.c if (shm && (SHMLBA > PAGE_SIZE)) { shm 1510 drivers/media/platform/s5p-mfc/s5p_mfc.c .shm = SHARED_BUF_SIZE, shm 207 drivers/media/platform/s5p-mfc/s5p_mfc_common.h unsigned int shm; shm 687 drivers/media/platform/s5p-mfc/s5p_mfc_common.h struct s5p_mfc_priv_buf shm; shm 224 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c ctx->shm.size = buf_size->shm; shm 225 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c ret = s5p_mfc_alloc_priv_buf(dev, BANK_L_CTX, &ctx->shm); shm 233 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c ctx->shm.ofs = ctx->shm.dma - dev->dma_base[BANK_L_CTX]; shm 234 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c BUG_ON(ctx->shm.ofs & ((1 << MFC_BANK1_ALIGN_ORDER) - 1)); shm 236 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c memset(ctx->shm.virt, 0, buf_size->shm); shm 245 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_release_priv_buf(ctx->dev, &ctx->shm); shm 263 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c *(u32 *)(ctx->shm.virt + ofs) = data; shm 271 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c return *(u32 *)(ctx->shm.virt + ofs); shm 358 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c mfc_write(dev, ctx->shm.ofs, S5P_FIMV_SI_CH0_HOST_WR_ADR); shm 679 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c unsigned int shm; shm 744 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, EXT_ENC_CONTROL); shm 746 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0x1 << 3); shm 747 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p->seq_hdr_mode << 3); shm 749 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0x3 << 1); shm 750 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p->frame_skip_mode << 1); shm 751 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, EXT_ENC_CONTROL); shm 763 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c unsigned int shm; shm 864 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, P_B_FRAME_QP); shm 865 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFF); shm 866 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= ((p_264->rc_b_frame_qp & 0x3F) << 6); shm 867 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p_264->rc_p_frame_qp & 0x3F); shm 868 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, P_B_FRAME_QP); shm 871 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, EXT_ENC_CONTROL); shm 873 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0x1 << 15); shm 874 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p_264->vui_sar << 1); shm 875 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, EXT_ENC_CONTROL); shm 878 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, SAMPLE_ASPECT_RATIO_IDC); shm 879 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFF); shm 880 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= p_264->vui_sar_idc; shm 881 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, SAMPLE_ASPECT_RATIO_IDC); shm 884 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, EXTENDED_SAR); shm 885 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFFFFFFF); shm 886 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= p_264->vui_ext_sar_width << 16; shm 887 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= p_264->vui_ext_sar_height; shm 888 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, EXTENDED_SAR); shm 892 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, H264_I_PERIOD); shm 894 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0x1 << 16); shm 895 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p_264->open_gop << 16); shm 898 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFFF); shm 899 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= p_264->open_gop_size; shm 901 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, H264_I_PERIOD); shm 903 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, EXT_ENC_CONTROL); shm 907 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFFF << 16); shm 908 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p_264->cpb_size << 16); shm 910 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, EXT_ENC_CONTROL); shm 920 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c unsigned int shm; shm 943 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, P_B_FRAME_QP); shm 944 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFF); shm 945 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= ((p_mpeg4->rc_b_frame_qp & 0x3F) << 6); shm 946 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p_mpeg4->rc_p_frame_qp & 0x3F); shm 947 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, P_B_FRAME_QP); shm 956 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, RC_VOP_TIMING); shm 957 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFFFFFFF); shm 958 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (1UL << 31); shm 959 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= ((p->rc_framerate_num & 0x7FFF) << 16); shm 960 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p->rc_framerate_denom & 0xFFFF); shm 961 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, RC_VOP_TIMING); shm 982 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, EXT_ENC_CONTROL); shm 986 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFFF << 16); shm 987 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p->vbv_size << 16); shm 989 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, EXT_ENC_CONTROL); shm 999 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c unsigned int shm; shm 1004 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, P_B_FRAME_QP); shm 1005 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFF); shm 1006 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p_h263->rc_p_frame_qp & 0x3F); shm 1007 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, P_B_FRAME_QP); shm 1031 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm = s5p_mfc_read_info_v5(ctx, EXT_ENC_CONTROL); shm 1035 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm &= ~(0xFFFF << 16); shm 1036 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c shm |= (p->vbv_size << 16); shm 1038 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c s5p_mfc_write_info_v5(ctx, shm, EXT_ENC_CONTROL); shm 329 drivers/net/wireless/broadcom/b43legacy/debugfs.c B43legacy_DEBUGFS_FOPS(shm, shm_read_file, NULL, 1); shm 409 drivers/net/wireless/broadcom/b43legacy/debugfs.c ADD_FILE(shm, 0400); shm 178 drivers/tee/optee/call.c struct tee_shm *shm; shm 181 drivers/tee/optee/call.c shm = tee_shm_alloc(ctx, OPTEE_MSG_GET_ARG_SIZE(num_params), shm 183 drivers/tee/optee/call.c if (IS_ERR(shm)) shm 184 drivers/tee/optee/call.c return shm; shm 186 drivers/tee/optee/call.c ma = tee_shm_get_va(shm, 0); shm 192 drivers/tee/optee/call.c rc = tee_shm_get_pa(shm, 0, msg_parg); shm 201 drivers/tee/optee/call.c tee_shm_free(shm); shm 205 drivers/tee/optee/call.c return shm; shm 214 drivers/tee/optee/call.c struct tee_shm *shm; shm 220 drivers/tee/optee/call.c shm = get_msg_arg(ctx, arg->num_params + 2, &msg_arg, &msg_parg); shm 221 drivers/tee/optee/call.c if (IS_ERR(shm)) shm 222 drivers/tee/optee/call.c return PTR_ERR(shm); shm 275 drivers/tee/optee/call.c tee_shm_free(shm); shm 283 drivers/tee/optee/call.c struct tee_shm *shm; shm 298 drivers/tee/optee/call.c shm = get_msg_arg(ctx, 0, &msg_arg, &msg_parg); shm 299 drivers/tee/optee/call.c if (IS_ERR(shm)) shm 300 drivers/tee/optee/call.c return PTR_ERR(shm); shm 306 drivers/tee/optee/call.c tee_shm_free(shm); shm 314 drivers/tee/optee/call.c struct tee_shm *shm; shm 327 drivers/tee/optee/call.c shm = get_msg_arg(ctx, arg->num_params, &msg_arg, &msg_parg); shm 328 drivers/tee/optee/call.c if (IS_ERR(shm)) shm 329 drivers/tee/optee/call.c return PTR_ERR(shm); shm 352 drivers/tee/optee/call.c tee_shm_free(shm); shm 359 drivers/tee/optee/call.c struct tee_shm *shm; shm 371 drivers/tee/optee/call.c shm = get_msg_arg(ctx, 0, &msg_arg, &msg_parg); shm 372 drivers/tee/optee/call.c if (IS_ERR(shm)) shm 373 drivers/tee/optee/call.c return PTR_ERR(shm); shm 380 drivers/tee/optee/call.c tee_shm_free(shm); shm 429 drivers/tee/optee/call.c struct tee_shm *shm; shm 431 drivers/tee/optee/call.c shm = reg_pair_to_ptr(res.result.shm_upper32, shm 433 drivers/tee/optee/call.c tee_shm_free(shm); shm 572 drivers/tee/optee/call.c int optee_shm_register(struct tee_context *ctx, struct tee_shm *shm, shm 600 drivers/tee/optee/call.c tee_shm_get_page_offset(shm)); shm 605 drivers/tee/optee/call.c msg_arg->params->u.tmem.shm_ref = (unsigned long)shm; shm 606 drivers/tee/optee/call.c msg_arg->params->u.tmem.size = tee_shm_get_size(shm); shm 612 drivers/tee/optee/call.c (tee_shm_get_page_offset(shm) & (OPTEE_MSG_NONCONTIG_PAGE_SIZE - 1)); shm 624 drivers/tee/optee/call.c int optee_shm_unregister(struct tee_context *ctx, struct tee_shm *shm) shm 638 drivers/tee/optee/call.c msg_arg->params[0].u.rmem.shm_ref = (unsigned long)shm; shm 647 drivers/tee/optee/call.c int optee_shm_register_supp(struct tee_context *ctx, struct tee_shm *shm, shm 658 drivers/tee/optee/call.c int optee_shm_unregister_supp(struct tee_context *ctx, struct tee_shm *shm) shm 41 drivers/tee/optee/core.c struct tee_shm *shm; shm 69 drivers/tee/optee/core.c shm = (struct tee_shm *)(unsigned long) shm 71 drivers/tee/optee/core.c if (!shm) { shm 73 drivers/tee/optee/core.c p->u.memref.shm = NULL; shm 76 drivers/tee/optee/core.c rc = tee_shm_get_pa(shm, 0, &pa); shm 80 drivers/tee/optee/core.c p->u.memref.shm = shm; shm 87 drivers/tee/optee/core.c rc = tee_shm_get_pa(shm, o, NULL); shm 98 drivers/tee/optee/core.c shm = (struct tee_shm *)(unsigned long) shm 101 drivers/tee/optee/core.c if (!shm) { shm 103 drivers/tee/optee/core.c p->u.memref.shm = NULL; shm 107 drivers/tee/optee/core.c p->u.memref.shm = shm; shm 127 drivers/tee/optee/core.c mp->u.tmem.shm_ref = (unsigned long)p->u.memref.shm; shm 130 drivers/tee/optee/core.c if (!p->u.memref.shm) { shm 135 drivers/tee/optee/core.c rc = tee_shm_get_pa(p->u.memref.shm, p->u.memref.shm_offs, &pa); shm 152 drivers/tee/optee/core.c mp->u.rmem.shm_ref = (unsigned long)p->u.memref.shm; shm 192 drivers/tee/optee/core.c if (tee_shm_is_registered(p->u.memref.shm)) shm 258 drivers/tee/optee/core.c struct tee_shm *shm; shm 267 drivers/tee/optee/core.c shm = tee_shm_alloc(ctx, sizeof(struct optee_msg_arg), TEE_SHM_MAPPED); shm 268 drivers/tee/optee/core.c if (!IS_ERR(shm)) { shm 269 drivers/tee/optee/core.c arg = tee_shm_get_va(shm, 0); shm 277 drivers/tee/optee/core.c if (tee_shm_va2pa(shm, arg, &parg)) shm 294 drivers/tee/optee/core.c if (!IS_ERR(shm)) shm 295 drivers/tee/optee/core.c tee_shm_free(shm); shm 51 drivers/tee/optee/device.c param[0].u.memref.shm = device_shm; shm 156 drivers/tee/optee/optee_private.h int optee_shm_register(struct tee_context *ctx, struct tee_shm *shm, shm 159 drivers/tee/optee/optee_private.h int optee_shm_unregister(struct tee_context *ctx, struct tee_shm *shm); shm 161 drivers/tee/optee/optee_private.h int optee_shm_register_supp(struct tee_context *ctx, struct tee_shm *shm, shm 164 drivers/tee/optee/optee_private.h int optee_shm_unregister_supp(struct tee_context *ctx, struct tee_shm *shm); shm 175 drivers/tee/optee/rpc.c struct tee_shm *shm; shm 188 drivers/tee/optee/rpc.c shm = tee_shm_get_from_id(optee->supp.ctx, param.u.value.c); shm 190 drivers/tee/optee/rpc.c return shm; shm 198 drivers/tee/optee/rpc.c struct tee_shm *shm; shm 220 drivers/tee/optee/rpc.c shm = cmd_alloc_suppl(ctx, sz); shm 223 drivers/tee/optee/rpc.c shm = tee_shm_alloc(ctx, sz, TEE_SHM_MAPPED); shm 230 drivers/tee/optee/rpc.c if (IS_ERR(shm)) { shm 235 drivers/tee/optee/rpc.c if (tee_shm_get_pa(shm, 0, &pa)) { shm 240 drivers/tee/optee/rpc.c sz = tee_shm_get_size(shm); shm 242 drivers/tee/optee/rpc.c if (tee_shm_is_registered(shm)) { shm 247 drivers/tee/optee/rpc.c pages = tee_shm_get_pages(shm, &page_num); shm 269 drivers/tee/optee/rpc.c (tee_shm_get_page_offset(shm) & shm 271 drivers/tee/optee/rpc.c arg->params[0].u.tmem.size = tee_shm_get_size(shm); shm 272 drivers/tee/optee/rpc.c arg->params[0].u.tmem.shm_ref = (unsigned long)shm; shm 275 drivers/tee/optee/rpc.c tee_shm_get_page_offset(shm)); shm 280 drivers/tee/optee/rpc.c arg->params[0].u.tmem.shm_ref = (unsigned long)shm; shm 286 drivers/tee/optee/rpc.c tee_shm_free(shm); shm 289 drivers/tee/optee/rpc.c static void cmd_free_suppl(struct tee_context *ctx, struct tee_shm *shm) shm 295 drivers/tee/optee/rpc.c param.u.value.b = tee_shm_get_id(shm); shm 309 drivers/tee/optee/rpc.c tee_shm_put(shm); shm 317 drivers/tee/optee/rpc.c struct tee_shm *shm; shm 327 drivers/tee/optee/rpc.c shm = (struct tee_shm *)(unsigned long)arg->params[0].u.value.b; shm 330 drivers/tee/optee/rpc.c cmd_free_suppl(ctx, shm); shm 333 drivers/tee/optee/rpc.c tee_shm_free(shm); shm 357 drivers/tee/optee/rpc.c struct tee_shm *shm, shm 362 drivers/tee/optee/rpc.c arg = tee_shm_get_va(shm, 0); shm 364 drivers/tee/optee/rpc.c pr_err("%s: tee_shm_get_va %p failed\n", __func__, shm); shm 403 drivers/tee/optee/rpc.c struct tee_shm *shm; shm 408 drivers/tee/optee/rpc.c shm = tee_shm_alloc(ctx, param->a1, TEE_SHM_MAPPED); shm 409 drivers/tee/optee/rpc.c if (!IS_ERR(shm) && !tee_shm_get_pa(shm, 0, &pa)) { shm 412 drivers/tee/optee/rpc.c (unsigned long)shm); shm 421 drivers/tee/optee/rpc.c shm = reg_pair_to_ptr(param->a1, param->a2); shm 422 drivers/tee/optee/rpc.c tee_shm_free(shm); shm 433 drivers/tee/optee/rpc.c shm = reg_pair_to_ptr(param->a1, param->a2); shm 434 drivers/tee/optee/rpc.c handle_rpc_func_cmd(ctx, optee, shm, call_ctx); shm 16 drivers/tee/optee/shm_pool.c struct tee_shm *shm, size_t size) shm 26 drivers/tee/optee/shm_pool.c shm->kaddr = page_address(page); shm 27 drivers/tee/optee/shm_pool.c shm->paddr = page_to_phys(page); shm 28 drivers/tee/optee/shm_pool.c shm->size = PAGE_SIZE << order; shm 30 drivers/tee/optee/shm_pool.c if (shm->flags & TEE_SHM_DMA_BUF) { shm 43 drivers/tee/optee/shm_pool.c shm->flags |= TEE_SHM_REGISTER; shm 44 drivers/tee/optee/shm_pool.c rc = optee_shm_register(shm->ctx, shm, pages, nr_pages, shm 45 drivers/tee/optee/shm_pool.c (unsigned long)shm->kaddr); shm 53 drivers/tee/optee/shm_pool.c struct tee_shm *shm) shm 55 drivers/tee/optee/shm_pool.c if (shm->flags & TEE_SHM_DMA_BUF) shm 56 drivers/tee/optee/shm_pool.c optee_shm_unregister(shm->ctx, shm); shm 58 drivers/tee/optee/shm_pool.c free_pages((unsigned long)shm->kaddr, get_order(shm->size)); shm 59 drivers/tee/optee/shm_pool.c shm->kaddr = NULL; shm 198 drivers/tee/optee/supp.c if (tee_param_is_memref(params + n) && params[n].u.memref.shm) shm 199 drivers/tee/optee/supp.c tee_shm_put(params[n].u.memref.shm); shm 135 drivers/tee/tee_core.c struct tee_shm *shm; shm 144 drivers/tee/tee_core.c shm = tee_shm_alloc(ctx, data.size, TEE_SHM_MAPPED | TEE_SHM_DMA_BUF); shm 145 drivers/tee/tee_core.c if (IS_ERR(shm)) shm 146 drivers/tee/tee_core.c return PTR_ERR(shm); shm 148 drivers/tee/tee_core.c data.id = shm->id; shm 149 drivers/tee/tee_core.c data.flags = shm->flags; shm 150 drivers/tee/tee_core.c data.size = shm->size; shm 155 drivers/tee/tee_core.c ret = tee_shm_get_fd(shm); shm 162 drivers/tee/tee_core.c tee_shm_put(shm); shm 172 drivers/tee/tee_core.c struct tee_shm *shm; shm 181 drivers/tee/tee_core.c shm = tee_shm_register(ctx, data.addr, data.length, shm 183 drivers/tee/tee_core.c if (IS_ERR(shm)) shm 184 drivers/tee/tee_core.c return PTR_ERR(shm); shm 186 drivers/tee/tee_core.c data.id = shm->id; shm 187 drivers/tee/tee_core.c data.flags = shm->flags; shm 188 drivers/tee/tee_core.c data.length = shm->size; shm 193 drivers/tee/tee_core.c ret = tee_shm_get_fd(shm); shm 199 drivers/tee/tee_core.c tee_shm_put(shm); shm 210 drivers/tee/tee_core.c struct tee_shm *shm; shm 242 drivers/tee/tee_core.c shm = tee_shm_get_from_id(ctx, ip.c); shm 243 drivers/tee/tee_core.c if (IS_ERR(shm)) shm 244 drivers/tee/tee_core.c return PTR_ERR(shm); shm 252 drivers/tee/tee_core.c (ip.a + ip.b) > shm->size) { shm 253 drivers/tee/tee_core.c tee_shm_put(shm); shm 259 drivers/tee/tee_core.c params[n].u.memref.shm = shm; shm 361 drivers/tee/tee_core.c params[n].u.memref.shm) shm 362 drivers/tee/tee_core.c tee_shm_put(params[n].u.memref.shm); shm 423 drivers/tee/tee_core.c params[n].u.memref.shm) shm 424 drivers/tee/tee_core.c tee_shm_put(params[n].u.memref.shm); shm 482 drivers/tee/tee_core.c if (!p->u.memref.shm) { shm 488 drivers/tee/tee_core.c ip.c = p->u.memref.shm->id; shm 589 drivers/tee/tee_core.c p->u.memref.shm = NULL; shm 62 drivers/tee/tee_private.h int tee_shm_get_fd(struct tee_shm *shm); shm 14 drivers/tee/tee_shm.c static void tee_shm_release(struct tee_shm *shm) shm 16 drivers/tee/tee_shm.c struct tee_device *teedev = shm->teedev; shm 19 drivers/tee/tee_shm.c idr_remove(&teedev->idr, shm->id); shm 20 drivers/tee/tee_shm.c if (shm->ctx) shm 21 drivers/tee/tee_shm.c list_del(&shm->link); shm 24 drivers/tee/tee_shm.c if (shm->flags & TEE_SHM_POOL) { shm 27 drivers/tee/tee_shm.c if (shm->flags & TEE_SHM_DMA_BUF) shm 32 drivers/tee/tee_shm.c poolm->ops->free(poolm, shm); shm 33 drivers/tee/tee_shm.c } else if (shm->flags & TEE_SHM_REGISTER) { shm 35 drivers/tee/tee_shm.c int rc = teedev->desc->ops->shm_unregister(shm->ctx, shm); shm 39 drivers/tee/tee_shm.c "unregister shm %p failed: %d", shm, rc); shm 41 drivers/tee/tee_shm.c for (n = 0; n < shm->num_pages; n++) shm 42 drivers/tee/tee_shm.c put_page(shm->pages[n]); shm 44 drivers/tee/tee_shm.c kfree(shm->pages); shm 47 drivers/tee/tee_shm.c if (shm->ctx) shm 48 drivers/tee/tee_shm.c teedev_ctx_put(shm->ctx); shm 50 drivers/tee/tee_shm.c kfree(shm); shm 69 drivers/tee/tee_shm.c struct tee_shm *shm = dmabuf->priv; shm 71 drivers/tee/tee_shm.c tee_shm_release(shm); shm 81 drivers/tee/tee_shm.c struct tee_shm *shm = dmabuf->priv; shm 85 drivers/tee/tee_shm.c if (shm->flags & TEE_SHM_REGISTER) shm 88 drivers/tee/tee_shm.c return remap_pfn_range(vma, vma->vm_start, shm->paddr >> PAGE_SHIFT, shm 105 drivers/tee/tee_shm.c struct tee_shm *shm; shm 134 drivers/tee/tee_shm.c shm = kzalloc(sizeof(*shm), GFP_KERNEL); shm 135 drivers/tee/tee_shm.c if (!shm) { shm 140 drivers/tee/tee_shm.c shm->flags = flags | TEE_SHM_POOL; shm 141 drivers/tee/tee_shm.c shm->teedev = teedev; shm 142 drivers/tee/tee_shm.c shm->ctx = ctx; shm 148 drivers/tee/tee_shm.c rc = poolm->ops->alloc(poolm, shm, size); shm 155 drivers/tee/tee_shm.c shm->id = idr_alloc(&teedev->idr, shm, 1, 0, GFP_KERNEL); shm 157 drivers/tee/tee_shm.c if (shm->id < 0) { shm 158 drivers/tee/tee_shm.c ret = ERR_PTR(shm->id); shm 166 drivers/tee/tee_shm.c exp_info.size = shm->size; shm 168 drivers/tee/tee_shm.c exp_info.priv = shm; shm 170 drivers/tee/tee_shm.c shm->dmabuf = dma_buf_export(&exp_info); shm 171 drivers/tee/tee_shm.c if (IS_ERR(shm->dmabuf)) { shm 172 drivers/tee/tee_shm.c ret = ERR_CAST(shm->dmabuf); shm 180 drivers/tee/tee_shm.c list_add_tail(&shm->link, &ctx->list_shm); shm 184 drivers/tee/tee_shm.c return shm; shm 187 drivers/tee/tee_shm.c idr_remove(&teedev->idr, shm->id); shm 190 drivers/tee/tee_shm.c poolm->ops->free(poolm, shm); shm 192 drivers/tee/tee_shm.c kfree(shm); shm 227 drivers/tee/tee_shm.c struct tee_shm *shm; shm 247 drivers/tee/tee_shm.c shm = kzalloc(sizeof(*shm), GFP_KERNEL); shm 248 drivers/tee/tee_shm.c if (!shm) { shm 253 drivers/tee/tee_shm.c shm->flags = flags | TEE_SHM_REGISTER; shm 254 drivers/tee/tee_shm.c shm->teedev = teedev; shm 255 drivers/tee/tee_shm.c shm->ctx = ctx; shm 256 drivers/tee/tee_shm.c shm->id = -1; shm 259 drivers/tee/tee_shm.c shm->offset = addr - start; shm 260 drivers/tee/tee_shm.c shm->size = length; shm 262 drivers/tee/tee_shm.c shm->pages = kcalloc(num_pages, sizeof(*shm->pages), GFP_KERNEL); shm 263 drivers/tee/tee_shm.c if (!shm->pages) { shm 268 drivers/tee/tee_shm.c rc = get_user_pages_fast(start, num_pages, FOLL_WRITE, shm->pages); shm 270 drivers/tee/tee_shm.c shm->num_pages = rc; shm 279 drivers/tee/tee_shm.c shm->id = idr_alloc(&teedev->idr, shm, 1, 0, GFP_KERNEL); shm 282 drivers/tee/tee_shm.c if (shm->id < 0) { shm 283 drivers/tee/tee_shm.c ret = ERR_PTR(shm->id); shm 287 drivers/tee/tee_shm.c rc = teedev->desc->ops->shm_register(ctx, shm, shm->pages, shm 288 drivers/tee/tee_shm.c shm->num_pages, start); shm 298 drivers/tee/tee_shm.c exp_info.size = shm->size; shm 300 drivers/tee/tee_shm.c exp_info.priv = shm; shm 302 drivers/tee/tee_shm.c shm->dmabuf = dma_buf_export(&exp_info); shm 303 drivers/tee/tee_shm.c if (IS_ERR(shm->dmabuf)) { shm 304 drivers/tee/tee_shm.c ret = ERR_CAST(shm->dmabuf); shm 305 drivers/tee/tee_shm.c teedev->desc->ops->shm_unregister(ctx, shm); shm 311 drivers/tee/tee_shm.c list_add_tail(&shm->link, &ctx->list_shm); shm 314 drivers/tee/tee_shm.c return shm; shm 316 drivers/tee/tee_shm.c if (shm) { shm 319 drivers/tee/tee_shm.c if (shm->id >= 0) { shm 321 drivers/tee/tee_shm.c idr_remove(&teedev->idr, shm->id); shm 324 drivers/tee/tee_shm.c if (shm->pages) { shm 325 drivers/tee/tee_shm.c for (n = 0; n < shm->num_pages; n++) shm 326 drivers/tee/tee_shm.c put_page(shm->pages[n]); shm 327 drivers/tee/tee_shm.c kfree(shm->pages); shm 330 drivers/tee/tee_shm.c kfree(shm); shm 342 drivers/tee/tee_shm.c int tee_shm_get_fd(struct tee_shm *shm) shm 346 drivers/tee/tee_shm.c if (!(shm->flags & TEE_SHM_DMA_BUF)) shm 349 drivers/tee/tee_shm.c get_dma_buf(shm->dmabuf); shm 350 drivers/tee/tee_shm.c fd = dma_buf_fd(shm->dmabuf, O_CLOEXEC); shm 352 drivers/tee/tee_shm.c dma_buf_put(shm->dmabuf); shm 360 drivers/tee/tee_shm.c void tee_shm_free(struct tee_shm *shm) shm 369 drivers/tee/tee_shm.c if (shm->flags & TEE_SHM_DMA_BUF) shm 370 drivers/tee/tee_shm.c dma_buf_put(shm->dmabuf); shm 372 drivers/tee/tee_shm.c tee_shm_release(shm); shm 383 drivers/tee/tee_shm.c int tee_shm_va2pa(struct tee_shm *shm, void *va, phys_addr_t *pa) shm 385 drivers/tee/tee_shm.c if (!(shm->flags & TEE_SHM_MAPPED)) shm 388 drivers/tee/tee_shm.c if ((char *)va < (char *)shm->kaddr) shm 390 drivers/tee/tee_shm.c if ((char *)va >= ((char *)shm->kaddr + shm->size)) shm 394 drivers/tee/tee_shm.c shm, (unsigned long)va - (unsigned long)shm->kaddr, pa); shm 405 drivers/tee/tee_shm.c int tee_shm_pa2va(struct tee_shm *shm, phys_addr_t pa, void **va) shm 407 drivers/tee/tee_shm.c if (!(shm->flags & TEE_SHM_MAPPED)) shm 410 drivers/tee/tee_shm.c if (pa < shm->paddr) shm 412 drivers/tee/tee_shm.c if (pa >= (shm->paddr + shm->size)) shm 416 drivers/tee/tee_shm.c void *v = tee_shm_get_va(shm, pa - shm->paddr); shm 433 drivers/tee/tee_shm.c void *tee_shm_get_va(struct tee_shm *shm, size_t offs) shm 435 drivers/tee/tee_shm.c if (!(shm->flags & TEE_SHM_MAPPED)) shm 437 drivers/tee/tee_shm.c if (offs >= shm->size) shm 439 drivers/tee/tee_shm.c return (char *)shm->kaddr + offs; shm 451 drivers/tee/tee_shm.c int tee_shm_get_pa(struct tee_shm *shm, size_t offs, phys_addr_t *pa) shm 453 drivers/tee/tee_shm.c if (offs >= shm->size) shm 456 drivers/tee/tee_shm.c *pa = shm->paddr + offs; shm 471 drivers/tee/tee_shm.c struct tee_shm *shm; shm 478 drivers/tee/tee_shm.c shm = idr_find(&teedev->idr, id); shm 479 drivers/tee/tee_shm.c if (!shm || shm->ctx != ctx) shm 480 drivers/tee/tee_shm.c shm = ERR_PTR(-EINVAL); shm 481 drivers/tee/tee_shm.c else if (shm->flags & TEE_SHM_DMA_BUF) shm 482 drivers/tee/tee_shm.c get_dma_buf(shm->dmabuf); shm 484 drivers/tee/tee_shm.c return shm; shm 492 drivers/tee/tee_shm.c void tee_shm_put(struct tee_shm *shm) shm 494 drivers/tee/tee_shm.c if (shm->flags & TEE_SHM_DMA_BUF) shm 495 drivers/tee/tee_shm.c dma_buf_put(shm->dmabuf); shm 13 drivers/tee/tee_shm_pool.c struct tee_shm *shm, size_t size) shm 24 drivers/tee/tee_shm_pool.c shm->kaddr = (void *)va; shm 25 drivers/tee/tee_shm_pool.c shm->paddr = gen_pool_virt_to_phys(genpool, va); shm 26 drivers/tee/tee_shm_pool.c shm->size = s; shm 31 drivers/tee/tee_shm_pool.c struct tee_shm *shm) shm 33 drivers/tee/tee_shm_pool.c gen_pool_free(poolm->private_data, (unsigned long)shm->kaddr, shm 34 drivers/tee/tee_shm_pool.c shm->size); shm 35 drivers/tee/tee_shm_pool.c shm->kaddr = NULL; shm 62 include/linux/tee_drv.h struct tee_shm *shm; shm 110 include/linux/tee_drv.h int (*shm_register)(struct tee_context *ctx, struct tee_shm *shm, shm 113 include/linux/tee_drv.h int (*shm_unregister)(struct tee_context *ctx, struct tee_shm *shm); shm 219 include/linux/tee_drv.h int (*alloc)(struct tee_shm_pool_mgr *poolmgr, struct tee_shm *shm, shm 221 include/linux/tee_drv.h void (*free)(struct tee_shm_pool_mgr *poolmgr, struct tee_shm *shm); shm 350 include/linux/tee_drv.h static inline bool tee_shm_is_registered(struct tee_shm *shm) shm 352 include/linux/tee_drv.h return shm && (shm->flags & TEE_SHM_REGISTER); shm 359 include/linux/tee_drv.h void tee_shm_free(struct tee_shm *shm); shm 365 include/linux/tee_drv.h void tee_shm_put(struct tee_shm *shm); shm 374 include/linux/tee_drv.h int tee_shm_va2pa(struct tee_shm *shm, void *va, phys_addr_t *pa); shm 383 include/linux/tee_drv.h int tee_shm_pa2va(struct tee_shm *shm, phys_addr_t pa, void **va); shm 392 include/linux/tee_drv.h void *tee_shm_get_va(struct tee_shm *shm, size_t offs); shm 402 include/linux/tee_drv.h int tee_shm_get_pa(struct tee_shm *shm, size_t offs, phys_addr_t *pa); shm 409 include/linux/tee_drv.h static inline size_t tee_shm_get_size(struct tee_shm *shm) shm 411 include/linux/tee_drv.h return shm->size; shm 420 include/linux/tee_drv.h static inline struct page **tee_shm_get_pages(struct tee_shm *shm, shm 423 include/linux/tee_drv.h *num_pages = shm->num_pages; shm 424 include/linux/tee_drv.h return shm->pages; shm 432 include/linux/tee_drv.h static inline size_t tee_shm_get_page_offset(struct tee_shm *shm) shm 434 include/linux/tee_drv.h return shm->offset; shm 442 include/linux/tee_drv.h static inline int tee_shm_get_id(struct tee_shm *shm) shm 444 include/linux/tee_drv.h return shm->id; shm 81 sound/usb/usx2y/usX2Yhwdep.c struct us428ctls_sharedmem *shm = us428->us428ctls_sharedmem; shm 87 sound/usb/usx2y/usX2Yhwdep.c if (shm != NULL && shm->CtlSnapShotLast != shm->CtlSnapShotRed) shm 103 sound/usb/usx2y/usx2yhwdeppcm.c struct snd_usX2Y_hwdep_pcm_shm *shm = usX2Y->hwdep_pcm_shm; shm 106 sound/usb/usx2y/usx2yhwdeppcm.c if (0 > shm->playback_iso_start) { shm 107 sound/usb/usx2y/usx2yhwdeppcm.c shm->playback_iso_start = shm->captured_iso_head - shm 109 sound/usb/usx2y/usx2yhwdeppcm.c if (0 > shm->playback_iso_start) shm 110 sound/usb/usx2y/usx2yhwdeppcm.c shm->playback_iso_start += ARRAY_SIZE(shm->captured_iso); shm 111 sound/usb/usx2y/usx2yhwdeppcm.c shm->playback_iso_head = shm->playback_iso_start; shm 117 sound/usb/usx2y/usx2yhwdeppcm.c counts = shm->captured_iso[shm->playback_iso_head].length / usX2Y->stride; shm 123 sound/usb/usx2y/usx2yhwdeppcm.c urb->iso_frame_desc[pack].offset = shm->captured_iso[shm->playback_iso_head].offset; shm 124 sound/usb/usx2y/usx2yhwdeppcm.c urb->iso_frame_desc[pack].length = shm->captured_iso[shm->playback_iso_head].length; shm 128 sound/usb/usx2y/usx2yhwdeppcm.c if (++shm->playback_iso_head >= ARRAY_SIZE(shm->captured_iso)) shm 129 sound/usb/usx2y/usx2yhwdeppcm.c shm->playback_iso_head = 0; shm 144 sound/usb/usx2y/usx2yhwdeppcm.c struct snd_usX2Y_hwdep_pcm_shm *shm = subs->usX2Y->hwdep_pcm_shm; shm 145 sound/usb/usx2y/usx2yhwdeppcm.c int head = shm->captured_iso_head + 1; shm 146 sound/usb/usx2y/usx2yhwdeppcm.c if (head >= ARRAY_SIZE(shm->captured_iso)) shm 148 sound/usb/usx2y/usx2yhwdeppcm.c shm->captured_iso[head].frame = urb->start_frame + pack; shm 149 sound/usb/usx2y/usx2yhwdeppcm.c shm->captured_iso[head].offset = desc->offset; shm 150 sound/usb/usx2y/usx2yhwdeppcm.c shm->captured_iso[head].length = desc->actual_length; shm 151 sound/usb/usx2y/usx2yhwdeppcm.c shm->captured_iso_head = head; shm 152 sound/usb/usx2y/usx2yhwdeppcm.c shm->captured_iso_frames++;