Commit 333f3396 authored by Paolo Abeni's avatar Paolo Abeni
Browse files

Merge branch 'intel-wired-lan-driver-updates-2023-12-01-ice'

Tony Nguyen says:

====================
Intel Wired LAN Driver Updates 2023-12-01 (ice)

This series contains updates to ice driver only.

Konrad provides temperature reporting via hwmon.

Arkadiusz adds reporting of Clock Generation Unit (CGU) information via
devlink info.

Pawel adjusts error messaging for ntuple filters to account for additional
possibility for encountering an error.

Karol ensures that all timestamps occurring around reset are processed and
renames some E822 functions to convey additional usage for E823 devices.

Jake provides mechanism to ensure that all timestamps on E822 devices
are processed.

The following are changes since commit 15bc8121:
  octeon_ep: set backpressure watermark for RX queues
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 100GbE
====================

Link: https://lore.kernel.org/r/20231201180845.219494-1-anthony.l.nguyen@intel.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents 4aee43f3 a39dd252
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -38,6 +38,10 @@ The ``ice`` driver reports the following versions
      - fixed
      - K65390-000
      - The Product Board Assembly (PBA) identifier of the board.
    * - ``cgu.id``
      - fixed
      - 36
      - The Clock Generation Unit (CGU) hardware revision identifier.
    * - ``fw.mgmt``
      - running
      - 2.1.7
@@ -104,6 +108,11 @@ The ``ice`` driver reports the following versions
      - running
      - 0xee16ced7
      - The first 4 bytes of the hash of the netlist module contents.
    * - ``fw.cgu``
      - running
      - 8032.16973825.6021
      - The version of Clock Generation Unit (CGU). Format:
        <CGU type>.<configuration version>.<firmware version>.

Flash Update
============
+11 −0
Original line number Diff line number Diff line
@@ -299,6 +299,17 @@ config ICE
	  To compile this driver as a module, choose M here. The module
	  will be called ice.

config ICE_HWMON
	bool "Intel(R) Ethernet Connection E800 Series Support HWMON support"
	default y
	depends on ICE && HWMON && !(ICE=y && HWMON=m)
	help
	  Say Y if you want to expose thermal sensor data on Intel devices.

	  Some of our devices contain internal thermal sensors.
	  This data is available via the hwmon sysfs interface and exposes
	  the onboard sensors.

config ICE_SWITCHDEV
	bool "Switchdev Support"
	default y
+1 −0
Original line number Diff line number Diff line
@@ -49,3 +49,4 @@ ice-$(CONFIG_RFS_ACCEL) += ice_arfs.o
ice-$(CONFIG_XDP_SOCKETS) += ice_xsk.o
ice-$(CONFIG_ICE_SWITCHDEV) += ice_eswitch.o ice_eswitch_br.o
ice-$(CONFIG_GNSS) += ice_gnss.o
ice-$(CONFIG_ICE_HWMON) += ice_hwmon.o
+1 −0
Original line number Diff line number Diff line
@@ -655,6 +655,7 @@ struct ice_pf {
#define ICE_MAX_VF_AGG_NODES		32
	struct ice_agg_node vf_agg_node[ICE_MAX_VF_AGG_NODES];
	struct ice_dplls dplls;
	struct device *hwmon_dev;
};

extern struct workqueue_struct *ice_lag_wq;
+28 −0
Original line number Diff line number Diff line
@@ -117,6 +117,7 @@ struct ice_aqc_list_caps_elem {
#define ICE_AQC_CAPS_NET_VER				0x004C
#define ICE_AQC_CAPS_PENDING_NET_VER			0x004D
#define ICE_AQC_CAPS_RDMA				0x0051
#define ICE_AQC_CAPS_SENSOR_READING			0x0067
#define ICE_AQC_CAPS_PCIE_RESET_AVOIDANCE		0x0076
#define ICE_AQC_CAPS_POST_UPDATE_RESET_RESTRICT		0x0077
#define ICE_AQC_CAPS_NVM_MGMT				0x0080
@@ -1413,6 +1414,30 @@ struct ice_aqc_get_phy_rec_clk_out {
	__le16 node_handle;
};

/* Get sensor reading (direct 0x0632) */
struct ice_aqc_get_sensor_reading {
	u8 sensor;
	u8 format;
	u8 reserved[6];
	__le32 addr_high;
	__le32 addr_low;
};

/* Get sensor reading response (direct 0x0632) */
struct ice_aqc_get_sensor_reading_resp {
	union {
		u8 raw[8];
		/* Output data for sensor 0x00, format 0x00 */
		struct _packed {
			s8 temp;
			u8 temp_warning_threshold;
			u8 temp_critical_threshold;
			u8 temp_fatal_threshold;
			u8 reserved[4];
		} s0f0;
	} data;
};

struct ice_aqc_link_topo_params {
	u8 lport_num;
	u8 lport_num_valid;
@@ -2443,6 +2468,8 @@ struct ice_aq_desc {
		struct ice_aqc_restart_an restart_an;
		struct ice_aqc_set_phy_rec_clk_out set_phy_rec_clk_out;
		struct ice_aqc_get_phy_rec_clk_out get_phy_rec_clk_out;
		struct ice_aqc_get_sensor_reading get_sensor_reading;
		struct ice_aqc_get_sensor_reading_resp get_sensor_reading_resp;
		struct ice_aqc_gpio read_write_gpio;
		struct ice_aqc_sff_eeprom read_write_sff_param;
		struct ice_aqc_set_port_id_led set_port_id_led;
@@ -2618,6 +2645,7 @@ enum ice_adminq_opc {
	ice_aqc_opc_set_mac_lb				= 0x0620,
	ice_aqc_opc_set_phy_rec_clk_out			= 0x0630,
	ice_aqc_opc_get_phy_rec_clk_out			= 0x0631,
	ice_aqc_opc_get_sensor_reading			= 0x0632,
	ice_aqc_opc_get_link_topo			= 0x06E0,
	ice_aqc_opc_read_i2c				= 0x06E2,
	ice_aqc_opc_write_i2c				= 0x06E3,
Loading