Lines Matching defs:adapter

24 static bool enable_gc_timeout(struct tsnep_adapter *adapter)
26 iowrite8(TSNEP_GC_ENABLE_TIMEOUT, adapter->addr + TSNEP_GC);
27 if (!(ioread32(adapter->addr + TSNEP_GC) & TSNEP_GC_TIMEOUT_ACTIVE))
33 static bool gc_timeout_signaled(struct tsnep_adapter *adapter)
35 if (ioread32(adapter->addr + TSNEP_GC) & TSNEP_GC_TIMEOUT_SIGNAL)
41 static bool ack_gc_timeout(struct tsnep_adapter *adapter)
43 iowrite8(TSNEP_GC_ENABLE_TIMEOUT, adapter->addr + TSNEP_GC);
44 if (ioread32(adapter->addr + TSNEP_GC) &
50 static bool enable_gc(struct tsnep_adapter *adapter, bool a)
63 iowrite8(enable, adapter->addr + TSNEP_GC);
64 if (!(ioread32(adapter->addr + TSNEP_GC) & active))
70 static bool disable_gc(struct tsnep_adapter *adapter)
72 iowrite8(TSNEP_GC_DISABLE, adapter->addr + TSNEP_GC);
73 if (ioread32(adapter->addr + TSNEP_GC) &
80 static bool gc_delayed_enable(struct tsnep_adapter *adapter, bool a, int delay)
86 if (!disable_gc(adapter))
91 if (!enable_gc_timeout(adapter))
97 time = ioread32(adapter->addr + ECM_SYSTEM_TIME_LOW);
99 iowrite32(time, adapter->addr + TSNEP_GC_TIME);
103 enabled = enable_gc(adapter, a);
117 if (gc_timeout_signaled(adapter))
120 if (!gc_timeout_signaled(adapter))
122 if (!ack_gc_timeout(adapter))
126 if (!disable_gc(adapter))
132 static bool tsnep_test_gc_enable(struct tsnep_adapter *adapter)
136 iowrite32(0x80000001, adapter->addr + TSNEP_GCL_A + 0);
137 iowrite32(100000, adapter->addr + TSNEP_GCL_A + 4);
140 if (!gc_delayed_enable(adapter, true, i))
144 iowrite32(0x80000001, adapter->addr + TSNEP_GCL_B + 0);
145 iowrite32(100000, adapter->addr + TSNEP_GCL_B + 4);
148 if (!gc_delayed_enable(adapter, false, i))
155 static void delay_base_time(struct tsnep_adapter *adapter,
162 tsnep_get_system_time(adapter, &system_time);
170 static void get_gate_state(struct tsnep_adapter *adapter, u32 *gc, u32 *gc_time,
178 time_high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
179 *gc_time = ioread32(adapter->addr + TSNEP_GC_TIME);
181 time_low = ioread32(adapter->addr + ECM_SYSTEM_TIME_LOW);
182 *gc = ioread32(adapter->addr + TSNEP_GC);
185 *gc_time = ioread32(adapter->addr + TSNEP_GC_TIME);
187 time_high = ioread32(adapter->addr + ECM_SYSTEM_TIME_HIGH);
210 static bool check_gate(struct tsnep_adapter *adapter)
221 get_gate_state(adapter, &gc, &gc_time, &system_time);
224 curr = &adapter->gcl[0];
225 prev = &adapter->gcl[1];
227 curr = &adapter->gcl[1];
228 prev = &adapter->gcl[0];
276 dev_err(&adapter->pdev->dev, "gate control time 0x%x!=0x%llx\n",
281 dev_err(&adapter->pdev->dev,
289 dev_err(&adapter->pdev->dev,
299 static bool check_gate_duration(struct tsnep_adapter *adapter, s64 ms)
304 if (!check_gate(adapter))
311 static bool enable_check_taprio(struct tsnep_adapter *adapter,
316 retval = tsnep_tc_setup(adapter->netdev, TC_SETUP_QDISC_TAPRIO, qopt);
320 if (!check_gate_duration(adapter, ms))
326 static bool disable_taprio(struct tsnep_adapter *adapter)
333 retval = tsnep_tc_setup(adapter->netdev, TC_SETUP_QDISC_TAPRIO, &qopt);
340 static bool run_taprio(struct tsnep_adapter *adapter,
343 if (!enable_check_taprio(adapter, qopt, ms))
346 if (!disable_taprio(adapter))
352 static bool tsnep_test_taprio(struct tsnep_adapter *adapter)
382 if (!run_taprio(adapter, qopt, 100))
406 if (!run_taprio(adapter, qopt, 100))
411 delay_base_time(adapter, qopt, 12);
435 if (!run_taprio(adapter, qopt, 100))
443 disable_taprio(adapter);
449 static bool tsnep_test_taprio_change(struct tsnep_adapter *adapter)
469 if (!enable_check_taprio(adapter, qopt, 100))
473 if (!enable_check_taprio(adapter, qopt, 100))
475 delay_base_time(adapter, qopt, 17);
476 if (!enable_check_taprio(adapter, qopt, 100))
483 delay_base_time(adapter, qopt, 2);
484 if (!enable_check_taprio(adapter, qopt, 100))
491 delay_base_time(adapter, qopt, 23);
492 if (!enable_check_taprio(adapter, qopt, 100))
502 delay_base_time(adapter, qopt, 11);
503 if (!enable_check_taprio(adapter, qopt, 100))
514 delay_base_time(adapter, qopt, 11);
515 if (!enable_check_taprio(adapter, qopt, 100))
528 delay_base_time(adapter, qopt, 3);
529 if (!enable_check_taprio(adapter, qopt, 100))
540 delay_base_time(adapter, qopt, 11);
541 if (!enable_check_taprio(adapter, qopt, 100))
552 delay_base_time(adapter, qopt, 1);
553 if (!enable_check_taprio(adapter, qopt, 100))
568 delay_base_time(adapter, qopt, 7);
569 if (!enable_check_taprio(adapter, qopt, 100))
584 delay_base_time(adapter, qopt, 6);
585 if (!enable_check_taprio(adapter, qopt, 100))
588 if (!disable_taprio(adapter))
596 disable_taprio(adapter);
602 static bool tsnep_test_taprio_extension(struct tsnep_adapter *adapter)
622 if (!enable_check_taprio(adapter, qopt, 100))
632 delay_base_time(adapter, qopt, 2);
633 if (!enable_check_taprio(adapter, qopt, 100))
645 delay_base_time(adapter, qopt, 7);
646 if (!enable_check_taprio(adapter, qopt, 100))
656 delay_base_time(adapter, qopt, 9);
657 if (!enable_check_taprio(adapter, qopt, 100))
671 delay_base_time(adapter, qopt, 3);
672 if (!enable_check_taprio(adapter, qopt, 100))
682 delay_base_time(adapter, qopt, 9);
683 if (!enable_check_taprio(adapter, qopt, 100))
697 if (!enable_check_taprio(adapter, qopt, 100))
707 delay_base_time(adapter, qopt, 19);
708 if (!enable_check_taprio(adapter, qopt, 100))
722 delay_base_time(adapter, qopt, 19);
723 if (!enable_check_taprio(adapter, qopt, 100))
739 delay_base_time(adapter, qopt, 1);
740 if (!enable_check_taprio(adapter, qopt, 100))
743 if (!disable_taprio(adapter))
751 disable_taprio(adapter);
770 struct tsnep_adapter *adapter = netdev_priv(netdev);
784 if (tsnep_test_gc_enable(adapter)) {
791 if (tsnep_test_taprio(adapter)) {
798 if (tsnep_test_taprio_change(adapter)) {
805 if (tsnep_test_taprio_extension(adapter)) {