Lines Matching defs:core

92 static void set_audio_registers(struct cx88_core *core, const struct rlist *l)
113 static void set_audio_start(struct cx88_core *core, u32 mode)
124 static void set_audio_finish(struct cx88_core *core, u32 ctl)
129 cx88_stop_audio_dma(core);
131 cx88_start_audio_dma(core);
133 if (core->board.mpeg & CX88_MPEG_BLACKBIRD) {
145 if ((always_analog) || (!(core->board.mpeg & CX88_MPEG_BLACKBIRD))) {
157 core->last_change = jiffies;
162 static void set_audio_standard_BTSC(struct cx88_core *core, unsigned int sap,
261 set_audio_start(core, SEL_SAP);
262 set_audio_registers(core, btsc_sap);
263 set_audio_finish(core, mode);
266 set_audio_start(core, SEL_BTSC);
267 set_audio_registers(core, btsc);
268 set_audio_finish(core, mode);
272 static void set_audio_standard_NICAM(struct cx88_core *core, u32 mode)
343 set_audio_start(core, SEL_NICAM);
344 switch (core->tvaudio) {
347 set_audio_registers(core, nicam_l);
351 set_audio_registers(core, nicam_bgdki_common);
352 set_audio_registers(core, nicam_i);
364 set_audio_registers(core, nicam_bgdki_common);
365 set_audio_registers(core, nicam_default);
370 set_audio_finish(core, mode);
373 static void set_audio_standard_A2(struct cx88_core *core, u32 mode)
600 set_audio_start(core, SEL_A2);
601 switch (core->tvaudio) {
604 set_audio_registers(core, a2_bgdk_common);
605 set_audio_registers(core, a2_bg);
606 set_audio_registers(core, a2_deemph50);
610 set_audio_registers(core, a2_bgdk_common);
611 set_audio_registers(core, a2_dk);
612 set_audio_registers(core, a2_deemph50);
616 set_audio_registers(core, a1_i);
617 set_audio_registers(core, a2_deemph50);
621 set_audio_registers(core, am_l);
635 set_audio_finish(core, mode);
638 static void set_audio_standard_EIAJ(struct cx88_core *core)
647 set_audio_start(core, SEL_EIAJ);
648 set_audio_registers(core, eiaj);
649 set_audio_finish(core, EN_EIAJ_AUTO_STEREO);
652 static void set_audio_standard_FM(struct cx88_core *core,
702 set_audio_start(core, SEL_FMRADIO);
707 set_audio_registers(core, fm_no_deemph);
711 set_audio_registers(core, fm_deemph_50);
715 set_audio_registers(core, fm_deemph_75);
719 set_audio_finish(core, EN_FMRADIO_AUTO_STEREO);
724 static int cx88_detect_nicam(struct cx88_core *core)
747 void cx88_set_tvaudio(struct cx88_core *core)
749 switch (core->tvaudio) {
751 set_audio_standard_BTSC(core, 0, EN_BTSC_AUTO_STEREO);
759 set_audio_standard_A2(core, EN_A2_FORCE_MONO1);
765 set_audio_standard_NICAM(core, EN_NICAM_AUTO_STEREO);
766 if (cx88_detect_nicam(core) == 0) {
768 set_audio_standard_A2(core, EN_A2_FORCE_MONO1);
769 core->audiomode_current = V4L2_TUNER_MODE_MONO;
770 core->use_nicam = 0;
772 core->use_nicam = 1;
776 set_audio_standard_EIAJ(core);
779 set_audio_standard_FM(core, radio_deemphasis);
782 set_audio_start(core, 0x01);
788 cx_write(AUD_I2SINPUTCNTL, core->board.i2sinputcntl);
791 set_audio_finish(core, EN_I2SIN_ENABLE);
795 pr_info("unknown tv audio mode [%d]\n", core->tvaudio);
801 void cx88_newstation(struct cx88_core *core)
803 core->audiomode_manual = UNSET;
804 core->last_change = jiffies;
808 void cx88_get_stereo(struct cx88_core *core, struct v4l2_tuner *t)
820 if (core->astat != reg)
824 core->astat = reg;
846 switch (core->tvaudio) {
852 if (!core->use_nicam) {
853 t->rxsubchans = cx88_dsp_detect_stereo_sap(core);
881 void cx88_set_stereo(struct cx88_core *core, u32 mode, int manual)
887 core->audiomode_manual = mode;
889 if (core->audiomode_manual != UNSET)
892 core->audiomode_current = mode;
894 switch (core->tvaudio) {
898 set_audio_standard_BTSC(core, 0, EN_BTSC_FORCE_MONO);
901 set_audio_standard_BTSC(core, 0, EN_BTSC_AUTO_STEREO);
904 set_audio_standard_BTSC(core, 1, EN_BTSC_FORCE_SAP);
908 set_audio_standard_BTSC(core, 0, EN_BTSC_FORCE_STEREO);
917 if (core->use_nicam == 1) {
921 set_audio_standard_NICAM(core,
925 set_audio_standard_NICAM(core,
930 set_audio_standard_NICAM(core,
935 if ((core->tvaudio == WW_I) ||
936 (core->tvaudio == WW_L)) {
938 set_audio_standard_A2(core, EN_A2_FORCE_MONO1);
989 struct cx88_core *core = data;
1001 switch (core->tvaudio) {
1007 if (core->use_nicam)
1012 cx88_get_stereo(core, &t);
1014 if (core->audiomode_manual != UNSET)
1023 if (mode == core->audiomode_current)
1026 cx88_set_stereo(core, mode, 0);