aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/ps3/os-area.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/ps3/os-area.c')
-rw-r--r--arch/powerpc/platforms/ps3/os-area.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/ps3/os-area.c b/arch/powerpc/platforms/ps3/os-area.c
index db311a147c28..473aee8580ce 100644
--- a/arch/powerpc/platforms/ps3/os-area.c
+++ b/arch/powerpc/platforms/ps3/os-area.c
@@ -261,16 +261,31 @@ void __init ps3_os_area_save_params(void)
}
/**
- * ps3_os_area_rtc_diff - Returns the rtc diff value.
+ * ps3_os_area_get_rtc_diff - Returns the rtc diff value.
*/
-u64 ps3_os_area_rtc_diff(void)
+u64 ps3_os_area_get_rtc_diff(void)
{
return saved_params.rtc_diff ? saved_params.rtc_diff
: SECONDS_FROM_1970_TO_2000;
}
/**
+ * ps3_os_area_set_rtc_diff - Set the rtc diff value.
+ *
+ * An asynchronous write is needed to support writing updates from
+ * the timer interrupt context.
+ */
+
+void ps3_os_area_set_rtc_diff(u64 rtc_diff)
+{
+ if (saved_params.rtc_diff != rtc_diff) {
+ saved_params.rtc_diff = rtc_diff;
+ os_area_queue_work();
+ }
+}
+
+/**
* ps3_os_area_get_av_multi_out - Returns the default video mode.
*/