Lines Matching refs:uhci
27 static void uhci_pci_reset_hc(struct uhci_hcd *uhci) in uhci_pci_reset_hc() argument
29 uhci_reset_hc(to_pci_dev(uhci_dev(uhci)), uhci->io_addr); in uhci_pci_reset_hc()
38 static int uhci_pci_check_and_reset_hc(struct uhci_hcd *uhci) in uhci_pci_check_and_reset_hc() argument
40 return uhci_check_and_reset_hc(to_pci_dev(uhci_dev(uhci)), in uhci_pci_check_and_reset_hc()
41 uhci->io_addr); in uhci_pci_check_and_reset_hc()
48 static void uhci_pci_configure_hc(struct uhci_hcd *uhci) in uhci_pci_configure_hc() argument
50 struct pci_dev *pdev = to_pci_dev(uhci_dev(uhci)); in uhci_pci_configure_hc()
60 static int uhci_pci_resume_detect_interrupts_are_broken(struct uhci_hcd *uhci) in uhci_pci_resume_detect_interrupts_are_broken() argument
64 switch (to_pci_dev(uhci_dev(uhci))->vendor) { in uhci_pci_resume_detect_interrupts_are_broken()
82 for (port = 0; port < uhci->rh_numports; ++port) { in uhci_pci_resume_detect_interrupts_are_broken()
83 if (inw(uhci->io_addr + USBPORTSC1 + port * 2) & in uhci_pci_resume_detect_interrupts_are_broken()
92 static int uhci_pci_global_suspend_mode_is_broken(struct uhci_hcd *uhci) in uhci_pci_global_suspend_mode_is_broken() argument
104 for (port = 0; port < uhci->rh_numports; ++port) { in uhci_pci_global_suspend_mode_is_broken()
105 if (inw(uhci->io_addr + USBPORTSC1 + port * 2) & in uhci_pci_global_suspend_mode_is_broken()
116 struct uhci_hcd *uhci = hcd_to_uhci(hcd); in uhci_pci_init() local
118 uhci->io_addr = (unsigned long) hcd->rsrc_start; in uhci_pci_init()
120 uhci->rh_numports = uhci_count_ports(hcd); in uhci_pci_init()
127 if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_VIA || in uhci_pci_init()
128 to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_ZHAOXIN) in uhci_pci_init()
129 uhci->oc_low = 1; in uhci_pci_init()
132 if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_HP) in uhci_pci_init()
133 uhci->wait_for_hp = 1; in uhci_pci_init()
136 if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_INTEL) in uhci_pci_init()
137 device_set_wakeup_capable(uhci_dev(uhci), true); in uhci_pci_init()
140 uhci->reset_hc = uhci_pci_reset_hc; in uhci_pci_init()
141 uhci->check_and_reset_hc = uhci_pci_check_and_reset_hc; in uhci_pci_init()
142 uhci->configure_hc = uhci_pci_configure_hc; in uhci_pci_init()
143 uhci->resume_detect_interrupts_are_broken = in uhci_pci_init()
145 uhci->global_suspend_mode_is_broken = in uhci_pci_init()
152 check_and_reset_hc(uhci); in uhci_pci_init()
176 struct uhci_hcd *uhci = hcd_to_uhci(hcd); in uhci_pci_suspend() local
177 struct pci_dev *pdev = to_pci_dev(uhci_dev(uhci)); in uhci_pci_suspend()
180 dev_dbg(uhci_dev(uhci), "%s\n", __func__); in uhci_pci_suspend()
182 spin_lock_irq(&uhci->lock); in uhci_pci_suspend()
183 if (!HCD_HW_ACCESSIBLE(hcd) || uhci->dead) in uhci_pci_suspend()
201 spin_unlock_irq(&uhci->lock); in uhci_pci_suspend()
215 struct uhci_hcd *uhci = hcd_to_uhci(hcd); in uhci_pci_resume() local
217 dev_dbg(uhci_dev(uhci), "%s\n", __func__); in uhci_pci_resume()
224 spin_lock_irq(&uhci->lock); in uhci_pci_resume()
228 uhci->reset_hc(uhci); in uhci_pci_resume()
229 finish_reset(uhci); in uhci_pci_resume()
236 check_and_reset_hc(uhci); in uhci_pci_resume()
238 configure_hc(uhci); in uhci_pci_resume()
241 if (uhci->rh_state == UHCI_RH_RESET) in uhci_pci_resume()
244 spin_unlock_irq(&uhci->lock); in uhci_pci_resume()
249 if (!uhci->RD_enable && hcd->self.root_hub->do_remote_wakeup) in uhci_pci_resume()