Lines Matching refs:prm

180 	struct uac2_rtd_params *prm = ur->pp;  in agdev_iso_complete()  local
181 struct snd_uac2_chip *uac2 = prm->uac2; in agdev_iso_complete()
184 if (!prm->ep_enabled || req->status == -ESHUTDOWN) in agdev_iso_complete()
195 substream = prm->ss; in agdev_iso_complete()
201 spin_lock_irqsave(&prm->lock, flags); in agdev_iso_complete()
227 pending = prm->hw_ptr % prm->period_size; in agdev_iso_complete()
229 if (pending >= prm->period_size) in agdev_iso_complete()
232 hw_ptr = prm->hw_ptr; in agdev_iso_complete()
233 prm->hw_ptr = (prm->hw_ptr + req->actual) % prm->dma_bytes; in agdev_iso_complete()
235 spin_unlock_irqrestore(&prm->lock, flags); in agdev_iso_complete()
238 pending = prm->dma_bytes - hw_ptr; in agdev_iso_complete()
242 memcpy(req->buf, prm->dma_area + hw_ptr, pending); in agdev_iso_complete()
243 memcpy(req->buf + pending, prm->dma_area, in agdev_iso_complete()
246 memcpy(req->buf, prm->dma_area + hw_ptr, req->actual); in agdev_iso_complete()
250 memcpy(prm->dma_area + hw_ptr, req->buf, pending); in agdev_iso_complete()
251 memcpy(prm->dma_area, req->buf + pending, in agdev_iso_complete()
254 memcpy(prm->dma_area + hw_ptr, req->buf, req->actual); in agdev_iso_complete()
272 struct uac2_rtd_params *prm; in uac2_pcm_trigger() local
277 prm = &uac2->p_prm; in uac2_pcm_trigger()
279 prm = &uac2->c_prm; in uac2_pcm_trigger()
281 spin_lock_irqsave(&prm->lock, flags); in uac2_pcm_trigger()
284 prm->hw_ptr = 0; in uac2_pcm_trigger()
289 prm->ss = substream; in uac2_pcm_trigger()
293 prm->ss = NULL; in uac2_pcm_trigger()
299 spin_unlock_irqrestore(&prm->lock, flags); in uac2_pcm_trigger()
302 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && !prm->ss) in uac2_pcm_trigger()
303 memset(prm->rbuf, 0, prm->max_psize * USB_XFERS); in uac2_pcm_trigger()
311 struct uac2_rtd_params *prm; in uac2_pcm_pointer() local
314 prm = &uac2->p_prm; in uac2_pcm_pointer()
316 prm = &uac2->c_prm; in uac2_pcm_pointer()
318 return bytes_to_frames(substream->runtime, prm->hw_ptr); in uac2_pcm_pointer()
325 struct uac2_rtd_params *prm; in uac2_pcm_hw_params() local
329 prm = &uac2->p_prm; in uac2_pcm_hw_params()
331 prm = &uac2->c_prm; in uac2_pcm_hw_params()
336 prm->dma_bytes = substream->runtime->dma_bytes; in uac2_pcm_hw_params()
337 prm->dma_area = substream->runtime->dma_area; in uac2_pcm_hw_params()
338 prm->period_size = params_period_bytes(hw_params); in uac2_pcm_hw_params()
347 struct uac2_rtd_params *prm; in uac2_pcm_hw_free() local
350 prm = &uac2->p_prm; in uac2_pcm_hw_free()
352 prm = &uac2->c_prm; in uac2_pcm_hw_free()
354 prm->dma_area = NULL; in uac2_pcm_hw_free()
355 prm->dma_bytes = 0; in uac2_pcm_hw_free()
356 prm->period_size = 0; in uac2_pcm_hw_free()
955 free_ep(struct uac2_rtd_params *prm, struct usb_ep *ep) in free_ep() argument
957 struct snd_uac2_chip *uac2 = prm->uac2; in free_ep()
960 if (!prm->ep_enabled) in free_ep()
963 prm->ep_enabled = false; in free_ep()
966 if (prm->ureq[i].req) { in free_ep()
967 usb_ep_dequeue(ep, prm->ureq[i].req); in free_ep()
968 usb_ep_free_request(ep, prm->ureq[i].req); in free_ep()
969 prm->ureq[i].req = NULL; in free_ep()
1009 struct uac2_rtd_params *prm; in afunc_bind() local
1107 prm = &agdev->uac2.c_prm; in afunc_bind()
1108 prm->max_psize = hs_epout_desc.wMaxPacketSize; in afunc_bind()
1109 prm->rbuf = kzalloc(prm->max_psize * USB_XFERS, GFP_KERNEL); in afunc_bind()
1110 if (!prm->rbuf) { in afunc_bind()
1111 prm->max_psize = 0; in afunc_bind()
1115 prm = &agdev->uac2.p_prm; in afunc_bind()
1116 prm->max_psize = hs_epin_desc.wMaxPacketSize; in afunc_bind()
1117 prm->rbuf = kzalloc(prm->max_psize * USB_XFERS, GFP_KERNEL); in afunc_bind()
1118 if (!prm->rbuf) { in afunc_bind()
1119 prm->max_psize = 0; in afunc_bind()
1146 struct uac2_rtd_params *prm; in afunc_set_alt() local
1166 prm = &uac2->c_prm; in afunc_set_alt()
1169 req_len = prm->max_psize; in afunc_set_alt()
1176 prm = &uac2->p_prm; in afunc_set_alt()
1195 prm->max_psize); in afunc_set_alt()
1197 if (uac2->p_pktsize < prm->max_psize) in afunc_set_alt()
1210 free_ep(prm, ep); in afunc_set_alt()
1214 prm->ep_enabled = true; in afunc_set_alt()
1218 if (!prm->ureq[i].req) { in afunc_set_alt()
1223 prm->ureq[i].req = req; in afunc_set_alt()
1224 prm->ureq[i].pp = prm; in afunc_set_alt()
1227 req->context = &prm->ureq[i]; in afunc_set_alt()
1230 req->buf = prm->rbuf + i * prm->max_psize; in afunc_set_alt()
1233 if (usb_ep_queue(ep, prm->ureq[i].req, GFP_ATOMIC)) in afunc_set_alt()
1564 struct uac2_rtd_params *prm; in afunc_unbind() local
1568 prm = &agdev->uac2.p_prm; in afunc_unbind()
1569 kfree(prm->rbuf); in afunc_unbind()
1571 prm = &agdev->uac2.c_prm; in afunc_unbind()
1572 kfree(prm->rbuf); in afunc_unbind()