Re: linux-next: manual merge of the net-next tree with the pci tree

2018-04-04 Thread Stephen Rothwell
Hi all,

On Tue, 3 Apr 2018 13:14:54 +1000 Stephen Rothwell  
wrote:
>
> Today's linux-next merge of the net-next tree got a conflict in:
> 
>   drivers/net/ethernet/mellanox/mlx5/core/en_main.c
> 
> between commit:
> 
>   2907938d2375 ("net/mlx5e: Use pcie_bandwidth_available() to compute 
> bandwidth")
> 
> from the pci tree and commit:
> 
>   0608d4dbaf4e ("net/mlx5e: Unify slow PCI heuristic")
> 
> from the net-next tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/net/ethernet/mellanox/mlx5/core/en_main.c
> index 884337f88589,0aab3afc6885..
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
> @@@ -3880,16 -4026,50 +4033,20 @@@ void mlx5e_build_default_indir_rqt(u32 
>   indirection_rqt[i] = i % num_channels;
>   }
>   
> - static bool cqe_compress_heuristic(u32 link_speed, u32 pci_bw)
>  -static int mlx5e_get_pci_bw(struct mlx5_core_dev *mdev, u32 *pci_bw)
>  -{
>  -enum pcie_link_width width;
>  -enum pci_bus_speed speed;
>  -int err = 0;
>  -
>  -err = pcie_get_minimum_link(mdev->pdev, , );
>  -if (err)
>  -return err;
>  -
>  -if (speed == PCI_SPEED_UNKNOWN || width == PCIE_LNK_WIDTH_UNKNOWN)
>  -return -EINVAL;
>  -
>  -switch (speed) {
>  -case PCIE_SPEED_2_5GT:
>  -*pci_bw = 2500 * width;
>  -break;
>  -case PCIE_SPEED_5_0GT:
>  -*pci_bw = 5000 * width;
>  -break;
>  -case PCIE_SPEED_8_0GT:
>  -*pci_bw = 8000 * width;
>  -break;
>  -default:
>  -return -EINVAL;
>  -}
>  -
>  -return 0;
>  -}
>  -
> + static bool slow_pci_heuristic(struct mlx5_core_dev *mdev)
>   {
> - return (link_speed && pci_bw &&
> - (pci_bw < 4) && (pci_bw < link_speed));
> - }
> + u32 link_speed = 0;
> + u32 pci_bw = 0;
>   
> - static bool hw_lro_heuristic(u32 link_speed, u32 pci_bw)
> - {
> - return !(link_speed && pci_bw &&
> -  (pci_bw <= 16000) && (pci_bw < link_speed));
> + mlx5e_get_max_linkspeed(mdev, _speed);
>  -mlx5e_get_pci_bw(mdev, _bw);
> ++pci_bw = pcie_bandwidth_available(mdev->pdev, NULL, NULL, NULL);
> + mlx5_core_dbg_once(mdev, "Max link speed = %d, PCI BW = %d\n",
> +link_speed, pci_bw);
> + 
> + #define MLX5E_SLOW_PCI_RATIO (2)
> + 
> + return link_speed && pci_bw &&
> + link_speed > MLX5E_SLOW_PCI_RATIO * pci_bw;
>   }
>   
>   void mlx5e_set_tx_cq_mode_params(struct mlx5e_params *params, u8 
> cq_period_mode)

This is now a conflict between the pci tree and Linus' tree.

-- 
Cheers,
Stephen Rothwell


pgpWGHhkC1zBc.pgp
Description: OpenPGP digital signature


linux-next: manual merge of the net-next tree with the pci tree

2018-04-02 Thread Stephen Rothwell
Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  drivers/net/ethernet/mellanox/mlx5/core/en_main.c

between commit:

  2907938d2375 ("net/mlx5e: Use pcie_bandwidth_available() to compute 
bandwidth")

from the pci tree and commit:

  0608d4dbaf4e ("net/mlx5e: Unify slow PCI heuristic")

from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 884337f88589,0aab3afc6885..
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@@ -3880,16 -4026,50 +4033,20 @@@ void mlx5e_build_default_indir_rqt(u32 
indirection_rqt[i] = i % num_channels;
  }
  
- static bool cqe_compress_heuristic(u32 link_speed, u32 pci_bw)
 -static int mlx5e_get_pci_bw(struct mlx5_core_dev *mdev, u32 *pci_bw)
 -{
 -  enum pcie_link_width width;
 -  enum pci_bus_speed speed;
 -  int err = 0;
 -
 -  err = pcie_get_minimum_link(mdev->pdev, , );
 -  if (err)
 -  return err;
 -
 -  if (speed == PCI_SPEED_UNKNOWN || width == PCIE_LNK_WIDTH_UNKNOWN)
 -  return -EINVAL;
 -
 -  switch (speed) {
 -  case PCIE_SPEED_2_5GT:
 -  *pci_bw = 2500 * width;
 -  break;
 -  case PCIE_SPEED_5_0GT:
 -  *pci_bw = 5000 * width;
 -  break;
 -  case PCIE_SPEED_8_0GT:
 -  *pci_bw = 8000 * width;
 -  break;
 -  default:
 -  return -EINVAL;
 -  }
 -
 -  return 0;
 -}
 -
+ static bool slow_pci_heuristic(struct mlx5_core_dev *mdev)
  {
-   return (link_speed && pci_bw &&
-   (pci_bw < 4) && (pci_bw < link_speed));
- }
+   u32 link_speed = 0;
+   u32 pci_bw = 0;
  
- static bool hw_lro_heuristic(u32 link_speed, u32 pci_bw)
- {
-   return !(link_speed && pci_bw &&
-(pci_bw <= 16000) && (pci_bw < link_speed));
+   mlx5e_get_max_linkspeed(mdev, _speed);
 -  mlx5e_get_pci_bw(mdev, _bw);
++  pci_bw = pcie_bandwidth_available(mdev->pdev, NULL, NULL, NULL);
+   mlx5_core_dbg_once(mdev, "Max link speed = %d, PCI BW = %d\n",
+  link_speed, pci_bw);
+ 
+ #define MLX5E_SLOW_PCI_RATIO (2)
+ 
+   return link_speed && pci_bw &&
+   link_speed > MLX5E_SLOW_PCI_RATIO * pci_bw;
  }
  
  void mlx5e_set_tx_cq_mode_params(struct mlx5e_params *params, u8 
cq_period_mode)


pgpHbGrm02dE5.pgp
Description: OpenPGP digital signature


Re: linux-next: manual merge of the net-next tree with the pci tree

2017-07-02 Thread Stephen Rothwell
Hi all,

With the merge window opening, just a reminder that this conflict still
exists.

On Wed, 21 Jun 2017 11:54:43 +1000 Stephen Rothwell  
wrote:
>
> Today's linux-next merge of the net-next tree got a conflict in:
> 
>   drivers/net/wireless/marvell/mwifiex/pcie.c
> 
> between commit:
> 
>   c336cc0ee4eb ("PCI: Split ->reset_notify() method into ->reset_prepare() 
> and ->reset_done()")
> 
> from the pci tree and commit:
> 
>   68efd0386988 ("mwifiex: pcie: stop setting/clearing 'surprise_removed'")
> 
> from the net-next tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/net/wireless/marvell/mwifiex/pcie.c
> index 279adf124fc9,b53ecf1eddda..
> --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
> +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
> @@@ -361,48 -359,35 +361,46 @@@ static void mwifiex_pcie_reset_prepare(
>   }
>   
>   mwifiex_dbg(adapter, INFO,
>  -"%s: vendor=0x%4.04x device=0x%4.04x rev=%d %s\n",
>  -__func__, pdev->vendor, pdev->device,
>  -pdev->revision,
>  -prepare ? "Pre-FLR" : "Post-FLR");
>  -
>  -if (prepare) {
>  -/* Kernel would be performing FLR after this notification.
>  - * Cleanup all software without cleaning anything related to
>  - * PCIe and HW.
>  - */
>  -mwifiex_shutdown_sw(adapter);
>  -clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, >work_flags);
>  -clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, >work_flags);
>  -} else {
>  -/* Kernel stores and restores PCIe function context before and
>  - * after performing FLR respectively. Reconfigure the software
>  - * and firmware including firmware redownload
>  - */
>  -ret = mwifiex_reinit_sw(adapter);
>  -if (ret) {
>  -dev_err(>dev, "reinit failed: %d\n", ret);
>  -return;
>  -}
>  -}
>  +"%s: vendor=0x%4.04x device=0x%4.04x rev=%d Pre-FLR\n",
>  +__func__, pdev->vendor, pdev->device, pdev->revision);
>  +
>  +mwifiex_shutdown_sw(adapter);
> - adapter->surprise_removed = true;
>  +clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, >work_flags);
>  +clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, >work_flags);
>   mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
>   }
>   
>  -static const struct pci_error_handlers mwifiex_pcie_err_handler[] = {
>  -{ .reset_notify = mwifiex_pcie_reset_notify, },
>  +/*
>  + * Kernel stores and restores PCIe function context before and after 
> performing
>  + * FLR respectively. Reconfigure the software and firmware including 
> firmware
>  + * redownload.
>  + */
>  +static void mwifiex_pcie_reset_done(struct pci_dev *pdev)
>  +{
>  +struct pcie_service_card *card = pci_get_drvdata(pdev);
>  +struct mwifiex_adapter *adapter = card->adapter;
>  +int ret;
>  +
>  +if (!adapter) {
>  +dev_err(>dev, "%s: adapter structure is not valid\n",
>  +__func__);
>  +return;
>  +}
>  +
>  +mwifiex_dbg(adapter, INFO,
>  +"%s: vendor=0x%4.04x device=0x%4.04x rev=%d Post-FLR\n",
>  +__func__, pdev->vendor, pdev->device, pdev->revision);
>  +
> - adapter->surprise_removed = false;
>  +ret = mwifiex_reinit_sw(adapter);
>  +if (ret)
>  +dev_err(>dev, "reinit failed: %d\n", ret);
>  +else
>  +mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
>  +}
>  +
>  +static const struct pci_error_handlers mwifiex_pcie_err_handler = {
>  +.reset_prepare  = mwifiex_pcie_reset_prepare,
>  +.reset_done = mwifiex_pcie_reset_done,
>   };
>   
>   #ifdef CONFIG_PM_SLEEP

-- 
Cheers,
Stephen Rothwell


Re: linux-next: manual merge of the net-next tree with the pci tree

2017-06-21 Thread Stephen Rothwell
Hi Kalle,

On Wed, 21 Jun 2017 16:29:29 +0300 Kalle Valo  wrote:
>
> Thanks, the fix looks good to me. I guess there's nothing I can do at
> the moment and Linus needs to fix this when he pulls from Dave (or
> Bjorn, whichever is the last)?

Right.

-- 
Cheers,
Stephen Rothwell


Re: linux-next: manual merge of the net-next tree with the pci tree

2017-06-21 Thread Kalle Valo
Stephen Rothwell  writes:

> Today's linux-next merge of the net-next tree got a conflict in:
>
>   drivers/net/wireless/marvell/mwifiex/pcie.c
>
> between commit:
>
>   c336cc0ee4eb ("PCI: Split ->reset_notify() method into
> ->reset_prepare() and ->reset_done()")
>
> from the pci tree and commit:
>
>   68efd0386988 ("mwifiex: pcie: stop setting/clearing 'surprise_removed'")
>
> from the net-next tree.
>
> I fixed it up (see below) and can carry the fix as necessary.

Thanks, the fix looks good to me. I guess there's nothing I can do at
the moment and Linus needs to fix this when he pulls from Dave (or
Bjorn, whichever is the last)?

-- 
Kalle Valo


linux-next: manual merge of the net-next tree with the pci tree

2017-06-20 Thread Stephen Rothwell
Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  drivers/net/wireless/marvell/mwifiex/pcie.c

between commit:

  c336cc0ee4eb ("PCI: Split ->reset_notify() method into ->reset_prepare() and 
->reset_done()")

from the pci tree and commit:

  68efd0386988 ("mwifiex: pcie: stop setting/clearing 'surprise_removed'")

from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/net/wireless/marvell/mwifiex/pcie.c
index 279adf124fc9,b53ecf1eddda..
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@@ -361,48 -359,35 +361,46 @@@ static void mwifiex_pcie_reset_prepare(
}
  
mwifiex_dbg(adapter, INFO,
 -  "%s: vendor=0x%4.04x device=0x%4.04x rev=%d %s\n",
 -  __func__, pdev->vendor, pdev->device,
 -  pdev->revision,
 -  prepare ? "Pre-FLR" : "Post-FLR");
 -
 -  if (prepare) {
 -  /* Kernel would be performing FLR after this notification.
 -   * Cleanup all software without cleaning anything related to
 -   * PCIe and HW.
 -   */
 -  mwifiex_shutdown_sw(adapter);
 -  clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, >work_flags);
 -  clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, >work_flags);
 -  } else {
 -  /* Kernel stores and restores PCIe function context before and
 -   * after performing FLR respectively. Reconfigure the software
 -   * and firmware including firmware redownload
 -   */
 -  ret = mwifiex_reinit_sw(adapter);
 -  if (ret) {
 -  dev_err(>dev, "reinit failed: %d\n", ret);
 -  return;
 -  }
 -  }
 +  "%s: vendor=0x%4.04x device=0x%4.04x rev=%d Pre-FLR\n",
 +  __func__, pdev->vendor, pdev->device, pdev->revision);
 +
 +  mwifiex_shutdown_sw(adapter);
