radio: iris: Fixed the issue with RDS configuration

This patch configures the rds registers properly

CRs-fixed: 298431
Signed-off-by: Srinivasa Rao Uppala <uppalas@codeaurora.org>
diff --git a/drivers/media/radio/radio-iris.c b/drivers/media/radio/radio-iris.c
index 4391dba..f57b5e8 100644
--- a/drivers/media/radio/radio-iris.c
+++ b/drivers/media/radio/radio-iris.c
@@ -1979,13 +1979,12 @@
 		ctrl->value = radio->rds_grp.rds_grp_enable_mask;
 		break;
 	case V4L2_CID_PRIVATE_IRIS_RDSGROUP_PROC:
+	case V4L2_CID_PRIVATE_IRIS_PSALL:
+		ctrl->value = (radio->g_rds_grp_proc_ps << RDS_CONFIG_OFFSET);
 		break;
 	case V4L2_CID_PRIVATE_IRIS_RDSD_BUF:
 		ctrl->value = radio->rds_grp.rds_buf_size;
 		break;
-	case V4L2_CID_PRIVATE_IRIS_PSALL:
-		ctrl->value = radio->g_rds_grp_proc_ps;
-		break;
 	case V4L2_CID_PRIVATE_IRIS_LP_MODE:
 		break;
 	case V4L2_CID_PRIVATE_IRIS_ANTENNA:
@@ -2126,15 +2125,20 @@
 		break;
 	case V4L2_CID_PRIVATE_IRIS_RDSGROUP_PROC:
 		rds_grps_proc = radio->g_rds_grp_proc_ps | ctrl->value;
+		radio->g_rds_grp_proc_ps = (rds_grps_proc >> RDS_CONFIG_OFFSET);
 		retval = hci_fm_rds_grps_process(
-				&rds_grps_proc,
+				&radio->g_rds_grp_proc_ps,
 				radio->fm_hdev);
 		break;
 	case V4L2_CID_PRIVATE_IRIS_RDSD_BUF:
 		radio->rds_grp.rds_buf_size = ctrl->value;
 		break;
 	case V4L2_CID_PRIVATE_IRIS_PSALL:
-		radio->g_rds_grp_proc_ps = ctrl->value;
+		rds_grps_proc = (ctrl->value << RDS_CONFIG_OFFSET);
+		radio->g_rds_grp_proc_ps |= rds_grps_proc;
+		retval = hci_fm_rds_grps_process(
+				&radio->g_rds_grp_proc_ps,
+				radio->fm_hdev);
 		break;
 	case V4L2_CID_PRIVATE_IRIS_LP_MODE:
 		break;
diff --git a/include/media/radio-iris.h b/include/media/radio-iris.h
index 79a71244..9353a99 100644
--- a/include/media/radio-iris.h
+++ b/include/media/radio-iris.h
@@ -426,6 +426,7 @@
 #define RDS_PS_LENGTH_OFFSET 7
 #define RDS_STRING 8
 #define RDS_PS_DATA_OFFSET 8
+#define RDS_CONFIG_OFFSET  3
 
 /*FM states*/