Pārlūkot izejas kodu

Apply SDIO Config After SD Remount

androda 1 gadu atpakaļ
vecāks
revīzija
fc86bf0050
1 mainītis faili ar 18 papildinājumiem un 14 dzēšanām
  1. 18 14
      src/BlueSCSI.cpp

+ 18 - 14
src/BlueSCSI.cpp

@@ -555,6 +555,22 @@ static void reinitSCSI()
   }
 }
 
+void check_and_apply_sdio_delay() {
+  long add_sdio_delay = ini_getl("SDIO", "AddClockDelay", 0, CONFIGFILE);
+  if (add_sdio_delay) {
+    if (add_sdio_delay < 0) {
+      add_sdio_delay = 0;
+      log("---- WARNING: Negative numbers are not valid for AddClockDelay. Setting value to 0");
+    }
+    if (add_sdio_delay > 2) {
+      add_sdio_delay = 2;
+      log("---- WARNING: Max value 2 exceeded for AddClockDelay. Setting value to 2.");
+    }
+    log("INFO: Injecting ", (uint16_t)add_sdio_delay, " additional wait state(s) on SDIO");
+    add_extra_sdio_delay((uint16_t) add_sdio_delay);
+  }
+}
+
 extern "C" void bluescsi_setup(void)
 {
   pio_clear_instruction_memory(pio0);
@@ -599,20 +615,7 @@ extern "C" void bluescsi_setup(void)
     {
       log("SD card without filesystem!");
     }
-
-    long add_sdio_delay = ini_getl("SDIO", "AddClockDelay", 0, CONFIGFILE);
-    if (add_sdio_delay) {
-      if (add_sdio_delay < 0) {
-        add_sdio_delay = 0;
-        log("---- WARNING: Negative numbers are not valid for AddClockDelay. Setting value to 0");
-      }
-      if (add_sdio_delay > 2) {
-        add_sdio_delay = 2;
-        log("---- WARNING: Max value 2 exceeded for AddClockDelay. Setting value to 2.");
-      }
-      log("INFO: Injecting ", (uint16_t)add_sdio_delay, " additional wait state(s) on SDIO");
-      add_extra_sdio_delay((uint16_t) add_sdio_delay);
-    }
+    check_and_apply_sdio_delay();
 
     print_sd_info();
   
@@ -750,6 +753,7 @@ extern "C" void bluescsi_main_loop(void)
       if (g_sdcard_present)
       {
         log("SD card reinit succeeded");
+        check_and_apply_sdio_delay();
         print_sd_info();
 
         reinitSCSI();