mirror of https://gitee.com/openkylin/linux.git
net: dsa: mv88e6xxx: better IEEE Prio Mapping Table description
Kill the remaining shift macro in favor of calculating at compile time its value from the more descriptive mask, which gives us a better representation of the register layout. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
da16349d7e
commit
ddcbabf440
|
@ -12,6 +12,7 @@
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/bitfield.h>
|
||||||
#include <linux/if_bridge.h>
|
#include <linux/if_bridge.h>
|
||||||
#include <linux/phy.h>
|
#include <linux/phy.h>
|
||||||
|
|
||||||
|
@ -912,15 +913,13 @@ int mv88e6095_port_tag_remap(struct mv88e6xxx_chip *chip, int port)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mv88e6xxx_port_ieeepmt_write(struct mv88e6xxx_chip *chip,
|
static int mv88e6xxx_port_ieeepmt_write(struct mv88e6xxx_chip *chip,
|
||||||
int port, u16 table,
|
int port, u16 table, u8 ptr, u16 data)
|
||||||
u8 pointer, u16 data)
|
|
||||||
{
|
{
|
||||||
u16 reg;
|
u16 reg;
|
||||||
|
|
||||||
reg = MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_UPDATE |
|
reg = MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_UPDATE | table |
|
||||||
table |
|
(ptr << __bf_shf(MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_PTR_MASK)) |
|
||||||
(pointer << MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_POINTER_SHIFT) |
|
(data & MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_DATA_MASK);
|
||||||
data;
|
|
||||||
|
|
||||||
return mv88e6xxx_port_write(chip, port,
|
return mv88e6xxx_port_write(chip, port,
|
||||||
MV88E6390_PORT_IEEE_PRIO_MAP_TABLE, reg);
|
MV88E6390_PORT_IEEE_PRIO_MAP_TABLE, reg);
|
||||||
|
|
|
@ -222,6 +222,7 @@
|
||||||
/* Offset 0x18: IEEE Priority Mapping Table */
|
/* Offset 0x18: IEEE Priority Mapping Table */
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE 0x18
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE 0x18
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_UPDATE 0x8000
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_UPDATE 0x8000
|
||||||
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_MASK 0x7000
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_INGRESS_PCP 0x0000
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_INGRESS_PCP 0x0000
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_GREEN_PCP 0x1000
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_GREEN_PCP 0x1000
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_YELLOW_PCP 0x2000
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_YELLOW_PCP 0x2000
|
||||||
|
@ -229,7 +230,8 @@
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_GREEN_DSCP 0x5000
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_GREEN_DSCP 0x5000
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_YELLOW_DSCP 0x6000
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_YELLOW_DSCP 0x6000
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_AVB_DSCP 0x7000
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_EGRESS_AVB_DSCP 0x7000
|
||||||
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_POINTER_SHIFT 9
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_PTR_MASK 0x0e00
|
||||||
|
#define MV88E6390_PORT_IEEE_PRIO_MAP_TABLE_DATA_MASK 0x01ff
|
||||||
|
|
||||||
/* Offset 0x18: Port IEEE Priority Remapping Registers (0-3) */
|
/* Offset 0x18: Port IEEE Priority Remapping Registers (0-3) */
|
||||||
#define MV88E6095_PORT_IEEE_PRIO_REMAP_0123 0x18
|
#define MV88E6095_PORT_IEEE_PRIO_REMAP_0123 0x18
|
||||||
|
|
Loading…
Reference in New Issue