Lines Matching refs:dev
127 margin_set_cmd(struct margin_dev *dev, u8 lane, margin_cmd cmd) in margin_set_cmd() argument
129 pci_write_word(dev->dev, LMR_LANE_CTRL(dev->lmr_cap_addr, lane), cmd); in margin_set_cmd()
131 return pci_read_word(dev->dev, LMR_LANE_STATUS(dev->lmr_cap_addr, lane)) == cmd; in margin_set_cmd()
135 margin_report_cmd(struct margin_dev *dev, u8 lane, margin_cmd cmd, margin_cmd *result) in margin_report_cmd() argument
137 pci_write_word(dev->dev, LMR_LANE_CTRL(dev->lmr_cap_addr, lane), cmd); in margin_report_cmd()
139 *result = pci_read_word(dev->dev, LMR_LANE_STATUS(dev->lmr_cap_addr, lane)); in margin_report_cmd()
142 && margin_set_cmd(dev, lane, NO_COMMAND); in margin_report_cmd()
148 switch (recv->dev->hw) in margin_apply_hw_quirks()
164 read_params_internal(struct margin_dev *dev, u8 recvn, bool lane_reversal, in read_params_internal() argument
168 u8 lane = lane_reversal ? dev->max_width - 1 : 0; in read_params_internal()
169 margin_set_cmd(dev, lane, NO_COMMAND); in read_params_internal()
170 bool status = margin_report_cmd(dev, lane, REPORT_CAPS(recvn), &resp); in read_params_internal()
178 status = margin_report_cmd(dev, lane, REPORT_VOL_STEPS(recvn), &resp); in read_params_internal()
183 status = margin_report_cmd(dev, lane, REPORT_TIM_STEPS(recvn), &resp); in read_params_internal()
188 status = margin_report_cmd(dev, lane, REPORT_TIM_OFFSET(recvn), &resp); in read_params_internal()
193 status = margin_report_cmd(dev, lane, REPORT_VOL_OFFSET(recvn), &resp); in read_params_internal()
198 status = margin_report_cmd(dev, lane, REPORT_SAMPL_RATE_V(recvn), &resp); in read_params_internal()
203 status = margin_report_cmd(dev, lane, REPORT_SAMPL_RATE_T(recvn), &resp); in read_params_internal()
208 status = margin_report_cmd(dev, lane, REPORT_MAX_LANES(recvn), &resp); in read_params_internal()
241 margin_set_cmd(arg.recv->dev, arg.results[i].lane, NO_COMMAND); in margin_test_lanes()
242 margin_set_cmd(arg.recv->dev, arg.results[i].lane, in margin_test_lanes()
244 margin_set_cmd(arg.recv->dev, arg.results[i].lane, NO_COMMAND); in margin_test_lanes()
263 int ctrl_addr = LMR_LANE_CTRL(arg.recv->dev->lmr_cap_addr, arg.results[i].lane); in margin_test_lanes()
264 pci_write_word(arg.recv->dev->dev, ctrl_addr, step_cmd); in margin_test_lanes()
273 int status_addr = LMR_LANE_STATUS(arg.recv->dev->lmr_cap_addr, arg.results[i].lane); in margin_test_lanes()
274 lane_status = pci_read_word(arg.recv->dev->dev, status_addr); in margin_test_lanes()
280 && margin_set_cmd(arg.recv->dev, arg.results[i].lane, NO_COMMAND))) in margin_test_lanes()
297 margin_set_cmd(arg.recv->dev, arg.results[i].lane, NO_COMMAND); in margin_test_lanes()
298 margin_set_cmd(arg.recv->dev, arg.results[i].lane, CLEAR_ERROR_LOG(arg.recv->recvn)); in margin_test_lanes()
299 margin_set_cmd(arg.recv->dev, arg.results[i].lane, NO_COMMAND); in margin_test_lanes()
300 margin_set_cmd(arg.recv->dev, arg.results[i].lane, GO_TO_NORMAL_SETTINGS(arg.recv->recvn)); in margin_test_lanes()
301 margin_set_cmd(arg.recv->dev, arg.results[i].lane, NO_COMMAND); in margin_test_lanes()
307 margin_test_receiver(struct margin_dev *dev, u8 recvn, struct margin_link_args *args, in margin_test_receiver() argument
314 struct margin_recv recv = { .dev = dev, in margin_test_receiver()
326 if (!margin_check_ready_bit(dev->dev)) in margin_test_receiver()
333 if (!read_params_internal(dev, recvn, recv.lane_reversal, ¶ms)) in margin_test_receiver()
336 if (!read_params_internal(dev, recvn, recv.lane_reversal, ¶ms)) in margin_test_receiver()
360 results->link_speed = dev->link_speed; in margin_test_receiver()
369 = recv.lane_reversal ? dev->max_width - lanes_to_margin[i] - 1 : lanes_to_margin[i]; in margin_test_receiver()
429 margin_read_params(struct pci_access *pacc, struct pci_dev *dev, u8 recvn, in margin_read_params() argument
432 struct pci_cap *cap = pci_find_cap(dev, PCI_CAP_ID_EXP, PCI_CAP_NORMAL); in margin_read_params()
436 bool dev_down = margin_port_is_down(dev); in margin_read_params()
457 if (!margin_find_pair(pacc, dev, &down, &up)) in margin_read_params()
464 if (!margin_check_ready_bit(dut->dev)) in margin_read_params()
487 struct margin_dev *dev = &link->down_port; in margin_process_args() local
490 u8 receivers_n = 2 + 2 * dev->retimers_n; in margin_process_args()
513 args->lanes_n = dev->neg_width; in margin_process_args()
521 if (args->lanes[i] >= dev->neg_width) in margin_process_args()