Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sonic-net/sonic-linux-kernel
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1d9c69fbe1b996fd84a659bd28c91f67fe1fe044
Choose a base ref
...
head repository: sonic-net/sonic-linux-kernel
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f8b30b40c358238d3055a18305c8b7b659b47739
Choose a head ref
  • 3 commits
  • 9 files changed
  • 3 contributors

Commits on Aug 8, 2019

  1. Update optoe driver to add CMIS (QSFP-DD, OSFP, ...) support (#96)

    * Update to optoe driver to improve EOF handling
    
    	Added patch: 'driver-support-optoe-EOF_fix.patch' to patch directory
    	Added the patch to 'series
    
    Signed-off-by: Don Bollinger
    
    * Patch to add support for CMIS (QSFP-DD, OSFP, ...) class devices
    to optoe driver.  Backward compatible, still supports SFP*, QSFP*
    donboll authored and lguohan committed Aug 8, 2019
    Copy the full SHA
    15f8651 View commit details

Commits on Aug 10, 2019

  1. Add psample and act_sample drivers (#94)

    What I did
    Backport psample and act_sample drivers to sonic linux kernel 4.9.
    
    How I did it
    Both psample and act_sample are needed for sflow feature.
    
    psample driver is needed for collecting samples from the interfaces at the kernel level.
    act_sample driver is needed for the 'tc' command to be able to program the sampling configurations into the interfaces at the kernel level.
    
    psample and act_sample drivers are not back-ported yet to the linux kernel version that sonic-linux-kernel is using. Hence, I have taken the patches for both the drivers and included it in our sonic kernel.
    
    
    Signed-off-by: Rakesh Datta <rakesh.datta@dell.com>
    Rakesh Datta authored and lguohan committed Aug 10, 2019
    Copy the full SHA
    feb786b View commit details

Commits on Aug 15, 2019

  1. Copy the full SHA
    f8b30b4 View commit details
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
From 3d4e440640d63c5bc599a4ad6802ad84dcd0c329 Mon Sep 17 00:00:00 2001
From: Vadim Pasternak <vadimp@mellanox.com>
Date: Wed, 10 Jul 2019 17:47:56 +0000
Subject: [PATCH v1 backport] mlxsw: core: Skip port split entries in hwmon
subsystem

Skip split entries in hwmon.
Run loop for port creation over maximum port counter, otherwise
in some split configuration with holes, some last modules can be
missed.

Signed-of-by: Vadim Pasternak <vadimp@mellanox.com>
---
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c | 7 ++++++-
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c | 2 +-
drivers/net/ethernet/mellanox/mlxsw/minimal.c | 5 +++--
3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c b/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
index a414a09efb5d..95b890298952 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
@@ -512,9 +512,9 @@ static int mlxsw_hwmon_fans_init(struct mlxsw_hwmon *mlxsw_hwmon)
static int mlxsw_hwmon_module_init(struct mlxsw_hwmon *mlxsw_hwmon)
{
unsigned int module_count = mlxsw_core_max_ports(mlxsw_hwmon->core);
+ u8 width, module, last_module = module_count;
char pmlp_pl[MLXSW_REG_PMLP_LEN] = {0};
int i, index;
- u8 width;
int err;

if (!mlxsw_core_res_query_enabled(mlxsw_hwmon->core))
@@ -538,6 +538,11 @@ static int mlxsw_hwmon_module_init(struct mlxsw_hwmon *mlxsw_hwmon)
width = mlxsw_reg_pmlp_width_get(pmlp_pl);
if (!width)
continue;
+ module = mlxsw_reg_pmlp_module_get(pmlp_pl, 0);
+ /* Skip, if port belongs to the cluster */
+ if (module == last_module)
+ continue;
+ last_module = module;
mlxsw_hwmon_attr_add(mlxsw_hwmon,
MLXSW_HWMON_ATTR_TYPE_TEMP_MODULE, index,
index);
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
index 499c82cea1cb..e9451e447bf0 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
@@ -906,7 +906,7 @@ mlxsw_thermal_gearboxes_fini(struct mlxsw_thermal *thermal)
int i;

for (i = thermal->tz_gearbox_num - 1; i >= 0; i--)
- mlxsw_thermal_gearbox_tz_fini(&thermal->tz_gearbox_arr[i]); /*Remove*/
+ mlxsw_thermal_gearbox_tz_fini(&thermal->tz_gearbox_arr[i]);
kfree(thermal->tz_gearbox_arr);
}

diff --git a/drivers/net/ethernet/mellanox/mlxsw/minimal.c b/drivers/net/ethernet/mellanox/mlxsw/minimal.c
index 5290993ff93f..0aa3abc974ff 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/minimal.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/minimal.c
@@ -264,7 +264,7 @@ static int mlxsw_m_ports_create(struct mlxsw_m *mlxsw_m)
}

/* Create port objects for each valid entry */
- for (i = 0; i < mlxsw_m->max_ports; i++) {
+ for (i = 0; i < max_ports; i++) {
if (mlxsw_m->module_to_port[i] > 0) {
err = mlxsw_m_port_create(mlxsw_m,
mlxsw_m->module_to_port[i],
@@ -294,9 +294,10 @@ static int mlxsw_m_ports_create(struct mlxsw_m *mlxsw_m)

static void mlxsw_m_ports_remove(struct mlxsw_m *mlxsw_m)
{
+ unsigned int max_ports = mlxsw_core_max_ports(mlxsw_m->core);
int i;

- for (i = 0; i < mlxsw_m->max_ports; i++) {
+ for (i = 0; i < max_ports; i++) {
if (mlxsw_m->module_to_port[i] > 0) {
mlxsw_m_port_remove(mlxsw_m,
mlxsw_m->module_to_port[i]);
--
2.11.0

Loading