@@ -383,11 +383,11 @@ static void virtio_snd_read_chmap_info_handler(
383383 * plen = cnt * sizeof (info );
384384}
385385
386- static void virtio_snd_read_pcm_set_params (struct virtq_desc * vq_desc ,
387- const virtio_snd_query_info_t * query ,
388- uint32_t * plen )
386+ static void virtio_snd_read_pcm_set_params (
387+ const virtio_snd_pcm_set_params_t * query ,
388+ uint32_t * plen )
389389{
390- virtio_snd_pcm_set_params_t * request = query ;
390+ const virtio_snd_pcm_set_params_t * request = query ;
391391 uint32_t id = request -> hdr .stream_id ;
392392 /* TODO: detect current state of stream */
393393 uint32_t code = vsnd_props [id ].pp .hdr .hdr .code ;
@@ -414,11 +414,10 @@ static void virtio_snd_read_pcm_set_params(struct virtq_desc *vq_desc,
414414 fprintf (stderr , "virtio_snd_read_pcm_set_params\n" );
415415}
416416
417- static void virtio_snd_read_pcm_prepare (struct virtq_desc * vq_desc ,
418- const virtio_snd_query_info_t * query ,
417+ static void virtio_snd_read_pcm_prepare (const virtio_snd_pcm_hdr_t * query ,
419418 uint32_t * plen )
420419{
421- virtio_snd_pcm_hdr_t * request = query ;
420+ const virtio_snd_pcm_hdr_t * request = query ;
422421 uint32_t stream_id = request -> stream_id ;
423422 uint32_t code = vsnd_props [stream_id ].pp .hdr .hdr .code ;
424423 if (code != VIRTIO_SND_R_PCM_RELEASE &&
@@ -449,11 +448,10 @@ static void virtio_snd_read_pcm_prepare(struct virtq_desc *vq_desc,
449448 fprintf (stderr , "virtio_snd_read_pcm_prepare\n" );
450449}
451450
452- static void virtio_snd_read_pcm_start (struct virtq_desc * vq_desc ,
453- const virtio_snd_query_info_t * query ,
451+ static void virtio_snd_read_pcm_start (const virtio_snd_pcm_hdr_t * query ,
454452 uint32_t * plen )
455453{
456- virtio_snd_pcm_hdr_t * request = query ;
454+ const virtio_snd_pcm_hdr_t * request = query ;
457455 uint32_t stream_id = request -> stream_id ;
458456 uint32_t code = vsnd_props [stream_id ].pp .hdr .hdr .code ;
459457 if (code != VIRTIO_SND_R_PCM_PREPARE && code != VIRTIO_SND_R_PCM_STOP ) {
@@ -475,11 +473,10 @@ static void virtio_snd_read_pcm_start(struct virtq_desc *vq_desc,
475473 fprintf (stderr , "virtio_snd_read_pcm_start\n" );
476474}
477475
478- static void virtio_snd_read_pcm_stop (struct virtq_desc * vq_desc ,
479- const virtio_snd_query_info_t * query ,
476+ static void virtio_snd_read_pcm_stop (const virtio_snd_pcm_hdr_t * query ,
480477 uint32_t * plen )
481478{
482- virtio_snd_pcm_hdr_t * request = query ;
479+ const virtio_snd_pcm_hdr_t * request = query ;
483480 uint32_t stream_id = request -> stream_id ;
484481 uint32_t code = vsnd_props [stream_id ].pp .hdr .hdr .code ;
485482 if (code != VIRTIO_SND_R_PCM_START ) {
@@ -500,11 +497,10 @@ static void virtio_snd_read_pcm_stop(struct virtq_desc *vq_desc,
500497 fprintf (stderr , "virtio_snd_read_pcm_stop\n" );
501498}
502499
503- static void virtio_snd_read_pcm_release (struct virtq_desc * vq_desc ,
504- const virtio_snd_query_info_t * query ,
500+ static void virtio_snd_read_pcm_release (const virtio_snd_pcm_hdr_t * query ,
505501 uint32_t * plen )
506502{
507- virtio_snd_pcm_hdr_t * request = query ;
503+ const virtio_snd_pcm_hdr_t * request = query ;
508504 uint32_t stream_id = request -> stream_id ;
509505 uint32_t code = vsnd_props [stream_id ].pp .hdr .hdr .code ;
510506 if (code != VIRTIO_SND_R_PCM_PREPARE && code != VIRTIO_SND_R_PCM_STOP ) {
@@ -613,8 +609,7 @@ static int virtio_snd_desc_handler(virtio_snd_state_t *vsnd,
613609 uint32_t type = request -> code ;
614610 virtio_snd_hdr_t * response =
615611 (virtio_snd_hdr_t * ) ((uintptr_t ) vsnd -> ram + vq_desc [1 ].addr );
616- const virtio_snd_query_info_t * query =
617- (virtio_snd_query_info_t * ) ((uintptr_t ) vsnd -> ram + vq_desc [0 ].addr );
612+ const void * query = (void * ) ((uintptr_t ) vsnd -> ram + vq_desc [0 ].addr );
618613
619614 /* TODO: let the program use this variable selectively according to
620615 * the type.
@@ -636,19 +631,19 @@ static int virtio_snd_desc_handler(virtio_snd_state_t *vsnd,
636631 virtio_snd_read_chmap_info_handler (info , query , plen );
637632 break ;
638633 case VIRTIO_SND_R_PCM_SET_PARAMS :
639- virtio_snd_read_pcm_set_params (vq_desc , query , plen );
634+ virtio_snd_read_pcm_set_params (query , plen );
640635 break ;
641636 case VIRTIO_SND_R_PCM_PREPARE :
642- virtio_snd_read_pcm_prepare (vq_desc , query , plen );
637+ virtio_snd_read_pcm_prepare (query , plen );
643638 break ;
644639 case VIRTIO_SND_R_PCM_RELEASE :
645- virtio_snd_read_pcm_release (vq_desc , query , plen );
640+ virtio_snd_read_pcm_release (query , plen );
646641 break ;
647642 case VIRTIO_SND_R_PCM_START :
648- virtio_snd_read_pcm_start (vq_desc , query , plen );
643+ virtio_snd_read_pcm_start (query , plen );
649644 break ;
650645 case VIRTIO_SND_R_PCM_STOP :
651- virtio_snd_read_pcm_stop (vq_desc , query , plen );
646+ virtio_snd_read_pcm_stop (query , plen );
652647 break ;
653648 default :
654649 fprintf (stderr , "%d: unsupported virtio-snd operation!\n" , type );
@@ -666,7 +661,7 @@ static int virtio_snd_desc_handler(virtio_snd_state_t *vsnd,
666661
667662
668663typedef struct {
669- struct virtq_desc ;
664+ struct virtq_desc vq_desc ;
670665 struct queue_head q ;
671666} virtq_desc_queue_t ;
672667static int virtio_snd_tx_desc_handler (virtio_snd_state_t * vsnd ,
0 commit comments