From 091e8249c68402368cebf345c520bbbe1aea49ef Mon Sep 17 00:00:00 2001 From: Ksawlii <ksawery.blaszczak@proton.me> Date: Sun, 24 Nov 2024 00:23:51 +0100 Subject: [PATCH] Revert "net: dsa: mv88e6xxx: read FID when handling ATU violations" This reverts commit 6fad67a4c74d4f8ebf5da40e7c7d5af0ad82f267. --- drivers/net/dsa/mv88e6xxx/global1_atu.c | 72 ++++--------------------- 1 file changed, 11 insertions(+), 61 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/global1_atu.c b/drivers/net/dsa/mv88e6xxx/global1_atu.c index b55800422..bac9a8a68 100755 --- a/drivers/net/dsa/mv88e6xxx/global1_atu.c +++ b/drivers/net/dsa/mv88e6xxx/global1_atu.c @@ -114,19 +114,6 @@ static int mv88e6xxx_g1_atu_op_wait(struct mv88e6xxx_chip *chip) return mv88e6xxx_g1_wait_bit(chip, MV88E6XXX_G1_ATU_OP, bit, 0); } -static int mv88e6xxx_g1_read_atu_violation(struct mv88e6xxx_chip *chip) -{ - int err; - - err = mv88e6xxx_g1_write(chip, MV88E6XXX_G1_ATU_OP, - MV88E6XXX_G1_ATU_OP_BUSY | - MV88E6XXX_G1_ATU_OP_GET_CLR_VIOLATION); - if (err) - return err; - - return mv88e6xxx_g1_atu_op_wait(chip); -} - static int mv88e6xxx_g1_atu_op(struct mv88e6xxx_chip *chip, u16 fid, u16 op) { u16 val; @@ -172,41 +159,6 @@ int mv88e6xxx_g1_atu_get_next(struct mv88e6xxx_chip *chip, u16 fid) return mv88e6xxx_g1_atu_op(chip, fid, MV88E6XXX_G1_ATU_OP_GET_NEXT_DB); } -static int mv88e6xxx_g1_atu_fid_read(struct mv88e6xxx_chip *chip, u16 *fid) -{ - u16 val = 0, upper = 0, op = 0; - int err = -EOPNOTSUPP; - - if (mv88e6xxx_num_databases(chip) > 256) { - err = mv88e6xxx_g1_read(chip, MV88E6352_G1_ATU_FID, &val); - val &= 0xfff; - if (err) - return err; - } else { - err = mv88e6xxx_g1_read(chip, MV88E6XXX_G1_ATU_OP, &op); - if (err) - return err; - if (mv88e6xxx_num_databases(chip) > 64) { - /* ATU DBNum[7:4] are located in ATU Control 15:12 */ - err = mv88e6xxx_g1_read(chip, MV88E6XXX_G1_ATU_CTL, - &upper); - if (err) - return err; - - upper = (upper >> 8) & 0x00f0; - } else if (mv88e6xxx_num_databases(chip) > 16) { - /* ATU DBNum[5:4] are located in ATU Operation 9:8 */ - upper = (op >> 4) & 0x30; - } - - /* ATU DBNum[3:0] are located in ATU Operation 3:0 */ - val = (op & 0xf) | upper; - } - *fid = val; - - return err; -} - /* Offset 0x0C: ATU Data Register */ static int mv88e6xxx_g1_atu_data_read(struct mv88e6xxx_chip *chip, @@ -401,12 +353,14 @@ static irqreturn_t mv88e6xxx_g1_atu_prob_irq_thread_fn(int irq, void *dev_id) { struct mv88e6xxx_chip *chip = dev_id; struct mv88e6xxx_atu_entry entry; - int err, spid; - u16 val, fid; + int spid; + int err; + u16 val; mv88e6xxx_reg_lock(chip); - err = mv88e6xxx_g1_read_atu_violation(chip); + err = mv88e6xxx_g1_atu_op(chip, 0, + MV88E6XXX_G1_ATU_OP_GET_CLR_VIOLATION); if (err) goto out; @@ -414,10 +368,6 @@ static irqreturn_t mv88e6xxx_g1_atu_prob_irq_thread_fn(int irq, void *dev_id) if (err) goto out; - err = mv88e6xxx_g1_atu_fid_read(chip, &fid); - if (err) - goto out; - err = mv88e6xxx_g1_atu_data_read(chip, &entry); if (err) goto out; @@ -436,22 +386,22 @@ static irqreturn_t mv88e6xxx_g1_atu_prob_irq_thread_fn(int irq, void *dev_id) if (val & MV88E6XXX_G1_ATU_OP_MEMBER_VIOLATION) { dev_err_ratelimited(chip->dev, - "ATU member violation for %pM fid %u portvec %x spid %d\n", - entry.mac, fid, entry.portvec, spid); + "ATU member violation for %pM portvec %x spid %d\n", + entry.mac, entry.portvec, spid); chip->ports[spid].atu_member_violation++; } if (val & MV88E6XXX_G1_ATU_OP_MISS_VIOLATION) { dev_err_ratelimited(chip->dev, - "ATU miss violation for %pM fid %u portvec %x spid %d\n", - entry.mac, fid, entry.portvec, spid); + "ATU miss violation for %pM portvec %x spid %d\n", + entry.mac, entry.portvec, spid); chip->ports[spid].atu_miss_violation++; } if (val & MV88E6XXX_G1_ATU_OP_FULL_VIOLATION) { dev_err_ratelimited(chip->dev, - "ATU full violation for %pM fid %u portvec %x spid %d\n", - entry.mac, fid, entry.portvec, spid); + "ATU full violation for %pM portvec %x spid %d\n", + entry.mac, entry.portvec, spid); chip->ports[spid].atu_full_violation++; } mv88e6xxx_reg_unlock(chip);