Lines Matching refs:hdev
359 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_set_mode() local
360 hpet_setup_msi_irq(hdev->irq); in hpet_set_mode()
361 disable_irq(hdev->irq); in hpet_set_mode()
362 irq_set_affinity(hdev->irq, cpumask_of(hdev->cpu)); in hpet_set_mode()
363 enable_irq(hdev->irq); in hpet_set_mode()
429 struct hpet_dev *hdev = data->handler_data; in hpet_msi_unmask() local
433 cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); in hpet_msi_unmask()
435 hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); in hpet_msi_unmask()
440 struct hpet_dev *hdev = data->handler_data; in hpet_msi_mask() local
444 cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); in hpet_msi_mask()
446 hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); in hpet_msi_mask()
449 void hpet_msi_write(struct hpet_dev *hdev, struct msi_msg *msg) in hpet_msi_write() argument
451 hpet_writel(msg->data, HPET_Tn_ROUTE(hdev->num)); in hpet_msi_write()
452 hpet_writel(msg->address_lo, HPET_Tn_ROUTE(hdev->num) + 4); in hpet_msi_write()
455 void hpet_msi_read(struct hpet_dev *hdev, struct msi_msg *msg) in hpet_msi_read() argument
457 msg->data = hpet_readl(HPET_Tn_ROUTE(hdev->num)); in hpet_msi_read()
458 msg->address_lo = hpet_readl(HPET_Tn_ROUTE(hdev->num) + 4); in hpet_msi_read()
465 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_msi_set_mode() local
466 hpet_set_mode(mode, evt, hdev->num); in hpet_msi_set_mode()
472 struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt); in hpet_msi_next_event() local
473 return hpet_next_event(delta, evt, hdev->num); in hpet_msi_next_event()
535 static void init_one_hpet_msi_clockevent(struct hpet_dev *hdev, int cpu) in init_one_hpet_msi_clockevent() argument
537 struct clock_event_device *evt = &hdev->evt; in init_one_hpet_msi_clockevent()
540 if (!(hdev->flags & HPET_DEV_VALID)) in init_one_hpet_msi_clockevent()
543 if (hpet_setup_msi_irq(hdev->irq)) in init_one_hpet_msi_clockevent()
546 hdev->cpu = cpu; in init_one_hpet_msi_clockevent()
547 per_cpu(cpu_hpet_dev, cpu) = hdev; in init_one_hpet_msi_clockevent()
548 evt->name = hdev->name; in init_one_hpet_msi_clockevent()
549 hpet_setup_irq(hdev); in init_one_hpet_msi_clockevent()
550 evt->irq = hdev->irq; in init_one_hpet_msi_clockevent()
554 if (hdev->flags & HPET_DEV_PERI_CAP) in init_one_hpet_msi_clockevent()
559 evt->cpumask = cpumask_of(hdev->cpu); in init_one_hpet_msi_clockevent()
597 struct hpet_dev *hdev = &hpet_devs[num_timers_used]; in hpet_msi_capability_lookup() local
604 hdev->flags = 0; in hpet_msi_capability_lookup()
606 hdev->flags |= HPET_DEV_PERI_CAP; in hpet_msi_capability_lookup()
607 hdev->num = i; in hpet_msi_capability_lookup()
609 sprintf(hdev->name, "hpet%d", i); in hpet_msi_capability_lookup()
610 if (hpet_assign_irq(hdev)) in hpet_msi_capability_lookup()
613 hdev->flags |= HPET_DEV_FSB_CAP; in hpet_msi_capability_lookup()
614 hdev->flags |= HPET_DEV_VALID; in hpet_msi_capability_lookup()
633 struct hpet_dev *hdev = &hpet_devs[i]; in hpet_reserve_msi_timers() local
635 if (!(hdev->flags & HPET_DEV_VALID)) in hpet_reserve_msi_timers()
638 hd->hd_irq[hdev->num] = hdev->irq; in hpet_reserve_msi_timers()
639 hpet_reserve_timer(hd, hdev->num); in hpet_reserve_msi_timers()
652 struct hpet_dev *hdev = &hpet_devs[i]; in hpet_get_unused_timer() local
654 if (!(hdev->flags & HPET_DEV_VALID)) in hpet_get_unused_timer()
657 (unsigned long *)&hdev->flags)) in hpet_get_unused_timer()
659 return hdev; in hpet_get_unused_timer()
671 struct hpet_dev *hdev; in hpet_work() local
677 hdev = hpet_get_unused_timer(); in hpet_work()
678 if (hdev) in hpet_work()
679 init_one_hpet_msi_clockevent(hdev, cpu); in hpet_work()
689 struct hpet_dev *hdev = per_cpu(cpu_hpet_dev, cpu); in hpet_cpuhp_notify() local
701 if (hdev) { in hpet_cpuhp_notify()
702 free_irq(hdev->irq, hdev); in hpet_cpuhp_notify()
703 hdev->flags &= ~HPET_DEV_USED; in hpet_cpuhp_notify()