Lines Matching refs:phydev

20 static int ethnl_cable_test_started(struct phy_device *phydev, u8 cmd)  in ethnl_cable_test_started()  argument
36 err = ethnl_fill_reply_header(skb, phydev->attached_dev, in ethnl_cable_test_started()
48 return ethnl_multicast(skb, phydev->attached_dev); in ethnl_cable_test_started()
52 phydev_err(phydev, "%s: Error %pe\n", __func__, ERR_PTR(err)); in ethnl_cable_test_started()
62 struct phy_device *phydev; in ethnl_act_cable_test() local
77 phydev = ethnl_req_get_phydev(&req_info, tb, in ethnl_act_cable_test()
80 if (IS_ERR_OR_NULL(phydev)) { in ethnl_act_cable_test()
95 ret = ops->start_cable_test(phydev, info->extack); in ethnl_act_cable_test()
100 ethnl_cable_test_started(phydev, ETHTOOL_MSG_CABLE_TEST_NTF); in ethnl_act_cable_test()
109 int ethnl_cable_test_alloc(struct phy_device *phydev, u8 cmd) in ethnl_cable_test_alloc() argument
116 phydev->skb = genlmsg_new(SZ_16K, GFP_KERNEL); in ethnl_cable_test_alloc()
117 if (!phydev->skb) in ethnl_cable_test_alloc()
120 phydev->ehdr = ethnl_bcastmsg_put(phydev->skb, cmd); in ethnl_cable_test_alloc()
121 if (!phydev->ehdr) { in ethnl_cable_test_alloc()
126 err = ethnl_fill_reply_header(phydev->skb, phydev->attached_dev, in ethnl_cable_test_alloc()
131 err = nla_put_u8(phydev->skb, ETHTOOL_A_CABLE_TEST_NTF_STATUS, in ethnl_cable_test_alloc()
136 phydev->nest = nla_nest_start(phydev->skb, in ethnl_cable_test_alloc()
138 if (!phydev->nest) { in ethnl_cable_test_alloc()
146 nlmsg_free(phydev->skb); in ethnl_cable_test_alloc()
147 phydev->skb = NULL; in ethnl_cable_test_alloc()
152 void ethnl_cable_test_free(struct phy_device *phydev) in ethnl_cable_test_free() argument
154 nlmsg_free(phydev->skb); in ethnl_cable_test_free()
155 phydev->skb = NULL; in ethnl_cable_test_free()
159 void ethnl_cable_test_finished(struct phy_device *phydev) in ethnl_cable_test_finished() argument
161 nla_nest_end(phydev->skb, phydev->nest); in ethnl_cable_test_finished()
163 genlmsg_end(phydev->skb, phydev->ehdr); in ethnl_cable_test_finished()
165 ethnl_multicast(phydev->skb, phydev->attached_dev); in ethnl_cable_test_finished()
169 int ethnl_cable_test_result_with_src(struct phy_device *phydev, u8 pair, in ethnl_cable_test_result_with_src() argument
175 nest = nla_nest_start(phydev->skb, ETHTOOL_A_CABLE_NEST_RESULT); in ethnl_cable_test_result_with_src()
179 if (nla_put_u8(phydev->skb, ETHTOOL_A_CABLE_RESULT_PAIR, pair)) in ethnl_cable_test_result_with_src()
181 if (nla_put_u8(phydev->skb, ETHTOOL_A_CABLE_RESULT_CODE, result)) in ethnl_cable_test_result_with_src()
184 if (nla_put_u32(phydev->skb, ETHTOOL_A_CABLE_RESULT_SRC, src)) in ethnl_cable_test_result_with_src()
188 nla_nest_end(phydev->skb, nest); in ethnl_cable_test_result_with_src()
192 nla_nest_cancel(phydev->skb, nest); in ethnl_cable_test_result_with_src()
197 int ethnl_cable_test_fault_length_with_src(struct phy_device *phydev, u8 pair, in ethnl_cable_test_fault_length_with_src() argument
203 nest = nla_nest_start(phydev->skb, in ethnl_cable_test_fault_length_with_src()
208 if (nla_put_u8(phydev->skb, ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, pair)) in ethnl_cable_test_fault_length_with_src()
210 if (nla_put_u32(phydev->skb, ETHTOOL_A_CABLE_FAULT_LENGTH_CM, cm)) in ethnl_cable_test_fault_length_with_src()
213 if (nla_put_u32(phydev->skb, ETHTOOL_A_CABLE_FAULT_LENGTH_SRC, in ethnl_cable_test_fault_length_with_src()
218 nla_nest_end(phydev->skb, nest); in ethnl_cable_test_fault_length_with_src()
222 nla_nest_cancel(phydev->skb, nest); in ethnl_cable_test_fault_length_with_src()
325 struct phy_device *phydev; in ethnl_act_cable_test_tdr() local
346 phydev = ethnl_req_get_phydev(&req_info, tb, in ethnl_act_cable_test_tdr()
349 if (IS_ERR_OR_NULL(phydev)) { in ethnl_act_cable_test_tdr()
364 ret = ops->start_cable_test_tdr(phydev, info->extack, &cfg); in ethnl_act_cable_test_tdr()
369 ethnl_cable_test_started(phydev, in ethnl_act_cable_test_tdr()
380 int ethnl_cable_test_amplitude(struct phy_device *phydev, in ethnl_cable_test_amplitude() argument
386 nest = nla_nest_start(phydev->skb, in ethnl_cable_test_amplitude()
391 if (nla_put_u8(phydev->skb, ETHTOOL_A_CABLE_AMPLITUDE_PAIR, pair)) in ethnl_cable_test_amplitude()
393 if (nla_put_u16(phydev->skb, ETHTOOL_A_CABLE_AMPLITUDE_mV, mV)) in ethnl_cable_test_amplitude()
396 nla_nest_end(phydev->skb, nest); in ethnl_cable_test_amplitude()
400 nla_nest_cancel(phydev->skb, nest); in ethnl_cable_test_amplitude()
405 int ethnl_cable_test_pulse(struct phy_device *phydev, u16 mV) in ethnl_cable_test_pulse() argument
410 nest = nla_nest_start(phydev->skb, ETHTOOL_A_CABLE_TDR_NEST_PULSE); in ethnl_cable_test_pulse()
414 if (nla_put_u16(phydev->skb, ETHTOOL_A_CABLE_PULSE_mV, mV)) in ethnl_cable_test_pulse()
417 nla_nest_end(phydev->skb, nest); in ethnl_cable_test_pulse()
421 nla_nest_cancel(phydev->skb, nest); in ethnl_cable_test_pulse()
426 int ethnl_cable_test_step(struct phy_device *phydev, u32 first, u32 last, in ethnl_cable_test_step() argument
432 nest = nla_nest_start(phydev->skb, ETHTOOL_A_CABLE_TDR_NEST_STEP); in ethnl_cable_test_step()
436 if (nla_put_u32(phydev->skb, ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE, in ethnl_cable_test_step()
440 if (nla_put_u32(phydev->skb, ETHTOOL_A_CABLE_STEP_LAST_DISTANCE, last)) in ethnl_cable_test_step()
443 if (nla_put_u32(phydev->skb, ETHTOOL_A_CABLE_STEP_STEP_DISTANCE, step)) in ethnl_cable_test_step()
446 nla_nest_end(phydev->skb, nest); in ethnl_cable_test_step()
450 nla_nest_cancel(phydev->skb, nest); in ethnl_cable_test_step()