mirror of
https://gitlab.com/etherlab.org/ethercat.git
synced 2026-10-02 08:22:51 +08:00
Merge branch 'stable-1.6' into stable-1.7 (stmmac).
This commit is contained in:
@@ -13,8 +13,15 @@
|
||||
- Protected `rec_size` calculation in FoE.
|
||||
- Check for malicious EoE frame details.
|
||||
- Avoid writing invalid MAC onto r8169 NIC on removal
|
||||
- Fixed insufficient re-allocation of SoE request buffer.
|
||||
- Protect datagram receiving mechanism against re-ordering.
|
||||
- Fixed insufficient re-allocation of SoE request buffer
|
||||
- Protect datagram receiving mechanism against re-ordering
|
||||
- Prevent creating datagrams that are too large for one frame
|
||||
- Reacted to stmmac API changed during Linux 6.12
|
||||
- Adapted debug ring to kernel 5.6+ time API changes
|
||||
- Use str.read() to read into char* (deprecated in C++20)
|
||||
- Unload `ec_bhf` before loading CCAT
|
||||
- Added cpplint checks in pre-commit and CI tests.
|
||||
- Improved and formatted markdown documents and added pre-commit checks
|
||||
|
||||
## Version 1.6.9
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# Device drivers under this directory are largely verbatim copies of
|
||||
# in-kernel drivers (see the various update.sh scripts), which are
|
||||
# formatted with tabs as required by the Linux kernel coding style.
|
||||
# Reformatting them to spaces would make future updates against the
|
||||
# upstream sources needlessly hard to diff/merge, so the tab check is
|
||||
# disabled here. This filter is added on top of (not instead of) the
|
||||
# top-level CPPLINT.cfg, so it only relaxes tab checking for the
|
||||
# driver tree -- master code elsewhere continues to be checked.
|
||||
filter=-whitespace/tab
|
||||
@@ -5,11 +5,23 @@
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <linux/version.h>
|
||||
#include "dwmac-intel-6.12-ethercat.h"
|
||||
#include "dwmac4-6.12-ethercat.h"
|
||||
#include "stmmac-6.12-ethercat.h"
|
||||
#include "stmmac_ptp-6.12-ethercat.h"
|
||||
|
||||
/* struct plat_stmmacenet_data had a member msi_lpi_vec (separate MSI
|
||||
* vector for the LPI IRQ) up to and including Linux v6.12.77. It was
|
||||
* removed from the 6.12.y stable branch as of v6.12.78 by stable
|
||||
* commit cd19a32de5d0 ("net: stmmac: remove support for lpi_intr_o",
|
||||
* upstream commit 14eb64db8ff0). Select the correct interface purely
|
||||
* by kernel version so this file builds against both variants.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 12, 78)
|
||||
#define EC_STMMAC_HAS_MSI_LPI_VEC
|
||||
#endif
|
||||
|
||||
struct intel_priv_data {
|
||||
int mdio_adhoc_addr; /* mdio address for serdes & etc */
|
||||
unsigned long crossts_adj;
|
||||
@@ -612,7 +624,9 @@ static int intel_mgbe_common_data(struct pci_dev *pdev,
|
||||
|
||||
/* Setup MSI vector offset specific to Intel mGbE controller */
|
||||
plat->msi_mac_vec = 29;
|
||||
#ifdef EC_STMMAC_HAS_MSI_LPI_VEC
|
||||
plat->msi_lpi_vec = 28;
|
||||
#endif
|
||||
plat->msi_sfty_ce_vec = 27;
|
||||
plat->msi_sfty_ue_vec = 26;
|
||||
plat->msi_rx_base_vec = 0;
|
||||
@@ -998,8 +1012,10 @@ static int stmmac_config_multi_msi(struct pci_dev *pdev,
|
||||
res->irq = pci_irq_vector(pdev, plat->msi_mac_vec);
|
||||
if (plat->msi_wol_vec < STMMAC_MSI_VEC_MAX)
|
||||
res->wol_irq = pci_irq_vector(pdev, plat->msi_wol_vec);
|
||||
#ifdef EC_STMMAC_HAS_MSI_LPI_VEC
|
||||
if (plat->msi_lpi_vec < STMMAC_MSI_VEC_MAX)
|
||||
res->lpi_irq = pci_irq_vector(pdev, plat->msi_lpi_vec);
|
||||
#endif
|
||||
if (plat->msi_sfty_ce_vec < STMMAC_MSI_VEC_MAX)
|
||||
res->sfty_ce_irq = pci_irq_vector(pdev, plat->msi_sfty_ce_vec);
|
||||
if (plat->msi_sfty_ue_vec < STMMAC_MSI_VEC_MAX)
|
||||
@@ -1081,7 +1097,9 @@ static int intel_eth_pci_probe(struct pci_dev *pdev,
|
||||
*/
|
||||
plat->msi_mac_vec = STMMAC_MSI_VEC_MAX;
|
||||
plat->msi_wol_vec = STMMAC_MSI_VEC_MAX;
|
||||
#ifdef EC_STMMAC_HAS_MSI_LPI_VEC
|
||||
plat->msi_lpi_vec = STMMAC_MSI_VEC_MAX;
|
||||
#endif
|
||||
plat->msi_sfty_ce_vec = STMMAC_MSI_VEC_MAX;
|
||||
plat->msi_sfty_ue_vec = STMMAC_MSI_VEC_MAX;
|
||||
plat->msi_rx_base_vec = STMMAC_MSI_VEC_MAX;
|
||||
@@ -1256,6 +1274,7 @@ static void __exit dwmac_exit(void)
|
||||
module_init(dwmac_init);
|
||||
module_exit(dwmac_exit);
|
||||
|
||||
MODULE_DESCRIPTION("INTEL 10/100/1000 Ethernet PCI driver (EtherCAT-enabled)");
|
||||
MODULE_DESCRIPTION(
|
||||
"INTEL 10/100/1000 Ethernet PCI driver (EtherCAT-enabled)");
|
||||
MODULE_AUTHOR("Voon Weifeng <weifeng.voon@intel.com>");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
||||
Reference in New Issue
Block a user