Lines Matching refs:hdev
352 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_resume() local
354 irq_domain_activate_irq(irq_get_irq_data(hdev->irq)); in hpet_resume()
355 disable_irq(hdev->irq); in hpet_resume()
356 irq_set_affinity(hdev->irq, cpumask_of(hdev->cpu)); in hpet_resume()
357 enable_irq(hdev->irq); in hpet_resume()
454 struct hpet_dev *hdev = irq_data_get_irq_handler_data(data); in hpet_msi_unmask() local
458 cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); in hpet_msi_unmask()
460 hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); in hpet_msi_unmask()
465 struct hpet_dev *hdev = irq_data_get_irq_handler_data(data); in hpet_msi_mask() local
469 cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); in hpet_msi_mask()
471 hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); in hpet_msi_mask()
474 void hpet_msi_write(struct hpet_dev *hdev, struct msi_msg *msg) in hpet_msi_write() argument
476 hpet_writel(msg->data, HPET_Tn_ROUTE(hdev->num)); in hpet_msi_write()
477 hpet_writel(msg->address_lo, HPET_Tn_ROUTE(hdev->num) + 4); in hpet_msi_write()
480 void hpet_msi_read(struct hpet_dev *hdev, struct msi_msg *msg) in hpet_msi_read() argument
482 msg->data = hpet_readl(HPET_Tn_ROUTE(hdev->num)); in hpet_msi_read()
483 msg->address_lo = hpet_readl(HPET_Tn_ROUTE(hdev->num) + 4); in hpet_msi_read()
489 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_msi_shutdown() local
491 return hpet_shutdown(evt, hdev->num); in hpet_msi_shutdown()
496 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_msi_set_oneshot() local
498 return hpet_set_oneshot(evt, hdev->num); in hpet_msi_set_oneshot()
503 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_msi_set_periodic() local
505 return hpet_set_periodic(evt, hdev->num); in hpet_msi_set_periodic()
510 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_msi_resume() local
512 return hpet_resume(evt, hdev->num); in hpet_msi_resume()
518 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_msi_next_event() local
519 return hpet_next_event(delta, evt, hdev->num); in hpet_msi_next_event()
556 static void init_one_hpet_msi_clockevent(struct hpet_dev *hdev, int cpu) in init_one_hpet_msi_clockevent() argument
558 struct clock_event_device *evt = &hdev->evt; in init_one_hpet_msi_clockevent()
561 if (!(hdev->flags & HPET_DEV_VALID)) in init_one_hpet_msi_clockevent()
564 hdev->cpu = cpu; in init_one_hpet_msi_clockevent()
565 per_cpu(cpu_hpet_dev, cpu) = hdev; in init_one_hpet_msi_clockevent()
566 evt->name = hdev->name; in init_one_hpet_msi_clockevent()
567 hpet_setup_irq(hdev); in init_one_hpet_msi_clockevent()
568 evt->irq = hdev->irq; in init_one_hpet_msi_clockevent()
572 if (hdev->flags & HPET_DEV_PERI_CAP) { in init_one_hpet_msi_clockevent()
581 evt->cpumask = cpumask_of(hdev->cpu); in init_one_hpet_msi_clockevent()
623 struct hpet_dev *hdev = &hpet_devs[num_timers_used]; in hpet_msi_capability_lookup() local
630 hdev->flags = 0; in hpet_msi_capability_lookup()
632 hdev->flags |= HPET_DEV_PERI_CAP; in hpet_msi_capability_lookup()
633 sprintf(hdev->name, "hpet%d", i); in hpet_msi_capability_lookup()
634 hdev->num = i; in hpet_msi_capability_lookup()
636 irq = hpet_assign_irq(hpet_domain, hdev, hdev->num); in hpet_msi_capability_lookup()
640 hdev->irq = irq; in hpet_msi_capability_lookup()
641 hdev->flags |= HPET_DEV_FSB_CAP; in hpet_msi_capability_lookup()
642 hdev->flags |= HPET_DEV_VALID; in hpet_msi_capability_lookup()
661 struct hpet_dev *hdev = &hpet_devs[i]; in hpet_reserve_msi_timers() local
663 if (!(hdev->flags & HPET_DEV_VALID)) in hpet_reserve_msi_timers()
666 hd->hd_irq[hdev->num] = hdev->irq; in hpet_reserve_msi_timers()
667 hpet_reserve_timer(hd, hdev->num); in hpet_reserve_msi_timers()
680 struct hpet_dev *hdev = &hpet_devs[i]; in hpet_get_unused_timer() local
682 if (!(hdev->flags & HPET_DEV_VALID)) in hpet_get_unused_timer()
685 (unsigned long *)&hdev->flags)) in hpet_get_unused_timer()
687 return hdev; in hpet_get_unused_timer()
699 struct hpet_dev *hdev; in hpet_work() local
705 hdev = hpet_get_unused_timer(); in hpet_work()
706 if (hdev) in hpet_work()
707 init_one_hpet_msi_clockevent(hdev, cpu); in hpet_work()
717 struct hpet_dev *hdev = per_cpu(cpu_hpet_dev, cpu); in hpet_cpuhp_notify() local
729 if (hdev) { in hpet_cpuhp_notify()
730 free_irq(hdev->irq, hdev); in hpet_cpuhp_notify()
731 hdev->flags &= ~HPET_DEV_USED; in hpet_cpuhp_notify()