Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7eea46a authored by himta ram's avatar himta ram
Browse files

RTC6226: set the the Channel spacing value in Radio Config register



Channel spacing value is not updated to Radio
Config register.This leads to scan all valid station
in scan list.
Update the the Channel spacing value in Radio Config
register as per rtc6226 driver data sheet.

CRs-Fixed: 2721208
Change-Id: I40b3a32c916714b4db15279b7e6abaa22b85afad
Signed-off-by: default avatarhimta ram <hram@codeaurora.org>
parent c77acc02
Loading
Loading
Loading
Loading
+7 −11
Original line number Diff line number Diff line
@@ -1763,7 +1763,6 @@ int rtc6226_vidioc_s_ctrl(struct file *file, void *priv,
{
	struct rtc6226_device *radio = video_drvdata(file);
	int retval = 0;
	int space_s = 0;

	FMDBG("%s enter, ctrl->id: %x, value:%d\n", __func__,
		ctrl->id, ctrl->value);
@@ -1815,13 +1814,6 @@ int rtc6226_vidioc_s_ctrl(struct file *file, void *priv,
		/*radio->registers[SYSCFG] |= SYSCFG_CSR0_RDS_EN;*/
		retval = rtc6226_set_register(radio, SYSCFG);
		break;
	case V4L2_CID_PRIVATE_RTC6226_SPACING:
		space_s = ctrl->value;
		radio->space = ctrl->value;
		radio->registers[CHANNEL] &= ~CHANNEL_CSR0_CHSPACE;
		radio->registers[CHANNEL] |= (space_s << 10);
		retval = rtc6226_set_register(radio, CHANNEL);
		break;
	case V4L2_CID_PRIVATE_RTC6226_SRCHON:
		rtc6226_search(radio, (bool)ctrl->value);
		break;
@@ -1973,18 +1965,22 @@ int rtc6226_vidioc_s_ctrl(struct file *file, void *priv,
		retval = rtc6226_set_register(radio, RADIOSEEKCFG1);
		retval = rtc6226_set_register(radio, RADIOSEEKCFG2);
		break;
	case V4L2_CID_PRIVATE_RTC6226_SPACING:
	case V4L2_CID_PRIVATE_CSR0_CHSPACE:
		FMDBG("V4L2_CID_PRIVATE_CSR0_CHSPACE : FM_SPACE=%d %d\n",
			radio->registers[RADIOCFG], ctrl->value);
		radio->space = ctrl->value;
		radio->registers[RADIOCFG] &= ~CHANNEL_CSR0_CHSPACE;

		switch (ctrl->value) {
		case FMSPACE_200_KHZ:
			radio->registers[RADIOCFG] = 20;
			radio->registers[RADIOCFG] |= 0x1400;
			break;
		case FMSPACE_100_KHZ:
			radio->registers[RADIOCFG] = 10;
			radio->registers[RADIOCFG] |= 0x0A00;
			break;
		case FMSPACE_50_KHZ:
			radio->registers[RADIOCFG] = 5;
			radio->registers[RADIOCFG] |= 0x0500;
			break;
		default:
			retval = -EINVAL;