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++;