Lines Matching refs:alu_table
471 u32 alu_table[4];
497 ksz9477_read_table(dev, alu_table);
500 alu_table[0] = ALU_V_STATIC_VALID;
501 alu_table[1] |= BIT(port);
503 alu_table[1] |= ALU_V_USE_FID;
504 alu_table[2] = (vid << ALU_V_FID_S);
505 alu_table[2] |= ((addr[0] << 8) | addr[1]);
506 alu_table[3] = ((addr[2] << 24) | (addr[3] << 16));
507 alu_table[3] |= ((addr[4] << 8) | addr[5]);
509 ksz9477_write_table(dev, alu_table);
527 u32 alu_table[4];
552 ksz_read32(dev, REG_SW_ALU_VAL_A, &alu_table[0]);
553 if (alu_table[0] & ALU_V_STATIC_VALID) {
554 ksz_read32(dev, REG_SW_ALU_VAL_B, &alu_table[1]);
555 ksz_read32(dev, REG_SW_ALU_VAL_C, &alu_table[2]);
556 ksz_read32(dev, REG_SW_ALU_VAL_D, &alu_table[3]);
559 alu_table[1] &= ~BIT(port);
562 if ((alu_table[1] & ALU_V_PORT_MAP) == 0) {
563 alu_table[0] = 0;
564 alu_table[1] = 0;
565 alu_table[2] = 0;
566 alu_table[3] = 0;
569 alu_table[0] = 0;
570 alu_table[1] = 0;
571 alu_table[2] = 0;
572 alu_table[3] = 0;
575 ksz9477_write_table(dev, alu_table);
590 static void ksz9477_convert_alu(struct alu_struct *alu, u32 *alu_table)
592 alu->is_static = !!(alu_table[0] & ALU_V_STATIC_VALID);
593 alu->is_src_filter = !!(alu_table[0] & ALU_V_SRC_FILTER);
594 alu->is_dst_filter = !!(alu_table[0] & ALU_V_DST_FILTER);
595 alu->prio_age = (alu_table[0] >> ALU_V_PRIO_AGE_CNT_S) &
597 alu->mstp = alu_table[0] & ALU_V_MSTP_M;
599 alu->is_override = !!(alu_table[1] & ALU_V_OVERRIDE);
600 alu->is_use_fid = !!(alu_table[1] & ALU_V_USE_FID);
601 alu->port_forward = alu_table[1] & ALU_V_PORT_MAP;
603 alu->fid = (alu_table[2] >> ALU_V_FID_S) & ALU_V_FID_M;
605 alu->mac[0] = (alu_table[2] >> 8) & 0xFF;
606 alu->mac[1] = alu_table[2] & 0xFF;
607 alu->mac[2] = (alu_table[3] >> 24) & 0xFF;
608 alu->mac[3] = (alu_table[3] >> 16) & 0xFF;
609 alu->mac[4] = (alu_table[3] >> 8) & 0xFF;
610 alu->mac[5] = alu_table[3] & 0xFF;
618 u32 alu_table[4];
646 ksz9477_read_table(dev, alu_table);
648 ksz9477_convert_alu(&alu, alu_table);