File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed
Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -642,8 +642,23 @@ static int data_ep_set_params(struct snd_usb_endpoint *ep,
642642
643643 ep -> datainterval = fmt -> datainterval ;
644644 ep -> stride = frame_bits >> 3 ;
645- ep -> silence_value = pcm_format == SNDRV_PCM_FORMAT_U8 ? 0x80 : 0 ;
646-
645+
646+
647+ switch (pcm_format ) {
648+ case SNDRV_PCM_FORMAT_U8 :
649+ ep -> silence_value = 0x80 ;
650+ break ;
651+ case SNDRV_PCM_FORMAT_DSD_U8 :
652+ case SNDRV_PCM_FORMAT_DSD_U16_LE :
653+ case SNDRV_PCM_FORMAT_DSD_U32_LE :
654+ case SNDRV_PCM_FORMAT_DSD_U16_BE :
655+ case SNDRV_PCM_FORMAT_DSD_U32_BE :
656+ ep -> silence_value = 0x69 ;
657+ break ;
658+ default :
659+ ep -> silence_value = 0 ;
660+ }
661+
647662 /* assume max. frequency is 25% higher than nominal */
648663 ep -> freqmax = ep -> freqn + (ep -> freqn >> 2 );
649664 /* Round up freqmax to nearest integer in order to calculate maximum
You can’t perform that action at this time.
0 commit comments