RE: [RFC PATCH v8 07/10] ice: add admin commands to access cgu configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From: Jiri Pirko <jiri@xxxxxxxxxxx>
>Sent: Saturday, June 10, 2023 10:46 AM
>
>Fri, Jun 09, 2023 at 02:18:50PM CEST, arkadiusz.kubalewski@xxxxxxxxx wrote:
>>Add firmware admin command to access clock generation unit
>>configuration, it is required to enable Extended PTP and SyncE features
>>in the driver.
>
>Empty line here perhaps?
>

Sure, will do.

>
>>Add definitions of possible hardware variations of input and output pins
>>related to clock generation unit and functions to access the data.
>>
>>Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@xxxxxxxxx>
>
>I just skimmed over this, not really give it much of a time. Couple of
>nits:
>
>
>>+
>>+#define MAX_NETLIST_SIZE	10
>
>Prefix perhaps?
>

Fixed.

>[...]
>
>
>>+/**
>>+ * convert_s48_to_s64 - convert 48 bit value to 64 bit value
>>+ * @signed_48: signed 64 bit variable storing signed 48 bit value
>>+ *
>>+ * Convert signed 48 bit value to its 64 bit representation.
>>+ *
>>+ * Return: signed 64 bit representation of signed 48 bit value.
>>+ */
>>+static inline
>
>Never use "inline" in a c file.
>
>
>>+s64 convert_s48_to_s64(s64 signed_48)
>>+{
>>+	const s64 MASK_SIGN_BITS = GENMASK_ULL(63, 48);
>
>variable with capital letters? Not nice. Define? You have that multiple
>times in the patch.
>
>
>>+	const s64 SIGN_BIT_47 = BIT_ULL(47);
>>+
>>+	return ((signed_48 & SIGN_BIT_47) ? (s64)(MASK_SIGN_BITS | signed_48)
>
>Pointless cast, isn't it?
>
>You don't need () around "signed_48 & SIGN_BIT_47"
>
>
>>+		: signed_48);
>
>Return is not a function. Drop the outer "()"s.
>
>
>The whole fuction can look like:
>static s64 convert_s48_to_s64(s64 signed_48)
>{
>	return signed_48 & BIT_ULL(47) ? signed_48 | GENMASK_ULL(63, 48) :
>					 signed_48;
>}
>
>Nicer?
>

Sure, fixed.

>
>[...]
>
>
>
>>+int ice_get_pf_c827_idx(struct ice_hw *hw, u8 *idx)
>>+{
>>+	struct ice_aqc_get_link_topo cmd;
>>+	u8 node_part_number;
>>+	u16 node_handle;
>>+	int status;
>>+	u8 ctx;
>>+
>>+	if (hw->mac_type != ICE_MAC_E810)
>>+		return -ENODEV;
>>+
>>+	if (hw->device_id != ICE_DEV_ID_E810C_QSFP) {
>>+		*idx = C827_0;
>>+		return 0;
>>+	}
>>+
>>+	memset(&cmd, 0, sizeof(cmd));
>>+
>>+	ctx = ICE_AQC_LINK_TOPO_NODE_TYPE_PHY <<
>ICE_AQC_LINK_TOPO_NODE_TYPE_S;
>>+	ctx |= ICE_AQC_LINK_TOPO_NODE_CTX_PORT <<
>>ICE_AQC_LINK_TOPO_NODE_CTX_S;
>>+	cmd.addr.topo_params.node_type_ctx = ctx;
>>+	cmd.addr.topo_params.index = 0;
>
>You zeroed the struct 4 lines above...
>

Fixed.

Thank you!
Arkadiusz

>
>>+
>>+	status = ice_aq_get_netlist_node(hw, &cmd, &node_part_number,
>>+					 &node_handle);
>>+	if (status || node_part_number != ICE_ACQ_GET_LINK_TOPO_NODE_NR_C827)
>>+		return -ENOENT;
>>+
>>+	if (node_handle == E810C_QSFP_C827_0_HANDLE)
>>+		*idx = C827_0;
>>+	else if (node_handle == E810C_QSFP_C827_1_HANDLE)
>>+		*idx = C827_1;
>>+	else
>>+		return -EIO;
>>+
>>+	return 0;
>>+}
>>+
>
>[...]




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux