Lines Matching refs:cmos_data
66 if ( rtc_mode_is(s, strict) && (s->hw.cmos_data[RTC_REG_C] & RTC_IRQF) ) in rtc_update_irq()
70 if ( !(s->hw.cmos_data[RTC_REG_B] & in rtc_update_irq()
71 s->hw.cmos_data[RTC_REG_C] & in rtc_update_irq()
75 s->hw.cmos_data[RTC_REG_C] |= RTC_IRQF; in rtc_update_irq()
90 && (s->hw.cmos_data[RTC_REG_C] & RTC_IRQF) in rtc_pf_callback()
99 s->hw.cmos_data[RTC_REG_C] |= RTC_PF|RTC_IRQF; in rtc_pf_callback()
111 if ( s->period == 0 || (s->hw.cmos_data[RTC_REG_B] & RTC_PIE) ) in check_for_pf_ticks()
117 s->hw.cmos_data[RTC_REG_C] |= RTC_PF; in check_for_pf_ticks()
133 period_code = s->hw.cmos_data[RTC_REG_A] & RTC_RATE_SELECT; in rtc_timer_update()
134 switch ( s->hw.cmos_data[RTC_REG_A] & RTC_DIV_CTL ) in rtc_timer_update()
155 if ( s->hw.cmos_data[RTC_REG_B] & RTC_PIE ) in rtc_timer_update()
186 if (!(s->hw.cmos_data[RTC_REG_C] & RTC_UF) && in check_update_timer()
187 !(s->hw.cmos_data[RTC_REG_B] & RTC_SET)) in check_update_timer()
194 s->hw.cmos_data[RTC_REG_A] |= RTC_UIP; in check_update_timer()
224 if (!(s->hw.cmos_data[RTC_REG_B] & RTC_SET)) in rtc_update_timer()
226 s->hw.cmos_data[RTC_REG_A] |= RTC_UIP; in rtc_update_timer()
237 if (!(s->hw.cmos_data[RTC_REG_B] & RTC_SET)) in rtc_update_timer2()
239 s->hw.cmos_data[RTC_REG_C] |= RTC_UF; in rtc_update_timer2()
240 s->hw.cmos_data[RTC_REG_A] &= ~RTC_UIP; in rtc_update_timer2()
260 if (!(s->hw.cmos_data[RTC_REG_C] & RTC_AF) && in alarm_timer_update()
261 !(s->hw.cmos_data[RTC_REG_B] & RTC_SET)) in alarm_timer_update()
266 alarm_sec = from_bcd(s, s->hw.cmos_data[RTC_SECONDS_ALARM]); in alarm_timer_update()
267 alarm_min = from_bcd(s, s->hw.cmos_data[RTC_MINUTES_ALARM]); in alarm_timer_update()
268 alarm_hour = convert_hour(s, s->hw.cmos_data[RTC_HOURS_ALARM]); in alarm_timer_update()
270 cur_sec = from_bcd(s, s->hw.cmos_data[RTC_SECONDS]); in alarm_timer_update()
271 cur_min = from_bcd(s, s->hw.cmos_data[RTC_MINUTES]); in alarm_timer_update()
272 cur_hour = convert_hour(s, s->hw.cmos_data[RTC_HOURS]); in alarm_timer_update()
277 if ((s->hw.cmos_data[RTC_HOURS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
279 if ((s->hw.cmos_data[RTC_MINUTES_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
281 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
294 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
301 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
316 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
330 if ((s->hw.cmos_data[RTC_MINUTES_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
332 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
340 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
348 if ((s->hw.cmos_data[RTC_MINUTES_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
350 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
361 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
368 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
386 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
397 if ((s->hw.cmos_data[RTC_MINUTES_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
399 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
407 if ((s->hw.cmos_data[RTC_SECONDS_ALARM] & 0xc0) == 0xc0) in alarm_timer_update()
428 if (!(s->hw.cmos_data[RTC_REG_B] & RTC_SET)) in rtc_alarm_cb()
430 s->hw.cmos_data[RTC_REG_C] |= RTC_AF; in rtc_alarm_cb()
459 orig = s->hw.cmos_data[s->hw.cmos_index]; in rtc_ioport_write()
465 s->hw.cmos_data[s->hw.cmos_index] = data; in rtc_ioport_write()
476 if ( (s->hw.cmos_data[RTC_REG_B] & RTC_SET) ) in rtc_ioport_write()
477 s->hw.cmos_data[s->hw.cmos_index] = data; in rtc_ioport_write()
483 s->hw.cmos_data[s->hw.cmos_index] = data; in rtc_ioport_write()
490 s->hw.cmos_data[RTC_REG_A] = (data & ~RTC_UIP) | (orig & RTC_UIP); in rtc_ioport_write()
498 s->hw.cmos_data[RTC_REG_A] &= ~RTC_UIP; in rtc_ioport_write()
513 s->hw.cmos_data[RTC_REG_B] = data; in rtc_ioport_write()
544 if ( s->hw.cmos_data[RTC_REG_B] & RTC_DM_BINARY ) in to_bcd()
552 if ( s->hw.cmos_data[RTC_REG_B] & RTC_DM_BINARY ) in from_bcd()
564 if (!(s->hw.cmos_data[RTC_REG_B] & RTC_24H)) in convert_hour()
584 tm->tm_sec = from_bcd(s, s->hw.cmos_data[RTC_SECONDS]); in rtc_set_time()
585 tm->tm_min = from_bcd(s, s->hw.cmos_data[RTC_MINUTES]); in rtc_set_time()
586 tm->tm_hour = convert_hour(s, s->hw.cmos_data[RTC_HOURS]); in rtc_set_time()
587 tm->tm_wday = from_bcd(s, s->hw.cmos_data[RTC_DAY_OF_WEEK]); in rtc_set_time()
588 tm->tm_mday = from_bcd(s, s->hw.cmos_data[RTC_DAY_OF_MONTH]); in rtc_set_time()
589 tm->tm_mon = from_bcd(s, s->hw.cmos_data[RTC_MONTH]) - 1; in rtc_set_time()
590 tm->tm_year = from_bcd(s, s->hw.cmos_data[RTC_YEAR]) + 100; in rtc_set_time()
609 s->hw.cmos_data[RTC_SECONDS] = to_bcd(s, tm->tm_sec); in rtc_copy_date()
610 s->hw.cmos_data[RTC_MINUTES] = to_bcd(s, tm->tm_min); in rtc_copy_date()
611 if ( s->hw.cmos_data[RTC_REG_B] & RTC_24H ) in rtc_copy_date()
614 s->hw.cmos_data[RTC_HOURS] = to_bcd(s, tm->tm_hour); in rtc_copy_date()
620 s->hw.cmos_data[RTC_HOURS] = to_bcd(s, h); in rtc_copy_date()
622 s->hw.cmos_data[RTC_HOURS] |= 0x80; in rtc_copy_date()
624 s->hw.cmos_data[RTC_DAY_OF_WEEK] = to_bcd(s, tm->tm_wday); in rtc_copy_date()
625 s->hw.cmos_data[RTC_DAY_OF_MONTH] = to_bcd(s, tm->tm_mday); in rtc_copy_date()
626 s->hw.cmos_data[RTC_MONTH] = to_bcd(s, tm->tm_mon + 1); in rtc_copy_date()
627 s->hw.cmos_data[RTC_YEAR] = to_bcd(s, tm->tm_year % 100); in rtc_copy_date()
635 if (s->hw.cmos_data[RTC_REG_B] & RTC_SET) in update_in_progress()
666 if (!(s->hw.cmos_data[RTC_REG_B] & RTC_SET)) in rtc_ioport_read()
671 ret = s->hw.cmos_data[s->hw.cmos_index]; in rtc_ioport_read()
674 ret = s->hw.cmos_data[s->hw.cmos_index]; in rtc_ioport_read()
680 ret = s->hw.cmos_data[s->hw.cmos_index]; in rtc_ioport_read()
681 s->hw.cmos_data[RTC_REG_C] = 0x00; in rtc_ioport_read()
689 ret = s->hw.cmos_data[s->hw.cmos_index]; in rtc_ioport_read()
820 s->hw.cmos_data[RTC_REG_A] = RTC_REF_CLCK_32KHZ | 6; /* ~1kHz */ in rtc_init()
821 s->hw.cmos_data[RTC_REG_B] = RTC_24H; in rtc_init()
822 s->hw.cmos_data[RTC_REG_C] = 0; in rtc_init()
823 s->hw.cmos_data[RTC_REG_D] = RTC_VRT; in rtc_init()