Loading sound/pci/rme9652/hdspm.c +25 −51 Original line number Diff line number Diff line Loading @@ -5705,19 +5705,6 @@ static int snd_hdspm_prepare(struct snd_pcm_substream *substream) return 0; } static unsigned int period_sizes_old[] = { 64, 128, 256, 512, 1024, 2048, 4096, 8192 }; static unsigned int period_sizes_new[] = { 64, 128, 256, 512, 1024, 2048, 4096, 32 }; /* RayDAT and AIO always have a buffer of 16384 samples per channel */ static unsigned int raydat_aio_buffer_sizes[] = { 16384 }; static struct snd_pcm_hardware snd_hdspm_playback_subinfo = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | Loading Loading @@ -5768,24 +5755,6 @@ static struct snd_pcm_hardware snd_hdspm_capture_subinfo = { .fifo_size = 0 }; static struct snd_pcm_hw_constraint_list hw_constraints_period_sizes_old = { .count = ARRAY_SIZE(period_sizes_old), .list = period_sizes_old, .mask = 0 }; static struct snd_pcm_hw_constraint_list hw_constraints_period_sizes_new = { .count = ARRAY_SIZE(period_sizes_new), .list = period_sizes_new, .mask = 0 }; static struct snd_pcm_hw_constraint_list hw_constraints_raydat_io_buffer = { .count = ARRAY_SIZE(raydat_aio_buffer_sizes), .list = raydat_aio_buffer_sizes, .mask = 0 }; static int snd_hdspm_hw_rule_in_channels_rate(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) { Loading Loading @@ -5986,23 +5955,25 @@ static int snd_hdspm_playback_open(struct snd_pcm_substream *substream) spin_unlock_irq(&hdspm->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE); switch (hdspm->io_type) { case AIO: case RayDAT: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_new); snd_pcm_hw_constraint_list(runtime, 0, 32, 4096); /* RayDAT & AIO have a fixed buffer of 16384 samples per channel */ snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, &hw_constraints_raydat_io_buffer); 16384, 16384); break; default: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_old); 64, 8192); break; } if (AES32 == hdspm->io_type) { Loading Loading @@ -6059,21 +6030,24 @@ static int snd_hdspm_capture_open(struct snd_pcm_substream *substream) spin_unlock_irq(&hdspm->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE); switch (hdspm->io_type) { case AIO: case RayDAT: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_new); snd_pcm_hw_constraint_list(runtime, 0, 32, 4096); snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, &hw_constraints_raydat_io_buffer); 16384, 16384); break; default: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_old); 64, 8192); break; } if (AES32 == hdspm->io_type) { Loading Loading
sound/pci/rme9652/hdspm.c +25 −51 Original line number Diff line number Diff line Loading @@ -5705,19 +5705,6 @@ static int snd_hdspm_prepare(struct snd_pcm_substream *substream) return 0; } static unsigned int period_sizes_old[] = { 64, 128, 256, 512, 1024, 2048, 4096, 8192 }; static unsigned int period_sizes_new[] = { 64, 128, 256, 512, 1024, 2048, 4096, 32 }; /* RayDAT and AIO always have a buffer of 16384 samples per channel */ static unsigned int raydat_aio_buffer_sizes[] = { 16384 }; static struct snd_pcm_hardware snd_hdspm_playback_subinfo = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | Loading Loading @@ -5768,24 +5755,6 @@ static struct snd_pcm_hardware snd_hdspm_capture_subinfo = { .fifo_size = 0 }; static struct snd_pcm_hw_constraint_list hw_constraints_period_sizes_old = { .count = ARRAY_SIZE(period_sizes_old), .list = period_sizes_old, .mask = 0 }; static struct snd_pcm_hw_constraint_list hw_constraints_period_sizes_new = { .count = ARRAY_SIZE(period_sizes_new), .list = period_sizes_new, .mask = 0 }; static struct snd_pcm_hw_constraint_list hw_constraints_raydat_io_buffer = { .count = ARRAY_SIZE(raydat_aio_buffer_sizes), .list = raydat_aio_buffer_sizes, .mask = 0 }; static int snd_hdspm_hw_rule_in_channels_rate(struct snd_pcm_hw_params *params, struct snd_pcm_hw_rule *rule) { Loading Loading @@ -5986,23 +5955,25 @@ static int snd_hdspm_playback_open(struct snd_pcm_substream *substream) spin_unlock_irq(&hdspm->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE); switch (hdspm->io_type) { case AIO: case RayDAT: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_new); snd_pcm_hw_constraint_list(runtime, 0, 32, 4096); /* RayDAT & AIO have a fixed buffer of 16384 samples per channel */ snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, &hw_constraints_raydat_io_buffer); 16384, 16384); break; default: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_old); 64, 8192); break; } if (AES32 == hdspm->io_type) { Loading Loading @@ -6059,21 +6030,24 @@ static int snd_hdspm_capture_open(struct snd_pcm_substream *substream) spin_unlock_irq(&hdspm->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_pow2(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE); switch (hdspm->io_type) { case AIO: case RayDAT: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_new); snd_pcm_hw_constraint_list(runtime, 0, 32, 4096); snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, &hw_constraints_raydat_io_buffer); 16384, 16384); break; default: snd_pcm_hw_constraint_list(runtime, 0, snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes_old); 64, 8192); break; } if (AES32 == hdspm->io_type) { Loading