Lines Matching +full:- +full:32000

1 // SPDX-License-Identifier: GPL-2.0-or-later
8 #include <media/v4l2-common.h>
9 #include <media/drv-intf/cx25840.h>
11 #include "cx25840-core.h"
35 if (state->aud_input != CX25840_AUDIO_SERIAL) { in cx25840_set_audclk_freq()
37 case 32000: in cx25840_set_audclk_freq()
47 * 432 MHz pre-postdivide in cx25840_set_audclk_freq()
52 * 28636363 * 0x6.dd9cf70/0x10 = 32000 * 384 in cx25840_set_audclk_freq()
53 * 196.6 MHz pre-postdivide in cx25840_set_audclk_freq()
69 /* 0x1.f77f = (4 * 28636360/8 * 2/455) / 32000 */ in cx25840_set_audclk_freq()
85 * 432 MHz pre-postdivide in cx25840_set_audclk_freq()
91 * 271 MHz pre-postdivide in cx25840_set_audclk_freq()
122 * 432 MHz pre-postdivide in cx25840_set_audclk_freq()
128 * 295 MHz pre-postdivide in cx25840_set_audclk_freq()
151 case 32000: in cx25840_set_audclk_freq()
161 * 432 MHz pre-postdivide in cx25840_set_audclk_freq()
166 * 28636363 * 0x8.9504348/0x1e = 32000 * 256 in cx25840_set_audclk_freq()
167 * 246 MHz pre-postdivide in cx25840_set_audclk_freq()
182 /* 0x1.0000 = 32000/32000 */ in cx25840_set_audclk_freq()
186 /* 0x2.0000 = 2 * (32000/32000) */ in cx25840_set_audclk_freq()
202 * 432 MHz pre-postdivide in cx25840_set_audclk_freq()
208 * 271 MHz pre-postdivide in cx25840_set_audclk_freq()
223 /* 0x1.60cd = 44100/32000 */ in cx25840_set_audclk_freq()
227 /* 0x1.7385 = 2 * (32000/44100) */ in cx25840_set_audclk_freq()
243 * 432 MHz pre-postdivide in cx25840_set_audclk_freq()
249 * 295 MHz pre-postdivide in cx25840_set_audclk_freq()
264 /* 0x1.8000 = 48000/32000 */ in cx25840_set_audclk_freq()
268 /* 0x1.5555 = 2 * (32000/48000) */ in cx25840_set_audclk_freq()
276 state->audclk_freq = freq; in cx25840_set_audclk_freq()
290 if (state->aud_input != CX25840_AUDIO_SERIAL) { in cx23885_set_audclk_freq()
292 case 32000: in cx23885_set_audclk_freq()
297 /* FIXME return -EINVAL; */ in cx23885_set_audclk_freq()
302 case 32000: in cx23885_set_audclk_freq()
306 /* FIXME return -EINVAL; */ in cx23885_set_audclk_freq()
323 state->audclk_freq = freq; in cx23885_set_audclk_freq()
332 if (state->aud_input != CX25840_AUDIO_SERIAL) { in cx231xx_set_audclk_freq()
334 case 32000: in cx231xx_set_audclk_freq()
336 /* 0x1.f77f = (4 * 28636360/8 * 2/455) / 32000 */ in cx231xx_set_audclk_freq()
361 case 32000: in cx231xx_set_audclk_freq()
363 /* 0x1.0000 = 32000/32000 */ in cx231xx_set_audclk_freq()
367 /* 0x2.0000 = 2 * (32000/32000) */ in cx231xx_set_audclk_freq()
375 /* 0x1.60cd = 44100/32000 */ in cx231xx_set_audclk_freq()
379 /* 0x1.7385 = 2 * (32000/44100) */ in cx231xx_set_audclk_freq()
399 state->audclk_freq = freq; in cx231xx_set_audclk_freq()
408 if (freq != 32000 && freq != 44100 && freq != 48000) in set_audclk_freq()
409 return -EINVAL; in set_audclk_freq()
437 if (state->aud_input == CX25840_AUDIO_SERIAL) { in cx25840_audio_set_path()
442 * non-tuner inputs: autodetection is specific for in cx25840_audio_set_path()
450 set_audclk_freq(client, state->audclk_freq); in cx25840_audio_set_path()
453 if (state->aud_input != CX25840_AUDIO_SERIAL) { in cx25840_audio_set_path()
472 /* Convert the volume to msp3400 values (0-127) */ in set_volume()
476 * -114dB to -96dB maps to 0 in set_volume()
481 vol -= 23; in set_volume()
485 cx25840_write(client, 0x8d4, 228 - (vol * 2)); in set_volume()
500 cx25840_and_or(client, 0x8d5, ~0x7f, 0x80 - bal); in set_balance()
512 if (state->aud_input != CX25840_AUDIO_SERIAL) { in cx25840_s_clock_freq()
517 if (state->aud_input != CX25840_AUDIO_SERIAL) in cx25840_s_clock_freq()
530 switch (ctrl->id) { in cx25840_audio_s_ctrl()
532 if (state->mute->val) in cx25840_audio_s_ctrl()
535 set_volume(client, state->volume->val); in cx25840_audio_s_ctrl()
540 48 - (ctrl->val * 48 / 0xffff)); in cx25840_audio_s_ctrl()
545 48 - (ctrl->val * 48 / 0xffff)); in cx25840_audio_s_ctrl()
548 set_balance(client, ctrl->val); in cx25840_audio_s_ctrl()
551 return -EINVAL; in cx25840_audio_s_ctrl()