Lines Matching refs:hpetp
146 struct hpets *hpetp = devp->hd_hpets;
167 k = (mc - base + hpetp->hp_delta) / t;
245 struct hpets *hpetp;
254 for (devp = NULL, hpetp = hpets; hpetp && !devp; hpetp = hpetp->hp_next)
255 for (i = 0; i < hpetp->hp_ntimer; i++)
256 if (hpetp->hp_dev[i].hd_flags & HPET_OPEN) {
259 devp = &hpetp->hp_dev[i];
442 struct hpets *hpetp;
449 hpetp = devp->hd_hpets;
487 sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev));
526 write_counter(t + m + hpetp->hp_delta, &timer->hpet_compare);
535 write_counter(t + m + hpetp->hp_delta, &timer->hpet_compare);
563 struct hpets *hpetp;
574 hpetp = devp->hd_hpets;
602 hpet_time_div(hpetp, devp->hd_ireqfreq);
605 info->hi_hpet = hpetp->hp_which;
606 info->hi_timer = devp - hpetp->hp_dev;
643 devp->hd_ireqfreq = hpet_time_div(hpetp, arg);
714 struct hpets *hpetp;
716 for (hpetp = hpets; hpetp; hpetp = hpetp->hp_next)
717 if (hpetp->hp_hpet_phys == hdp->hd_phys_address)
743 static unsigned long __hpet_calibrate(struct hpets *hpetp)
751 for (j = 0, devp = hpetp->hp_dev; j < hpetp->hp_ntimer; j++, devp++)
760 hpet = hpetp->hp_hpet;
764 count = hpet_time_div(hpetp, TICK_CALIBRATE);
772 write_counter(t + m + hpetp->hp_delta, &timer->hpet_compare);
780 static unsigned long hpet_calibrate(struct hpets *hpetp)
791 tmp = __hpet_calibrate(hpetp);
805 struct hpets *hpetp;
823 hpetp = kzalloc(struct_size(hpetp, hp_dev, hdp->hd_nirqs),
826 if (!hpetp)
829 hpetp->hp_which = hpet_nhpet++;
830 hpetp->hp_hpet = hdp->hd_address;
831 hpetp->hp_hpet_phys = hdp->hd_phys_address;
833 hpetp->hp_ntimer = hdp->hd_nirqs;
836 hpetp->hp_dev[i].hd_hdwirq = hdp->hd_irq[i];
838 hpet = hpetp->hp_hpet;
844 if (hpetp->hp_ntimer != ntimer) {
847 kfree(hpetp);
852 last->hp_next = hpetp;
854 hpets = hpetp;
856 last = hpetp;
863 hpetp->hp_tick_freq = temp; /* ticks per second */
866 hpetp->hp_which, hdp->hd_phys_address,
867 hpetp->hp_ntimer > 1 ? "s" : "");
868 for (i = 0; i < hpetp->hp_ntimer; i++)
872 temp = hpetp->hp_tick_freq;
876 hpetp->hp_which, hpetp->hp_ntimer,
887 for (i = 0, devp = hpetp->hp_dev; i < hpetp->hp_ntimer; i++, devp++) {
890 timer = &hpet->hpet_timers[devp - hpetp->hp_dev];
892 devp->hd_hpets = hpetp;
908 hpetp->hp_delta = hpet_calibrate(hpetp);
913 hpet_mctr = (void __iomem *)&hpetp->hp_hpet->hpet_mc;
915 clocksource_register_hz(&clocksource_hpet, hpetp->hp_tick_freq);
916 hpetp->hp_clocksource = &clocksource_hpet;