Lines Matching refs:state
187 static void setup_vbi(struct au8522_state *state, int aud_input) in setup_vbi() argument
192 au8522_writereg(state, AU8522_TVDEC_VBI_CTRL_H_REG017H, 0x00); in setup_vbi()
193 au8522_writereg(state, AU8522_TVDEC_VBI_CTRL_L_REG018H, 0x00); in setup_vbi()
194 au8522_writereg(state, AU8522_TVDEC_VBI_USER_TOTAL_BITS_REG019H, 0x00); in setup_vbi()
195 au8522_writereg(state, AU8522_TVDEC_VBI_USER_TUNIT_H_REG01AH, 0x00); in setup_vbi()
196 au8522_writereg(state, AU8522_TVDEC_VBI_USER_TUNIT_L_REG01BH, 0x00); in setup_vbi()
197 au8522_writereg(state, AU8522_TVDEC_VBI_USER_THRESH1_REG01CH, 0x00); in setup_vbi()
198 au8522_writereg(state, AU8522_TVDEC_VBI_USER_FRAME_PAT2_REG01EH, 0x00); in setup_vbi()
199 au8522_writereg(state, AU8522_TVDEC_VBI_USER_FRAME_PAT1_REG01FH, 0x00); in setup_vbi()
200 au8522_writereg(state, AU8522_TVDEC_VBI_USER_FRAME_PAT0_REG020H, 0x00); in setup_vbi()
201 au8522_writereg(state, AU8522_TVDEC_VBI_USER_FRAME_MASK2_REG021H, in setup_vbi()
203 au8522_writereg(state, AU8522_TVDEC_VBI_USER_FRAME_MASK1_REG022H, in setup_vbi()
205 au8522_writereg(state, AU8522_TVDEC_VBI_USER_FRAME_MASK0_REG023H, in setup_vbi()
210 au8522_writereg(state, i, 0x40); in setup_vbi()
214 au8522_writereg(state, 0x44, 0x60); in setup_vbi()
218 au8522_writereg(state, AU8522_TVDEC_VBI_CTRL_H_REG017H, in setup_vbi()
223 static void setup_decoder_defaults(struct au8522_state *state, bool is_svideo) in setup_decoder_defaults() argument
229 au8522_writereg(state, AU8522_TVDEC_SHARPNESSREG009H, 0x07); in setup_decoder_defaults()
230 au8522_writereg(state, AU8522_TVDEC_BRIGHTNESS_REG00AH, 0xed); in setup_decoder_defaults()
231 au8522_writereg(state, AU8522_TVDEC_CONTRAST_REG00BH, 0x79); in setup_decoder_defaults()
232 au8522_writereg(state, AU8522_TVDEC_SATURATION_CB_REG00CH, 0x80); in setup_decoder_defaults()
233 au8522_writereg(state, AU8522_TVDEC_SATURATION_CR_REG00DH, 0x80); in setup_decoder_defaults()
234 au8522_writereg(state, AU8522_TVDEC_HUE_H_REG00EH, 0x00); in setup_decoder_defaults()
235 au8522_writereg(state, AU8522_TVDEC_HUE_L_REG00FH, 0x00); in setup_decoder_defaults()
238 au8522_writereg(state, AU8522_TVDEC_INT_MASK_REG010H, 0x00); in setup_decoder_defaults()
241 au8522_writereg(state, AU8522_VIDEO_MODE_REG011H, 0x04); in setup_decoder_defaults()
243 au8522_writereg(state, AU8522_VIDEO_MODE_REG011H, 0x00); in setup_decoder_defaults()
245 au8522_writereg(state, AU8522_TVDEC_PGA_REG012H, in setup_decoder_defaults()
247 au8522_writereg(state, AU8522_TVDEC_COMB_MODE_REG015H, in setup_decoder_defaults()
249 au8522_writereg(state, AU8522_TVDED_DBG_MODE_REG060H, in setup_decoder_defaults()
252 if (state->std == V4L2_STD_PAL_M) { in setup_decoder_defaults()
253 au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL1_REG061H, in setup_decoder_defaults()
257 au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL2_REG062H, in setup_decoder_defaults()
261 au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL1_REG061H, in setup_decoder_defaults()
265 au8522_writereg(state, AU8522_TVDEC_FORMAT_CTRL2_REG062H, in setup_decoder_defaults()
268 au8522_writereg(state, AU8522_TVDEC_VCR_DET_LLIM_REG063H, in setup_decoder_defaults()
270 au8522_writereg(state, AU8522_TVDEC_VCR_DET_HLIM_REG064H, in setup_decoder_defaults()
272 au8522_writereg(state, AU8522_TVDEC_COMB_VDIF_THR1_REG065H, in setup_decoder_defaults()
274 au8522_writereg(state, AU8522_TVDEC_COMB_VDIF_THR2_REG066H, in setup_decoder_defaults()
276 au8522_writereg(state, AU8522_TVDEC_COMB_VDIF_THR3_REG067H, in setup_decoder_defaults()
278 au8522_writereg(state, AU8522_TVDEC_COMB_NOTCH_THR_REG068H, in setup_decoder_defaults()
280 au8522_writereg(state, AU8522_TVDEC_COMB_HDIF_THR1_REG069H, in setup_decoder_defaults()
282 au8522_writereg(state, AU8522_TVDEC_COMB_HDIF_THR2_REG06AH, in setup_decoder_defaults()
284 au8522_writereg(state, AU8522_TVDEC_COMB_HDIF_THR3_REG06BH, in setup_decoder_defaults()
287 au8522_writereg(state, AU8522_TVDEC_COMB_DCDIF_THR1_REG06CH, in setup_decoder_defaults()
289 au8522_writereg(state, AU8522_TVDEC_COMB_DCDIF_THR2_REG06DH, in setup_decoder_defaults()
292 au8522_writereg(state, AU8522_TVDEC_COMB_DCDIF_THR1_REG06CH, in setup_decoder_defaults()
294 au8522_writereg(state, AU8522_TVDEC_COMB_DCDIF_THR2_REG06DH, in setup_decoder_defaults()
297 au8522_writereg(state, AU8522_TVDEC_COMB_DCDIF_THR3_REG06EH, in setup_decoder_defaults()
299 au8522_writereg(state, AU8522_TVDEC_UV_SEP_THR_REG06FH, in setup_decoder_defaults()
301 au8522_writereg(state, AU8522_TVDEC_COMB_DC_THR1_NTSC_REG070H, in setup_decoder_defaults()
303 au8522_writereg(state, AU8522_REG071H, AU8522_REG071H_CVBS); in setup_decoder_defaults()
304 au8522_writereg(state, AU8522_REG072H, AU8522_REG072H_CVBS); in setup_decoder_defaults()
305 au8522_writereg(state, AU8522_TVDEC_COMB_DC_THR2_NTSC_REG073H, in setup_decoder_defaults()
307 au8522_writereg(state, AU8522_REG074H, AU8522_REG074H_CVBS); in setup_decoder_defaults()
308 au8522_writereg(state, AU8522_REG075H, AU8522_REG075H_CVBS); in setup_decoder_defaults()
309 au8522_writereg(state, AU8522_TVDEC_DCAGC_CTRL_REG077H, in setup_decoder_defaults()
311 au8522_writereg(state, AU8522_TVDEC_PIC_START_ADJ_REG078H, in setup_decoder_defaults()
313 au8522_writereg(state, AU8522_TVDEC_AGC_HIGH_LIMIT_REG079H, in setup_decoder_defaults()
315 au8522_writereg(state, AU8522_TVDEC_MACROVISION_SYNC_THR_REG07AH, in setup_decoder_defaults()
317 au8522_writereg(state, AU8522_TVDEC_INTRP_CTRL_REG07BH, in setup_decoder_defaults()
319 au8522_writereg(state, AU8522_TVDEC_AGC_LOW_LIMIT_REG0E4H, in setup_decoder_defaults()
321 au8522_writereg(state, AU8522_TOREGAAGC_REG0E5H, in setup_decoder_defaults()
323 au8522_writereg(state, AU8522_REG016H, AU8522_REG016H_CVBS); in setup_decoder_defaults()
325 setup_vbi(state, 0); in setup_decoder_defaults()
338 au8522_writereg(state, filter_coef[i].reg_name, in setup_decoder_defaults()
344 au8522_writereg(state, AU8522_REG42EH, 0x87); in setup_decoder_defaults()
345 au8522_writereg(state, AU8522_REG42FH, 0xa2); in setup_decoder_defaults()
346 au8522_writereg(state, AU8522_REG430H, 0xbf); in setup_decoder_defaults()
347 au8522_writereg(state, AU8522_REG431H, 0xcb); in setup_decoder_defaults()
348 au8522_writereg(state, AU8522_REG432H, 0xa1); in setup_decoder_defaults()
349 au8522_writereg(state, AU8522_REG433H, 0x41); in setup_decoder_defaults()
350 au8522_writereg(state, AU8522_REG434H, 0x88); in setup_decoder_defaults()
351 au8522_writereg(state, AU8522_REG435H, 0xc2); in setup_decoder_defaults()
352 au8522_writereg(state, AU8522_REG436H, 0x3c); in setup_decoder_defaults()
355 static void au8522_setup_cvbs_mode(struct au8522_state *state, u8 input_mode) in au8522_setup_cvbs_mode() argument
358 au8522_writereg(state, AU8522_MODULE_CLOCK_CONTROL_REG0A3H, in au8522_setup_cvbs_mode()
362 au8522_writereg(state, AU8522_PGA_CONTROL_REG082H, 0x00); in au8522_setup_cvbs_mode()
365 au8522_writereg(state, AU8522_CLAMPING_CONTROL_REG083H, 0x00); in au8522_setup_cvbs_mode()
367 au8522_writereg(state, AU8522_INPUT_CONTROL_REG081H, input_mode); in au8522_setup_cvbs_mode()
369 setup_decoder_defaults(state, false); in au8522_setup_cvbs_mode()
371 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, in au8522_setup_cvbs_mode()
375 static void au8522_setup_cvbs_tuner_mode(struct au8522_state *state, in au8522_setup_cvbs_tuner_mode() argument
379 au8522_writereg(state, AU8522_MODULE_CLOCK_CONTROL_REG0A3H, in au8522_setup_cvbs_tuner_mode()
384 au8522_writereg(state, AU8522_PGA_CONTROL_REG082H, 0x00); in au8522_setup_cvbs_tuner_mode()
387 au8522_writereg(state, AU8522_CLAMPING_CONTROL_REG083H, 0x0e); in au8522_setup_cvbs_tuner_mode()
390 au8522_writereg(state, AU8522_PGA_CONTROL_REG082H, 0x10); in au8522_setup_cvbs_tuner_mode()
393 au8522_writereg(state, AU8522_INPUT_CONTROL_REG081H, input_mode); in au8522_setup_cvbs_tuner_mode()
395 setup_decoder_defaults(state, false); in au8522_setup_cvbs_tuner_mode()
397 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, in au8522_setup_cvbs_tuner_mode()
401 static void au8522_setup_svideo_mode(struct au8522_state *state, in au8522_setup_svideo_mode() argument
404 au8522_writereg(state, AU8522_MODULE_CLOCK_CONTROL_REG0A3H, in au8522_setup_svideo_mode()
408 au8522_writereg(state, AU8522_INPUT_CONTROL_REG081H, input_mode); in au8522_setup_svideo_mode()
411 au8522_writereg(state, AU8522_PGA_CONTROL_REG082H, 0x00); in au8522_setup_svideo_mode()
414 au8522_writereg(state, AU8522_CLAMPING_CONTROL_REG083H, 0x00); in au8522_setup_svideo_mode()
416 setup_decoder_defaults(state, true); in au8522_setup_svideo_mode()
418 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, in au8522_setup_svideo_mode()
424 static void disable_audio_input(struct au8522_state *state) in disable_audio_input() argument
426 au8522_writereg(state, AU8522_AUDIO_VOLUME_L_REG0F2H, 0x00); in disable_audio_input()
427 au8522_writereg(state, AU8522_AUDIO_VOLUME_R_REG0F3H, 0x00); in disable_audio_input()
428 au8522_writereg(state, AU8522_AUDIO_VOLUME_REG0F4H, 0x00); in disable_audio_input()
430 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H, 0x04); in disable_audio_input()
431 au8522_writereg(state, AU8522_I2S_CTRL_2_REG112H, 0x02); in disable_audio_input()
433 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, in disable_audio_input()
438 static void set_audio_input(struct au8522_state *state) in set_audio_input() argument
440 int aud_input = state->aud_input; in set_audio_input()
447 disable_audio_input(state); in set_audio_input()
460 au8522_writereg(state, lpfilter_coef[i].reg_name, in set_audio_input()
465 au8522_writereg(state, AU8522_AUDIO_VOLUME_L_REG0F2H, 0x00); in set_audio_input()
466 au8522_writereg(state, AU8522_AUDIO_VOLUME_R_REG0F3H, 0x00); in set_audio_input()
467 au8522_writereg(state, AU8522_AUDIO_VOLUME_REG0F4H, 0x00); in set_audio_input()
468 au8522_writereg(state, AU8522_I2C_CONTROL_REG1_REG091H, 0x80); in set_audio_input()
469 au8522_writereg(state, AU8522_I2C_CONTROL_REG0_REG090H, 0x84); in set_audio_input()
471 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, 0x00); in set_audio_input()
473 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, in set_audio_input()
476 au8522_writereg(state, AU8522_AUDIO_VOLUME_L_REG0F2H, 0x7F); in set_audio_input()
477 au8522_writereg(state, AU8522_AUDIO_VOLUME_R_REG0F3H, 0x7F); in set_audio_input()
478 au8522_writereg(state, AU8522_AUDIO_VOLUME_REG0F4H, 0xff); in set_audio_input()
480 au8522_writereg(state, AU8522_AUDIO_VOLUME_L_REG0F2H, 0x7F); in set_audio_input()
481 au8522_writereg(state, AU8522_AUDIO_VOLUME_R_REG0F3H, 0x7F); in set_audio_input()
482 au8522_writereg(state, AU8522_REG0F9H, AU8522_REG0F9H_AUDIO); in set_audio_input()
483 au8522_writereg(state, AU8522_AUDIO_MODE_REG0F1H, 0x82); in set_audio_input()
485 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_1_REG0A5H, 0x09); in set_audio_input()
486 au8522_writereg(state, AU8522_AUDIOFREQ_REG606H, 0x03); in set_audio_input()
487 au8522_writereg(state, AU8522_I2S_CTRL_2_REG112H, 0xc2); in set_audio_input()
494 struct au8522_state *state = in au8522_s_ctrl() local
499 au8522_writereg(state, AU8522_TVDEC_BRIGHTNESS_REG00AH, in au8522_s_ctrl()
503 au8522_writereg(state, AU8522_TVDEC_CONTRAST_REG00BH, in au8522_s_ctrl()
507 au8522_writereg(state, AU8522_TVDEC_SATURATION_CB_REG00CH, in au8522_s_ctrl()
509 au8522_writereg(state, AU8522_TVDEC_SATURATION_CR_REG00DH, in au8522_s_ctrl()
513 au8522_writereg(state, AU8522_TVDEC_HUE_H_REG00EH, in au8522_s_ctrl()
515 au8522_writereg(state, AU8522_TVDEC_HUE_L_REG00FH, in au8522_s_ctrl()
531 struct au8522_state *state = to_state(sd); in au8522_g_register() local
533 reg->val = au8522_readreg(state, reg->reg & 0xffff); in au8522_g_register()
540 struct au8522_state *state = to_state(sd); in au8522_s_register() local
542 au8522_writereg(state, reg->reg, reg->val & 0xff); in au8522_s_register()
547 static void au8522_video_set(struct au8522_state *state) in au8522_video_set() argument
551 au8522_writereg(state, 0xa4, 1 << 5); in au8522_video_set()
553 switch (state->vid_input) { in au8522_video_set()
556 au8522_setup_cvbs_mode(state, input_mode); in au8522_video_set()
560 au8522_setup_cvbs_mode(state, input_mode); in au8522_video_set()
564 au8522_setup_cvbs_mode(state, input_mode); in au8522_video_set()
568 au8522_setup_cvbs_mode(state, input_mode); in au8522_video_set()
572 au8522_setup_svideo_mode(state, input_mode); in au8522_video_set()
576 au8522_setup_svideo_mode(state, input_mode); in au8522_video_set()
581 au8522_setup_cvbs_tuner_mode(state, input_mode); in au8522_video_set()
588 struct au8522_state *state = to_state(sd); in au8522_s_stream() local
596 state->current_frequency = 0; in au8522_s_stream()
598 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, in au8522_s_stream()
602 au8522_video_set(state); in au8522_s_stream()
603 set_audio_input(state); in au8522_s_stream()
605 state->operational_mode = AU8522_ANALOG_MODE; in au8522_s_stream()
609 au8522_writereg(state, AU8522_SYSTEM_MODULE_CONTROL_0_REG0A4H, in au8522_s_stream()
611 state->operational_mode = AU8522_SUSPEND_MODE; in au8522_s_stream()
619 struct au8522_state *state = to_state(sd); in au8522_s_video_routing() local
625 state->vid_input = input; in au8522_s_video_routing()
632 if (state->operational_mode == AU8522_ANALOG_MODE) in au8522_s_video_routing()
633 au8522_video_set(state); in au8522_s_video_routing()
640 struct au8522_state *state = to_state(sd); in au8522_s_std() local
645 state->std = std; in au8522_s_std()
647 if (state->operational_mode == AU8522_ANALOG_MODE) in au8522_s_std()
648 au8522_video_set(state); in au8522_s_std()
656 struct au8522_state *state = to_state(sd); in au8522_s_audio_routing() local
658 state->aud_input = input; in au8522_s_audio_routing()
660 if (state->operational_mode == AU8522_ANALOG_MODE) in au8522_s_audio_routing()
661 set_audio_input(state); in au8522_s_audio_routing()
669 struct au8522_state *state = to_state(sd); in au8522_g_tuner() local
673 lock_status = au8522_readreg(state, 0x00); in au8522_g_tuner()
729 struct au8522_state *state; in au8522_probe() local
742 instance = au8522_get_state(&state, client->adapter, client->addr); in au8522_probe()
760 kfree(state); in au8522_probe()
765 state->config = demod_config; in au8522_probe()
766 state->i2c = client->adapter; in au8522_probe()
768 sd = &state->sd; in au8522_probe()
771 hdl = &state->hdl; in au8522_probe()
788 kfree(state); in au8522_probe()
792 state->c = client; in au8522_probe()
793 state->std = V4L2_STD_NTSC_M; in au8522_probe()
794 state->vid_input = AU8522_COMPOSITE_CH1; in au8522_probe()
795 state->aud_input = AU8522_AUDIO_NONE; in au8522_probe()
796 state->id = 8522; in au8522_probe()
797 state->rev = 0; in au8522_probe()
800 au8522_writereg(state, 0x106, 1); in au8522_probe()