Lines Matching refs:pdev
160 struct pci_dev *pdev = to_pci_dev(dev); in sb800_prefetch() local
162 pci_read_config_word(pdev, 0x50, &misc); in sb800_prefetch()
164 pci_write_config_word(pdev, 0x50, misc & 0xfcff); in sb800_prefetch()
166 pci_write_config_word(pdev, 0x50, misc | 0x0300); in sb800_prefetch()
250 int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev) in usb_hcd_amd_remote_wakeup_quirk() argument
257 dev_dbg(&pdev->dev, "QUIRK: Enable AMD remote wakeup fix\n"); in usb_hcd_amd_remote_wakeup_quirk()
457 void uhci_reset_hc(struct pci_dev *pdev, unsigned long base) in uhci_reset_hc() argument
462 pci_write_config_word(pdev, UHCI_USBLEGSUP, UHCI_USBLEGSUP_RWC); in uhci_reset_hc()
473 dev_warn(&pdev->dev, "HCRESET not completed yet!\n"); in uhci_reset_hc()
489 int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base) in uhci_check_and_reset_hc() argument
504 pci_read_config_word(pdev, UHCI_USBLEGSUP, &legsup); in uhci_check_and_reset_hc()
506 dev_dbg(&pdev->dev, "%s: legsup = 0x%04x\n", in uhci_check_and_reset_hc()
514 dev_dbg(&pdev->dev, "%s: cmd = 0x%04x\n", in uhci_check_and_reset_hc()
521 dev_dbg(&pdev->dev, "%s: intr = 0x%04x\n", in uhci_check_and_reset_hc()
528 dev_dbg(&pdev->dev, "Performing full reset\n"); in uhci_check_and_reset_hc()
529 uhci_reset_hc(pdev, base); in uhci_check_and_reset_hc()
534 static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) in io_type_enabled() argument
537 return !pci_read_config_word(pdev, PCI_COMMAND, &cmd) && (cmd & mask); in io_type_enabled()
543 static void quirk_usb_handoff_uhci(struct pci_dev *pdev) in quirk_usb_handoff_uhci() argument
548 if (!pio_enabled(pdev)) in quirk_usb_handoff_uhci()
552 if ((pci_resource_flags(pdev, i) & IORESOURCE_IO)) { in quirk_usb_handoff_uhci()
553 base = pci_resource_start(pdev, i); in quirk_usb_handoff_uhci()
558 uhci_check_and_reset_hc(pdev, base); in quirk_usb_handoff_uhci()
561 static int mmio_resource_enabled(struct pci_dev *pdev, int idx) in mmio_resource_enabled() argument
563 return pci_resource_start(pdev, idx) && mmio_enabled(pdev); in mmio_resource_enabled()
566 static void quirk_usb_handoff_ohci(struct pci_dev *pdev) in quirk_usb_handoff_ohci() argument
574 if (!mmio_resource_enabled(pdev, 0)) in quirk_usb_handoff_ohci()
577 base = pci_ioremap_bar(pdev, 0); in quirk_usb_handoff_ohci()
585 if (pdev->vendor == PCI_VENDOR_ID_AL && pdev->device == 0x5237) in quirk_usb_handoff_ohci()
606 dev_warn(&pdev->dev, in quirk_usb_handoff_ohci()
678 static void ehci_bios_handoff(struct pci_dev *pdev, in ehci_bios_handoff() argument
690 if (pdev->vendor == 0x8086 && (pdev->device == 0x283a || in ehci_bios_handoff()
691 pdev->device == 0x27cc)) { in ehci_bios_handoff()
697 dev_dbg(&pdev->dev, "EHCI: BIOS handoff\n"); in ehci_bios_handoff()
708 pci_read_config_dword(pdev, offset + EHCI_USBLEGCTLSTS, &val); in ehci_bios_handoff()
709 pci_write_config_dword(pdev, offset + EHCI_USBLEGCTLSTS, in ehci_bios_handoff()
717 pci_write_config_byte(pdev, offset + 3, 1); in ehci_bios_handoff()
727 pci_read_config_dword(pdev, offset, &cap); in ehci_bios_handoff()
736 dev_warn(&pdev->dev, in ehci_bios_handoff()
739 pci_write_config_byte(pdev, offset + 2, 0); in ehci_bios_handoff()
743 pci_write_config_dword(pdev, offset + EHCI_USBLEGCTLSTS, 0); in ehci_bios_handoff()
752 static void quirk_usb_disable_ehci(struct pci_dev *pdev) in quirk_usb_disable_ehci() argument
759 if (!mmio_resource_enabled(pdev, 0)) in quirk_usb_disable_ehci()
762 base = pci_ioremap_bar(pdev, 0); in quirk_usb_disable_ehci()
776 pci_read_config_dword(pdev, offset, &cap); in quirk_usb_disable_ehci()
780 ehci_bios_handoff(pdev, op_reg_base, cap, offset); in quirk_usb_disable_ehci()
785 dev_warn(&pdev->dev, in quirk_usb_disable_ehci()
792 dev_printk(KERN_DEBUG, &pdev->dev, "EHCI: capability loop?\n"); in quirk_usb_disable_ehci()
967 static void quirk_usb_handoff_xhci(struct pci_dev *pdev) in quirk_usb_handoff_xhci() argument
974 int len = pci_resource_len(pdev, 0); in quirk_usb_handoff_xhci()
976 if (!mmio_resource_enabled(pdev, 0)) in quirk_usb_handoff_xhci()
979 base = ioremap_nocache(pci_resource_start(pdev, 0), len); in quirk_usb_handoff_xhci()
991 dev_warn(&pdev->dev, in quirk_usb_handoff_xhci()
1016 dev_warn(&pdev->dev, in quirk_usb_handoff_xhci()
1032 if (pdev->vendor == PCI_VENDOR_ID_INTEL) in quirk_usb_handoff_xhci()
1033 usb_enable_intel_xhci_ports(pdev); in quirk_usb_handoff_xhci()
1045 dev_warn(&pdev->dev, in quirk_usb_handoff_xhci()
1060 dev_warn(&pdev->dev, in quirk_usb_handoff_xhci()
1068 static void quirk_usb_early_handoff(struct pci_dev *pdev) in quirk_usb_early_handoff() argument
1073 if (pdev->vendor == 0x184e) /* vendor Netlogic */ in quirk_usb_early_handoff()
1075 if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI && in quirk_usb_early_handoff()
1076 pdev->class != PCI_CLASS_SERIAL_USB_OHCI && in quirk_usb_early_handoff()
1077 pdev->class != PCI_CLASS_SERIAL_USB_EHCI && in quirk_usb_early_handoff()
1078 pdev->class != PCI_CLASS_SERIAL_USB_XHCI) in quirk_usb_early_handoff()
1081 if (pci_enable_device(pdev) < 0) { in quirk_usb_early_handoff()
1082 dev_warn(&pdev->dev, in quirk_usb_early_handoff()
1086 if (pdev->class == PCI_CLASS_SERIAL_USB_UHCI) in quirk_usb_early_handoff()
1087 quirk_usb_handoff_uhci(pdev); in quirk_usb_early_handoff()
1088 else if (pdev->class == PCI_CLASS_SERIAL_USB_OHCI) in quirk_usb_early_handoff()
1089 quirk_usb_handoff_ohci(pdev); in quirk_usb_early_handoff()
1090 else if (pdev->class == PCI_CLASS_SERIAL_USB_EHCI) in quirk_usb_early_handoff()
1091 quirk_usb_disable_ehci(pdev); in quirk_usb_early_handoff()
1092 else if (pdev->class == PCI_CLASS_SERIAL_USB_XHCI) in quirk_usb_early_handoff()
1093 quirk_usb_handoff_xhci(pdev); in quirk_usb_early_handoff()
1094 pci_disable_device(pdev); in quirk_usb_early_handoff()