Exemple #1
0
static bool fc8050_set_ch(unsigned long freq,
							unsigned char sub_ch_id,
							bool factory_test)
{
	unsigned long freq_temp = freq / 1000;
	unsigned char sub_ch_id_temp = sub_ch_id % 1000;
	unsigned char svc_type_temp = 0x0;

	if (sub_ch_id_temp >= 64) {
		sub_ch_id_temp -= 64;
		svc_type_temp  = 0x18;
	}

	DPRINTK("fc8050_set_ch freq:%ld, sub_ch_id:%d, svc_type:%d\n",
			freq_temp, sub_ch_id_temp, svc_type_temp);

	fc8050_on_air = false;

	if (dmb_drv_set_ch(freq_temp, sub_ch_id_temp, svc_type_temp) == 1) {
		DPRINTK("dmb_drv_set_ch Success\n");
		fc8050_on_air = true;
		return true;
	} else {
		DPRINTK("dmb_drv_set_ch Fail\n");
		return false;
	}
}
static bool fc8080_set_ch(unsigned long freq,
							unsigned char sub_ch_id,
							bool factory_test)
{
	unsigned long freq_temp = freq / 1000;
	unsigned char sub_ch_id_temp = sub_ch_id % 1000;
	unsigned char svc_type_temp = 0x0;

	if (sub_ch_id_temp >= 64) {
		sub_ch_id_temp -= 64;
		svc_type_temp  = 0x18;
	}

	DPRINTK("fc8080_set_ch freq:%ld, sub_ch_id:%d, svc_type:%d\n",
			freq_temp, sub_ch_id_temp, svc_type_temp);

	fc8080_on_air = false;
#if defined(CONFIG_TDMB_TSIF_SLSI) || defined(CONFIG_TDMB_TSIF_QC)
	tdmb_tsi_stop();
	if (tdmb_tsi_start(dmb_drv_isr, MSC_PACKET_COUNT) != 0)
		return false;
#endif

	if (factory_test) {
		if (dmb_drv_set_ch_factory(freq_temp, sub_ch_id_temp, \
				svc_type_temp) == 1) {
			DPRINTK("dmb_drv_set_ch_factory Success\n");
			fc8080_on_air = true;
			return true;
		} else {
			DPRINTK("dmb_drv_set_ch_factory Fail\n");
			return false;
		}
	} else {
		if (dmb_drv_set_ch(freq_temp, sub_ch_id_temp, \
				svc_type_temp) == 1) {
			DPRINTK("dmb_drv_set_ch Success\n");
			fc8080_on_air = true;
			return true;
		} else {
			DPRINTK("dmb_drv_set_ch Fail\n");
			return false;
		}
	}
}