Lines Matching defs:pci_dev
330 struct pci_dev { struct
353 struct pci_dev *rcec; /* Associated RCEC device */ argument
355 u32 devcap; /* PCIe Device Capabilities */
356 u8 pcie_cap; /* PCIe capability offset */
357 u8 msi_cap; /* MSI capability offset */
358 u8 msix_cap; /* MSI-X capability offset */
359 u8 pcie_mpss:3; /* PCIe Max Payload Size Supported */
360 u8 rom_base_reg; /* Config register controlling ROM */
361 u8 pin; /* Interrupt pin this device uses */
362 u16 pcie_flags_reg; /* Cached PCIe Capabilities Register */
363 unsigned long *dma_alias_mask;/* Mask of enabled devfn aliases */
365 struct pci_driver *driver; /* Driver bound to this device */
366 u64 dma_mask; /* Mask of the bits of bus address this
372 struct device_dma_parameters dma_parms;
374 pci_power_t current_state; /* Current operating state. In ACPI,
377 u8 pm_cap; /* PM capability offset */
378 unsigned int pme_support:5; /* Bitmask of states from which PME#
380 unsigned int pme_poll:1; /* Poll device's PME status bit */
381 unsigned int pinned:1; /* Whether this dev is pinned */
382 unsigned int config_rrs_sv:1; /* Config RRS software visibility */
383 unsigned int imm_ready:1; /* Supports Immediate Readiness */
384 unsigned int d1_support:1; /* Low power state D1 is supported */
385 unsigned int d2_support:1; /* Low power state D2 is supported */
386 unsigned int no_d1d2:1; /* D1 and D2 are forbidden */
387 unsigned int no_d3cold:1; /* D3cold is forbidden */
388 unsigned int bridge_d3:1; /* Allow D3 for bridge */
389 unsigned int d3cold_allowed:1; /* D3cold is allowed by user */
390 unsigned int mmio_always_on:1; /* Disallow turning off io/mem
392 unsigned int wakeup_prepared:1;
393 unsigned int skip_bus_pm:1; /* Internal: Skip bus-level PM */
394 unsigned int ignore_hotplug:1; /* Ignore hotplug events */
395 unsigned int hotplug_user_indicators:1; /* SlotCtl indicators
398 unsigned int clear_retrain_link:1; /* Need to clear Retrain Link
400 unsigned int d3hot_delay; /* D3hot->D0 transition time in ms */
401 unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */
403 u16 l1ss; /* L1SS Capability pointer */
405 struct pcie_link_state *link_state; /* ASPM link state */
406 unsigned int ltr_path:1; /* Latency Tolerance Reporting
409 unsigned int pasid_no_tlp:1; /* PASID works without TLP Prefix */
410 unsigned int eetlp_prefix_max:3; /* Max # of End-End TLP Prefixes, 0=not supported */
412 pci_channel_state_t error_state; /* Current connectivity state */
413 struct device dev; /* Generic device interface */
415 int cfg_size; /* Size of config space */
421 unsigned int irq;
422 struct resource resource[DEVICE_COUNT_RESOURCE]; /* I/O and memory regions + expansion ROMs */
423 struct resource driver_exclusive_resource; /* driver exclusive resource ranges */
425 bool match_driver; /* Skip attaching driver */
427 unsigned int transparent:1; /* Subtractive decode bridge */
428 unsigned int io_window:1; /* Bridge has I/O window */
429 unsigned int pref_window:1; /* Bridge has pref mem window */
430 unsigned int pref_64_window:1; /* Pref mem window is 64-bit */
431 unsigned int multifunction:1; /* Multi-function device */
433 unsigned int is_busmaster:1; /* Is busmaster */
434 unsigned int no_msi:1; /* May not use MSI */
435 unsigned int no_64bit_msi:1; /* May only use 32-bit MSIs */
436 unsigned int block_cfg_access:1; /* Config space access blocked */
437 unsigned int broken_parity_status:1; /* Generates false positive parity */
438 unsigned int irq_reroute_variant:2; /* Needs IRQ rerouting variant */
439 unsigned int msi_enabled:1;
440 unsigned int msix_enabled:1;
441 unsigned int ari_enabled:1; /* ARI forwarding */
442 unsigned int ats_enabled:1; /* Address Translation Svc */
443 unsigned int pasid_enabled:1; /* Process Address Space ID */
444 unsigned int pri_enabled:1; /* Page Request Interface */
445 unsigned int tph_enabled:1; /* TLP Processing Hints */
446 unsigned int is_managed:1; /* Managed via devres */
447 unsigned int is_msi_managed:1; /* MSI release via devres installed */
448 unsigned int needs_freset:1; /* Requires fundamental reset */
449 unsigned int state_saved:1;
450 unsigned int is_physfn:1;
451 unsigned int is_virtfn:1;
452 unsigned int is_hotplug_bridge:1;
453 unsigned int shpc_managed:1; /* SHPC owned by shpchp */
454 unsigned int is_thunderbolt:1; /* Thunderbolt controller */
479 pci_dev_flags_t dev_flags; argument
480 atomic_t enable_cnt; /* pci_enable_device has been called */
482 spinlock_t pcie_cap_lock; /* Protects RMW ops in capability accessors */
483 u32 saved_config_space[16]; /* Config space saved at suspend time */
484 struct hlist_head saved_cap_space;
485 struct bin_attribute *res_attr[DEVICE_COUNT_RESOURCE]; /* sysfs file for resources */
486 …uct bin_attribute *res_attr_wc[DEVICE_COUNT_RESOURCE]; /* sysfs file for WC mapping of resources */
511 struct pci_dev *physfn; /* VF: related PF */ argument
513 u16 ats_cap; /* ATS Capability offset */
514 u8 ats_stu; /* ATS Smallest Translation Unit */
517 u16 pri_cap; /* PRI Capability offset */
518 u32 pri_reqs_alloc; /* Number of PRI requests allocated */
519 unsigned int pasid_required:1; /* PRG Response PASID Required */
522 u16 pasid_cap; /* PASID Capability offset */
523 u16 pasid_features;
526 struct pci_p2pdma __rcu *p2pdma;
529 struct xarray doe_mbs; /* Data Object Exchange mailboxes */
532 struct npem *npem; /* Native PCIe Enclosure Management */
556 static inline struct pci_dev *pci_physfn(struct pci_dev *dev) in pci_physfn() argument
758 static inline bool pci_dev_msi_enabled(struct pci_dev *pci_dev) in pci_dev_msi_enabled()
763 static inline bool pci_dev_msi_enabled(struct pci_dev *pci_dev) { return false; } in pci_dev_msi_enabled()