Merge branch 'pci/trivial'
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 12 Jul 2019 22:08:41 +0000 (17:08 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 12 Jul 2019 22:08:41 +0000 (17:08 -0500)
  - Fix typos and whitespace errors (Bjorn Helgaas)

* pci/trivial:
  PCI: Fix typos and whitespace errors

1  2 
drivers/pci/controller/dwc/pcie-armada8k.c
drivers/pci/p2pdma.c
drivers/pci/pci.c
include/linux/pci.h
include/linux/pci_ids.h

  
  #include "pcie-designware.h"
  
 +#define ARMADA8K_PCIE_MAX_LANES PCIE_LNK_X4
 +
  struct armada8k_pcie {
        struct dw_pcie *pci;
        struct clk *clk;
        struct clk *clk_reg;
 +      struct phy *phy[ARMADA8K_PCIE_MAX_LANES];
 +      unsigned int phy_count;
  };
  
  #define PCIE_VENDOR_REGS_OFFSET               0x8000
@@@ -59,7 -55,7 +59,7 @@@
  #define PCIE_ARUSER_REG                       (PCIE_VENDOR_REGS_OFFSET + 0x5C)
  #define PCIE_AWUSER_REG                       (PCIE_VENDOR_REGS_OFFSET + 0x60)
  /*
-  * AR/AW Cache defauls: Normal memory, Write-Back, Read / Write
+  * AR/AW Cache defaults: Normal memory, Write-Back, Read / Write
   * allocate
   */
  #define ARCACHE_DEFAULT_VALUE         0x3511
  
  #define to_armada8k_pcie(x)   dev_get_drvdata((x)->dev)
  
 +static void armada8k_pcie_disable_phys(struct armada8k_pcie *pcie)
 +{
 +      int i;
 +
 +      for (i = 0; i < ARMADA8K_PCIE_MAX_LANES; i++) {
 +              phy_power_off(pcie->phy[i]);
 +              phy_exit(pcie->phy[i]);
 +      }
 +}
 +
 +static int armada8k_pcie_enable_phys(struct armada8k_pcie *pcie)
 +{
 +      int ret;
 +      int i;
 +
 +      for (i = 0; i < ARMADA8K_PCIE_MAX_LANES; i++) {
 +              ret = phy_init(pcie->phy[i]);
 +              if (ret)
 +                      return ret;
 +
 +              ret = phy_set_mode_ext(pcie->phy[i], PHY_MODE_PCIE,
 +                                     pcie->phy_count);
 +              if (ret) {
 +                      phy_exit(pcie->phy[i]);
 +                      return ret;
 +              }
 +
 +              ret = phy_power_on(pcie->phy[i]);
 +              if (ret) {
 +                      phy_exit(pcie->phy[i]);
 +                      return ret;
 +              }
 +      }
 +
 +      return 0;
 +}
 +
 +static int armada8k_pcie_setup_phys(struct armada8k_pcie *pcie)
 +{
 +      struct dw_pcie *pci = pcie->pci;
 +      struct device *dev = pci->dev;
 +      struct device_node *node = dev->of_node;
 +      int ret = 0;
 +      int i;
 +
 +      for (i = 0; i < ARMADA8K_PCIE_MAX_LANES; i++) {
 +              pcie->phy[i] = devm_of_phy_get_by_index(dev, node, i);
 +              if (IS_ERR(pcie->phy[i]) &&
 +                  (PTR_ERR(pcie->phy[i]) == -EPROBE_DEFER))
 +                      return PTR_ERR(pcie->phy[i]);
 +
 +              if (IS_ERR(pcie->phy[i])) {
 +                      pcie->phy[i] = NULL;
 +                      continue;
 +              }
 +
 +              pcie->phy_count++;
 +      }
 +
 +      /* Old bindings miss the PHY handle, so just warn if there is no PHY */
 +      if (!pcie->phy_count)
 +              dev_warn(dev, "No available PHY\n");
 +
 +      ret = armada8k_pcie_enable_phys(pcie);
 +      if (ret)
 +              dev_err(dev, "Failed to initialize PHY(s) (%d)\n", ret);
 +
 +      return ret;
 +}
 +
  static int armada8k_pcie_link_up(struct dw_pcie *pci)
  {
        u32 reg;
@@@ -323,20 -249,14 +323,20 @@@ static int armada8k_pcie_probe(struct p
                goto fail_clkreg;
        }
  
 +      ret = armada8k_pcie_setup_phys(pcie);
 +      if (ret)
 +              goto fail_clkreg;
 +
        platform_set_drvdata(pdev, pcie);
  
        ret = armada8k_add_pcie_port(pcie, pdev);
        if (ret)
 -              goto fail_clkreg;
 +              goto disable_phy;
  
        return 0;
  
 +disable_phy:
 +      armada8k_pcie_disable_phys(pcie);
  fail_clkreg:
        clk_disable_unprepare(pcie->clk_reg);
  fail:
diff --combined drivers/pci/p2pdma.c
@@@ -223,7 -223,7 +223,7 @@@ EXPORT_SYMBOL_GPL(pci_p2pdma_add_resour
  
  /*
   * Note this function returns the parent PCI device with a
-  * reference taken. It is the caller's responsibily to drop
+  * reference taken. It is the caller's responsibility to drop
   * the reference.
   */
  static struct pci_dev *find_parent_pci_dev(struct device *dev)
@@@ -380,7 -380,7 +380,7 @@@ static int upstream_bridge_distance(str
  
        /*
         * Allow the connection if both devices are on a whitelisted root
-        * complex, but add an arbitary large value to the distance.
+        * complex, but add an arbitrary large value to the distance.
         */
        if (root_complex_whitelist(provider) &&
            root_complex_whitelist(client))
@@@ -439,7 -439,7 +439,7 @@@ static int upstream_bridge_distance_war
  }
  
  /**
-  * pci_p2pdma_distance_many - Determive the cumulative distance between
+  * pci_p2pdma_distance_many - Determine the cumulative distance between
   *    a p2pdma provider and the clients in use.
   * @provider: p2pdma provider to check against the client list
   * @clients: array of devices to check (NULL-terminated)
@@@ -468,14 -468,6 +468,14 @@@ int pci_p2pdma_distance_many(struct pci
                return -1;
  
        for (i = 0; i < num_clients; i++) {
 +              if (IS_ENABLED(CONFIG_DMA_VIRT_OPS) &&
 +                  clients[i]->dma_ops == &dma_virt_ops) {
 +                      if (verbose)
 +                              dev_warn(clients[i],
 +                                       "cannot be used for peer-to-peer DMA because the driver makes use of dma_virt_ops\n");
 +                      return -1;
 +              }
 +
                pci_client = find_parent_pci_dev(clients[i]);
                if (!pci_client) {
                        if (verbose)
@@@ -740,7 -732,7 +740,7 @@@ int pci_p2pdma_map_sg(struct device *de
         * p2pdma mappings are not compatible with devices that use
         * dma_virt_ops. If the upper layers do the right thing
         * this should never happen because it will be prevented
 -       * by the check in pci_p2pdma_add_client()
 +       * by the check in pci_p2pdma_distance_many()
         */
        if (WARN_ON_ONCE(IS_ENABLED(CONFIG_DMA_VIRT_OPS) &&
                         dev->dma_ops == &dma_virt_ops))
diff --combined drivers/pci/pci.c
@@@ -4501,7 -4501,7 +4501,7 @@@ static int pci_af_flr(struct pci_dev *d
  
        /*
         * Wait for Transaction Pending bit to clear.  A word-aligned test
-        * is used, so we use the conrol offset rather than status and shift
+        * is used, so we use the control offset rather than status and shift
         * the test bit to match.
         */
        if (!pci_wait_for_pending(dev, pos + PCI_AF_CTRL,
@@@ -5621,9 -5621,7 +5621,9 @@@ enum pci_bus_speed pcie_get_speed_cap(s
         */
        pcie_capability_read_dword(dev, PCI_EXP_LNKCAP2, &lnkcap2);
        if (lnkcap2) { /* PCIe r3.0-compliant */
 -              if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_16_0GB)
 +              if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_32_0GB)
 +                      return PCIE_SPEED_32_0GT;
 +              else if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_16_0GB)
                        return PCIE_SPEED_16_0GT;
                else if (lnkcap2 & PCI_EXP_LNKCAP2_SLS_8_0GB)
                        return PCIE_SPEED_8_0GT;
diff --combined include/linux/pci.h
@@@ -151,8 -151,6 +151,8 @@@ static inline const char *pci_power_nam
  #define PCI_PM_BUS_WAIT               50
  
  /**
 + * typedef pci_channel_state_t
 + *
   * The pci_channel state describes connectivity between the CPU and
   * the PCI device.  If some PCI bus between here and the PCI device
   * has crashed or locked up, this info is reflected here.
@@@ -260,7 -258,6 +260,7 @@@ enum pci_bus_speed 
        PCIE_SPEED_5_0GT                = 0x15,
        PCIE_SPEED_8_0GT                = 0x16,
        PCIE_SPEED_16_0GT               = 0x17,
 +      PCIE_SPEED_32_0GT               = 0x18,
        PCI_SPEED_UNKNOWN               = 0xff,
  };
  
@@@ -385,7 -382,7 +385,7 @@@ struct pci_dev 
  
        unsigned int    is_busmaster:1;         /* Is busmaster */
        unsigned int    no_msi:1;               /* May not use MSI */
-       unsigned int    no_64bit_msi:1;         /* May only use 32-bit MSIs */
+       unsigned int    no_64bit_msi:1;         /* May only use 32-bit MSIs */
        unsigned int    block_cfg_access:1;     /* Config space access blocked */
        unsigned int    broken_parity_status:1; /* Generates false positive parity */
        unsigned int    irq_reroute_variant:2;  /* Needs IRQ rerouting variant */
@@@ -508,8 -505,6 +508,8 @@@ struct pci_host_bridge 
        unsigned int    native_shpc_hotplug:1;  /* OS may use SHPC hotplug */
        unsigned int    native_pme:1;           /* OS may use PCIe PME */
        unsigned int    native_ltr:1;           /* OS may use PCIe LTR */
 +      unsigned int    preserve_config:1;      /* Preserve FW resource setup */
 +
        /* Resource alignment requirements */
        resource_size_t (*align_resource)(struct pci_dev *dev,
                        const struct resource *res,
@@@ -780,50 -775,6 +780,50 @@@ struct pci_error_handlers 
  
  
  struct module;
 +
 +/**
 + * struct pci_driver - PCI driver structure
 + * @node:     List of driver structures.
 + * @name:     Driver name.
 + * @id_table: Pointer to table of device IDs the driver is
 + *            interested in.  Most drivers should export this
 + *            table using MODULE_DEVICE_TABLE(pci,...).
 + * @probe:    This probing function gets called (during execution
 + *            of pci_register_driver() for already existing
 + *            devices or later if a new device gets inserted) for
 + *            all PCI devices which match the ID table and are not
 + *            "owned" by the other drivers yet. This function gets
 + *            passed a "struct pci_dev \*" for each device whose
 + *            entry in the ID table matches the device. The probe
 + *            function returns zero when the driver chooses to
 + *            take "ownership" of the device or an error code
 + *            (negative number) otherwise.
 + *            The probe function always gets called from process
 + *            context, so it can sleep.
 + * @remove:   The remove() function gets called whenever a device
 + *            being handled by this driver is removed (either during
 + *            deregistration of the driver or when it's manually
 + *            pulled out of a hot-pluggable slot).
 + *            The remove function always gets called from process
 + *            context, so it can sleep.
 + * @suspend:  Put device into low power state.
 + * @suspend_late: Put device into low power state.
 + * @resume_early: Wake device from low power state.
 + * @resume:   Wake device from low power state.
 + *            (Please see Documentation/power/pci.rst for descriptions
 + *            of PCI Power Management and the related functions.)
 + * @shutdown: Hook into reboot_notifier_list (kernel/sys.c).
 + *            Intended to stop any idling DMA operations.
 + *            Useful for enabling wake-on-lan (NIC) or changing
 + *            the power state of a device before reboot.
 + *            e.g. drivers/net/e100.c.
 + * @sriov_configure: Optional driver callback to allow configuration of
 + *            number of VFs to enable via sysfs "sriov_numvfs" file.
 + * @err_handler: See Documentation/PCI/pci-error-recovery.rst
 + * @groups:   Sysfs attribute groups.
 + * @driver:   Driver model structure.
 + * @dynids:   List of dynamically added device IDs.
 + */
  struct pci_driver {
        struct list_head        node;
        const char              *name;
@@@ -2255,7 -2206,7 +2255,7 @@@ static inline u8 pci_vpd_srdt_tag(cons
  
  /**
   * pci_vpd_info_field_size - Extracts the information field length
 - * @lrdt: Pointer to the beginning of an information field header
 + * @info_field: Pointer to the beginning of an information field header
   *
   * Returns the extracted information field length.
   */
diff --combined include/linux/pci_ids.h
  
  #define PCI_VENDOR_ID_AL              0x10b9
  #define PCI_DEVICE_ID_AL_M1533                0x1533
- #define PCI_DEVICE_ID_AL_M1535                0x1535
+ #define PCI_DEVICE_ID_AL_M1535                0x1535
  #define PCI_DEVICE_ID_AL_M1541                0x1541
  #define PCI_DEVICE_ID_AL_M1563                0x1563
  #define PCI_DEVICE_ID_AL_M1621                0x1621
  #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP78S_SMBUS    0x0752
  #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE       0x0759
  #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_SMBUS     0x07D8
 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE_320M           0x08A0
  #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS     0x0AA2
  #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA            0x0D85
  
  #define PCI_VENDOR_ID_STALLION                0x124d
  
  /* Allied Telesyn */
- #define PCI_VENDOR_ID_AT              0x1259
+ #define PCI_VENDOR_ID_AT              0x1259
  #define PCI_SUBDEVICE_ID_AT_2700FX    0x2701
  #define PCI_SUBDEVICE_ID_AT_2701FX    0x2703
  
  #define PCI_DEVICE_ID_KORENIX_JETCARDF2       0x1700
  #define PCI_DEVICE_ID_KORENIX_JETCARDF3       0x17ff
  
- #define PCI_VENDOR_ID_HUAWEI          0x19e5
+ #define PCI_VENDOR_ID_HUAWEI          0x19e5
  
  #define PCI_VENDOR_ID_NETRONOME               0x19ee
  #define PCI_DEVICE_ID_NETRONOME_NFP4000       0x4000