Lines Matching defs:usb4

228 static bool supports_software(const struct usb4_port *usb4)
230 return usb4->margining->caps[0] & USB4_MARGIN_CAP_0_MODES_SW;
233 static bool supports_hardware(const struct usb4_port *usb4)
235 return usb4->margining->caps[0] & USB4_MARGIN_CAP_0_MODES_HW;
238 static bool both_lanes(const struct usb4_port *usb4)
240 return usb4->margining->caps[0] & USB4_MARGIN_CAP_0_2_LANES;
243 static unsigned int independent_voltage_margins(const struct usb4_port *usb4)
245 return (usb4->margining->caps[0] & USB4_MARGIN_CAP_0_VOLTAGE_INDP_MASK) >>
249 static bool supports_time(const struct usb4_port *usb4)
251 return usb4->margining->caps[0] & USB4_MARGIN_CAP_0_TIME;
255 static unsigned int independent_time_margins(const struct usb4_port *usb4)
257 return (usb4->margining->caps[1] & USB4_MARGIN_CAP_1_TIME_INDP_MASK) >>
267 struct usb4_port *usb4 = port->usb4;
276 if (usb4->margining->software) {
293 if (val < usb4->margining->min_ber_level ||
294 val > usb4->margining->max_ber_level) {
299 usb4->margining->ber_level = val;
320 struct usb4_port *usb4 = port->usb4;
322 if (usb4->margining->software)
324 ber_level_show(s, usb4->margining->ber_level);
332 struct usb4_port *usb4 = port->usb4;
340 cap0 = usb4->margining->caps[0];
342 cap1 = usb4->margining->caps[1];
346 supports_software(usb4) ? "yes" : "no");
347 if (supports_hardware(usb4)) {
350 ber_level_show(s, usb4->margining->min_ber_level);
352 ber_level_show(s, usb4->margining->max_ber_level);
358 both_lanes(usb4) ? "yes" : "no");
360 usb4->margining->voltage_steps);
362 usb4->margining->max_voltage_offset);
364 switch (independent_voltage_margins(usb4)) {
376 if (supports_time(usb4)) {
381 switch (independent_time_margins(usb4)) {
394 usb4->margining->time_steps);
396 usb4->margining->max_time_offset);
412 struct usb4_port *usb4 = port->usb4;
429 usb4->margining->lanes = 0;
431 usb4->margining->lanes = 1;
434 if (both_lanes(usb4))
435 usb4->margining->lanes = 7;
452 struct usb4_port *usb4 = port->usb4;
459 lanes = usb4->margining->lanes;
460 if (both_lanes(usb4)) {
485 struct usb4_port *usb4 = port->usb4;
502 if (supports_software(usb4))
503 usb4->margining->software = true;
507 if (supports_hardware(usb4))
508 usb4->margining->software = false;
525 const struct usb4_port *usb4 = port->usb4;
532 if (supports_software(usb4)) {
533 if (usb4->margining->software)
539 if (supports_hardware(usb4)) {
540 if (usb4->margining->software)
556 struct usb4_port *usb4 = port->usb4;
593 margining = usb4->margining;
636 struct usb4_port *usb4 = port->usb4;
643 usb4->margining->results[0] = 0;
644 usb4->margining->results[1] = 0;
679 struct usb4_port *usb4 = port->usb4;
686 margining = usb4->margining;
749 struct usb4_port *usb4 = port->usb4;
765 if (!strcmp(buf, "time") && supports_time(usb4))
766 usb4->margining->time = true;
768 usb4->margining->time = false;
782 struct usb4_port *usb4 = port->usb4;
788 if (supports_time(usb4)) {
789 if (usb4->margining->time)
808 struct usb4_port *usb4 = port->usb4;
824 if (usb4->margining->time) {
826 usb4->margining->right_high = false;
828 usb4->margining->right_high = true;
833 usb4->margining->right_high = false;
835 usb4->margining->right_high = true;
850 struct usb4_port *usb4 = port->usb4;
856 if (usb4->margining->time) {
857 if (usb4->margining->right_high)
862 if (usb4->margining->right_high)
877 struct usb4_port *usb4;
882 usb4 = port->usb4;
883 if (!usb4)
899 usb4->margining = margining;
902 if (supports_software(usb4))
912 if (supports_time(usb4)) {
926 if (supports_hardware(usb4)) {
946 if (independent_voltage_margins(usb4) ||
947 (supports_time(usb4) && independent_time_margins(usb4)))
956 if (!port->usb4)
964 kfree(port->usb4->margining);
965 port->usb4->margining = NULL;