powerpc: Fix some bugs in the new merged time code

I had the sense of the test for when to use the old 601-style RTC
registers inverted.  pmac_calibrate_decr and via_calibrate_decr
weren't setting ppc_tb_freq, on which all the further calculations
depended.  Lastly, update_gtod was losing the top 32 bits of
the new tb_to_xs value.

Signed-off-by: Paul Mackerras <paulus@samba.org>
diff --git a/include/asm-powerpc/time.h b/include/asm-powerpc/time.h
index 4eecc38..f8ef186 100644
--- a/include/asm-powerpc/time.h
+++ b/include/asm-powerpc/time.h
@@ -75,7 +75,7 @@
 /* Accessor functions for the timebase (RTC on 601) registers. */
 /* If one day CONFIG_POWER is added just define __USE_RTC as 1 */
 #ifdef CONFIG_6xx
-#define __USE_RTC()	cpu_has_feature(CPU_FTR_USE_TB)
+#define __USE_RTC()	(!cpu_has_feature(CPU_FTR_USE_TB))
 #else
 #define __USE_RTC()	0
 #endif