carl9170 firmware: remove bogoclock
authorChristian Lamparter <chunkeey@googlemail.com>
Thu, 30 Sep 2010 15:52:59 +0000 (17:52 +0200)
committerChristian Lamparter <chunkeey@googlemail.com>
Thu, 30 Sep 2010 15:52:59 +0000 (17:52 +0200)
There's no need to measure the cpu clock. The internal clock
source is (always) set to 80Mhz and only timer 0 to 3 are
affected by under-/overclocking.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carlfw/include/carl9170.h
carlfw/src/fw.c
carlfw/src/timer.c

index 08784733988d924a3f77c7804cb7e41ade63dbb6..97c570577835071c2ece4fe598c4d7a68157e3d5 100644 (file)
@@ -70,7 +70,6 @@ enum carl9170_mac_reset_state {
 
 struct firmware_context_struct {
        /* timer / clocks */
-       unsigned int bogoclock;                 /* supposed to be CPU clock in KHz */
        unsigned int counter;                   /* main() cycles */
 
        /* misc */
index 9ec963b508727f05ae484e9800fc75a589b34a6a..fe169757e4758a3020685152a0518a40974454a1 100644 (file)
@@ -89,7 +89,7 @@ const struct carl9170_firmware_descriptor __section(fwdsc) carl9170fw_desc = {
             .release = CARL9170FW_VERSION_GIT),
 
        FILL(dbg, DBG,
-            .bogoclock_addr = cpu_to_le32(&fw.bogoclock),
+            .bogoclock_addr = cpu_to_le32(0),
             .counter_addr = cpu_to_le32(&fw.counter),
             .rx_total_addr = cpu_to_le32(&fw.wlan.rx_total),
             .rx_overrun_addr = cpu_to_le32(&fw.wlan.rx_overruns),
index 7cbd196dbb65ff716c9c0ae350ecd10b179b8d99..14c00e6aad491295f53ca79d077dc0285f95ed7e 100644 (file)
@@ -41,23 +41,6 @@ void timer_init(const unsigned int timer, const unsigned int interval)
        orl(AR9170_TIMER_REG_INTERRUPT, BIT(timer));
 }
 
-static void clock_calibrate(void)
-{
-       uint32_t t0, loop = 13;
-
-       t0 = get_clock_counter();
-
-       /*
-        * TODO:
-        * Write this code in assembler, so the reading is accurate
-        * and can be used to correct the timer intervals.
-        */
-       while (((get_clock_counter() - t0) & (BIT(18)-1)) < 1000)
-               loop += 9;      /* really rough uOP estimation */
-
-       fw.bogoclock = loop;
-}
-
 void clock_set(const bool on, const enum cpu_clock_t _clock)
 {
        /*
@@ -67,7 +50,6 @@ void clock_set(const bool on, const enum cpu_clock_t _clock)
         */
 
        set(AR9170_PWR_REG_CLOCK_SEL, (uint32_t) ((on ? 0x70 : 0x600) | _clock));
-       clock_calibrate();
 }
 
 static void timer0_isr(void)