diff options
author | Vivien Didelot <vivien.didelot@savoirfairelinux.com> | 2017-05-01 21:05:15 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-05-01 22:03:10 +0300 |
commit | d2ca1ea18db6a90475b983e65e8435632fe3d57e (patch) | |
tree | 8092737dadf5678bc369a263cd6c7299b407a6c7 /drivers/net/dsa/mv88e6xxx/global1_vtu.c | |
parent | 8ee51f6b4f0819fd3d6a4143222be796779cf501 (diff) | |
download | linux-d2ca1ea18db6a90475b983e65e8435632fe3d57e.tar.xz |
net: dsa: mv88e6xxx: move VTU SID accessors
Add helpers to access the VTU SID register in the global1_vtu.c file.
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/global1_vtu.c')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx/global1_vtu.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/global1_vtu.c b/drivers/net/dsa/mv88e6xxx/global1_vtu.c index 81d6f9f3c84a..201c063d15f2 100644 --- a/drivers/net/dsa/mv88e6xxx/global1_vtu.c +++ b/drivers/net/dsa/mv88e6xxx/global1_vtu.c @@ -39,6 +39,31 @@ int mv88e6xxx_g1_vtu_fid_write(struct mv88e6xxx_chip *chip, return mv88e6xxx_g1_write(chip, GLOBAL_VTU_FID, val); } +/* Offset 0x03: VTU SID Register */ + +int mv88e6xxx_g1_vtu_sid_read(struct mv88e6xxx_chip *chip, + struct mv88e6xxx_vtu_entry *entry) +{ + u16 val; + int err; + + err = mv88e6xxx_g1_read(chip, GLOBAL_VTU_SID, &val); + if (err) + return err; + + entry->sid = val & GLOBAL_VTU_SID_MASK; + + return 0; +} + +int mv88e6xxx_g1_vtu_sid_write(struct mv88e6xxx_chip *chip, + struct mv88e6xxx_vtu_entry *entry) +{ + u16 val = entry->sid & GLOBAL_VTU_SID_MASK; + + return mv88e6xxx_g1_write(chip, GLOBAL_VTU_SID, val); +} + /* Offset 0x05: VTU Operation Register */ int mv88e6xxx_g1_vtu_op_wait(struct mv88e6xxx_chip *chip) |