[RAMEN9610-13671][COMMON] media: radio: Optimize seek time
authorYunsu Kim <iamyunsu.kim@samsung.com>
Fri, 22 Mar 2019 05:33:18 +0000 (14:33 +0900)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:23:20 +0000 (20:23 +0300)
Change-Id: I1047b8a5f19f8309c29b4b56478b96a0d6d8633d
Signed-off-by: Yunsu Kim <iamyunsu.kim@samsung.com>
drivers/media/radio/s610/fm_low.c
drivers/media/radio/s610/fm_low_struc.h

index 7d48d109403cd8f257bee7bf1b5c0f97e939f5f7..b58011bbd823617b0d3850d6c4856b893a3750e1 100755 (executable)
@@ -2092,7 +2092,7 @@ static void fm_search_check_signal1(struct s610_radio *radio, bool rssi_oor)
                                        radio->tune_fniarg = 0;
                                        radio->dwork_tune_counter++;
                                        schedule_delayed_work(&radio->dwork_tune,
-                                               msecs_to_jiffies(TUNE_TIME_FAST_MS));
+                                               msecs_to_jiffies(0));
                                }
                        } else {
                                flag = fm_update_rx_status(radio, d_status);
@@ -2130,14 +2130,14 @@ static void fm_search_check_signal1(struct s610_radio *radio, bool rssi_oor)
                                radio->tune_fniarg = 0;
                                radio->dwork_tune_counter++;
                                schedule_delayed_work(&radio->dwork_tune,
-                                       msecs_to_jiffies(TUNE_TIME_FAST_MS));
+                                       msecs_to_jiffies(0));
                        }
                }
        } else {
                        radio->sig2_fniarg = 1;
                        radio->dwork_sig2_counter++;
                        schedule_delayed_work(&radio->dwork_sig2,
-                               msecs_to_jiffies(SEARCH_DELAY_MS));
+                               msecs_to_jiffies(0));
        }
        /*      API_EXIT(radio);*/
 }
@@ -2149,11 +2149,12 @@ static void fm_search_tuned(unsigned long data)
 
        API_ENTRY(radio);
 
-       count = (fmspeedy_get_reg(0xFFF2B2) * 5) / 10;
-
+       mdelay(TUNE_TIME_FAST_MS);
        if (fm_check_rssi_level(radio->low->fm_state.rssi_limit_search)) {
                fm_search_check_signal1(radio, TRUE);
        } else {
+               count = (fmspeedy_get_reg(0xFFF2B2) * 5) / 10;
+
                fm_start_if_counter();
 
                fmspeedy_set_reg_field(0xFFF302, 0, 1, 1); /* Clear Int. */
@@ -2299,7 +2300,7 @@ static void fm_start_tune(struct s610_radio *radio, fm_tuner_state new_state)
                radio->tune_fniarg = 0;
                radio->dwork_tune_counter++;
                schedule_delayed_work(&radio->dwork_tune,
-                       msecs_to_jiffies(TUNE_TIME_FAST_MS));
+                       msecs_to_jiffies(0));
                break;
        default:
                break;
index bfbc4a266b298a5635dc75a90a8f09ebcc7dfb41..c1bbadfa177585a21565b3ea2ae09112b1da5077 100755 (executable)
@@ -50,7 +50,7 @@ typedef u32 TIME;
 #define        TUNE_TIME_FAST_MS       (30)
 #define        TUNE_TIME_SLOW_MS       (60)
 #ifdef USE_NEW_SCAN
-#define        SEARCH_DELAY_MS (20)
+#define        SEARCH_DELAY_MS (10)
 #else
 #define        SEARCH_DELAY_MS (15)
 #endif