Lines Matching refs:hpetp
161 struct hpets *hpetp = devp->hd_hpets;
182 k = (mc - base + hpetp->hp_delta) / t;
260 struct hpets *hpetp;
269 for (devp = NULL, hpetp = hpets; hpetp && !devp; hpetp = hpetp->hp_next)
270 for (i = 0; i < hpetp->hp_ntimer; i++)
271 if (hpetp->hp_dev[i].hd_flags & HPET_OPEN)
274 devp = &hpetp->hp_dev[i];
457 struct hpets *hpetp;
464 hpetp = devp->hd_hpets;
502 sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev));
541 write_counter(t + m + hpetp->hp_delta, &timer->hpet_compare);
550 write_counter(t + m + hpetp->hp_delta, &timer->hpet_compare);
578 struct hpets *hpetp;
589 hpetp = devp->hd_hpets;
617 hpet_time_div(hpetp, devp->hd_ireqfreq);
620 info->hi_hpet = hpetp->hp_which;
621 info->hi_timer = devp - hpetp->hp_dev;
658 devp->hd_ireqfreq = hpet_time_div(hpetp, arg);
729 struct hpets *hpetp;
731 for (hpetp = hpets; hpetp; hpetp = hpetp->hp_next)
732 if (hpetp->hp_hpet_phys == hdp->hd_phys_address)
778 static unsigned long __hpet_calibrate(struct hpets *hpetp)
786 for (j = 0, devp = hpetp->hp_dev; j < hpetp->hp_ntimer; j++, devp++)
795 hpet = hpetp->hp_hpet;
799 count = hpet_time_div(hpetp, TICK_CALIBRATE);
807 write_counter(t + m + hpetp->hp_delta, &timer->hpet_compare);
815 static unsigned long hpet_calibrate(struct hpets *hpetp)
826 tmp = __hpet_calibrate(hpetp);
840 struct hpets *hpetp;
858 hpetp = kzalloc(struct_size(hpetp, hp_dev, hdp->hd_nirqs),
861 if (!hpetp)
864 hpetp->hp_which = hpet_nhpet++;
865 hpetp->hp_hpet = hdp->hd_address;
866 hpetp->hp_hpet_phys = hdp->hd_phys_address;
868 hpetp->hp_ntimer = hdp->hd_nirqs;
871 hpetp->hp_dev[i].hd_hdwirq = hdp->hd_irq[i];
873 hpet = hpetp->hp_hpet;
879 if (hpetp->hp_ntimer != ntimer) {
882 kfree(hpetp);
887 last->hp_next = hpetp;
889 hpets = hpetp;
891 last = hpetp;
898 hpetp->hp_tick_freq = temp; /* ticks per second */
901 hpetp->hp_which, hdp->hd_phys_address,
902 hpetp->hp_ntimer > 1 ? "s" : "");
903 for (i = 0; i < hpetp->hp_ntimer; i++)
907 temp = hpetp->hp_tick_freq;
911 hpetp->hp_which, hpetp->hp_ntimer,
922 for (i = 0, devp = hpetp->hp_dev; i < hpetp->hp_ntimer; i++, devp++) {
925 timer = &hpet->hpet_timers[devp - hpetp->hp_dev];
927 devp->hd_hpets = hpetp;
943 hpetp->hp_delta = hpet_calibrate(hpetp);
948 hpet_mctr = (void __iomem *)&hpetp->hp_hpet->hpet_mc;
950 clocksource_register_hz(&clocksource_hpet, hpetp->hp_tick_freq);
951 hpetp->hp_clocksource = &clocksource_hpet;