-   adapter->surprise_removed = true;
 +  clear_bit(MWIFIEX_IFACE_WORK_DEVICE_DUMP, >work_flags);
 +  clear_bit(MWIFIEX_IFACE_WORK_CARD_RESET, >work_flags);
mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
  }
  
 -static const struct pci_error_handlers mwifiex_pcie_err_handler[] = {
 -  { .reset_notify = mwifiex_pcie_reset_notify, },
 +/*
 + * Kernel stores and restores PCIe function context before and after 
performing
 + * FLR respectively. Reconfigure the software and firmware including firmware
 + * redownload.
 + */
 +static void mwifiex_pcie_reset_done(struct pci_dev *pdev)
 +{
 +  struct pcie_service_card *card = pci_get_drvdata(pdev);
 +  struct mwifiex_adapter *adapter = card->adapter;
 +  int ret;
 +
 +  if (!adapter) {
 +  dev_err(>dev, "%s: adapter structure is not valid\n",
 +  __func__);
 +  return;
 +  }
 +
 +  mwifiex_dbg(adapter, INFO,
 +  "%s: vendor=0x%4.04x device=0x%4.04x rev=%d Post-FLR\n",
 +  __func__, pdev->vendor, pdev->device, pdev->revision);
 +
-   adapter->surprise_removed = false;
 +  ret = mwifiex_reinit_sw(adapter);
 +  if (ret)
 +  dev_err(>dev, "reinit failed: %d\n", ret);
 +  else
 +  mwifiex_dbg(adapter, INFO, "%s, successful\n", __func__);
 +}
 +
 +static const struct pci_error_handlers mwifiex_pcie_err_handler = {
 +  .reset_prepare  = mwifiex_pcie_reset_prepare,
 +  .reset_done = mwifiex_pcie_reset_done,
  };
  
  #ifdef CONFIG_PM_SLEEP


linux-next: manual merge of the net-next tree with the pci tree

2017-04-11 Thread Stephen Rothwell
Hi all,

Today's linux-next merge of the net-next tree got conflicts in:

  drivers/pci/msi.c
  include/linux/pci.h

between commit:

  688769f643bf ("PCI/MSI: Make pci_msi_shutdown() and pci_msix_shutdown() 
static")

from the pci tree and commit:

  4244de1c64de ("PCI: remove pci_enable_msix")

from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/pci/msi.c
index 6b5eaf500a24,0042c365b29b..
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@@ -975,28 -973,7 +975,7 @@@ static int __pci_enable_msix(struct pci
return msix_capability_init(dev, entries, nvec, affd);
  }
  
- /**
-  * pci_enable_msix - configure device's MSI-X capability structure
-  * @dev: pointer to the pci_dev data structure of MSI-X device function
-  * @entries: pointer to an array of MSI-X entries (optional)
-  * @nvec: number of MSI-X irqs requested for allocation by device driver
-  *
-  * Setup the MSI-X capability structure of device function with the number
-  * of requested irqs upon its software driver call to request for
-  * MSI-X mode enabled on its hardware device function. A return of zero
-  * indicates the successful configuration of MSI-X capability structure
-  * with new allocated MSI-X irqs. A return of < 0 indicates a failure.
-  * Or a return of > 0 indicates that driver request is exceeding the number
-  * of irqs or MSI-X vectors available. Driver should use the returned value to
-  * re-send its request.
-  **/
- int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec)
- {
-   return __pci_enable_msix(dev, entries, nvec, NULL);
- }
- EXPORT_SYMBOL(pci_enable_msix);
- 
 -void pci_msix_shutdown(struct pci_dev *dev)
 +static void pci_msix_shutdown(struct pci_dev *dev)
  {
struct msi_desc *entry;
  
diff --cc include/linux/pci.h
index 821627873de1,82dec36845e6..
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@@ -1279,9 -1297,10 +1279,8 @@@ struct msix_entry 
  
  #ifdef CONFIG_PCI_MSI
  int pci_msi_vec_count(struct pci_dev *dev);
 -void pci_msi_shutdown(struct pci_dev *dev);
  void pci_disable_msi(struct pci_dev *dev);
  int pci_msix_vec_count(struct pci_dev *dev);
- int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int 
nvec);
 -void pci_msix_shutdown(struct pci_dev *dev);
  void pci_disable_msix(struct pci_dev *dev);
  void pci_restore_msi_state(struct pci_dev *dev);
  int pci_msi_enabled(void);
@@@ -1307,11 -1326,10 +1306,8 @@@ int pci_irq_get_node(struct pci_dev *pd
  
  #else
  static inline int pci_msi_vec_count(struct pci_dev *dev) { return -ENOSYS; }
 -static inline void pci_msi_shutdown(struct pci_dev *dev) { }
  static inline void pci_disable_msi(struct pci_dev *dev) { }
  static inline int pci_msix_vec_count(struct pci_dev *dev) { return -ENOSYS; }
- static inline int pci_enable_msix(struct pci_dev *dev,
- struct msix_entry *entries, int nvec)
- { return -ENOSYS; }
 -static inline void pci_msix_shutdown(struct pci_dev *dev) { }
  static inline void pci_disable_msix(struct pci_dev *dev) { }
  static inline void pci_restore_msi_state(struct pci_dev *dev) { }
  static inline int pci_msi_enabled(void) { return 0; }


linux-next: manual merge of the net-next tree with the pci tree

2015-12-13 Thread Stephen Rothwell
Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  include/linux/pci_ids.h

between commit:

  a755e169031d ("PCI: Add Netronome vendor and device IDs")

from the pci tree and commit:

  2d1e0254ef83 ("pci_ids: add Netronome Systems vendor")

from the net-next tree.

I fixed it up (the former was just a superset of the latter, so I used
that) and can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html