Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net/wan/fsl_ucc_hdlc: hmask

Ability to set hmask in the device-tree,
which can be used to change address
filtering of packets.

Signed-off-by: David Gounaris <david.gounaris@infinera.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

David Gounaris and committed by
David S. Miller
045f77ba 8978ca7c

+11 -1
+6
Documentation/devicetree/bindings/soc/fsl/cpm_qe/network.txt
··· 98 98 usage: optional for tdm interface 99 99 value type: <empty> 100 100 Definition : Internal loopback connecting on TDM layer. 101 + - fsl,hmask 102 + usage: optional 103 + Value type: <u16> 104 + Definition: HDLC address recognition. Set to zero to disable 105 + address filtering of packets: 106 + fsl,hmask = /bits/ 16 <0x0000>; 101 107 102 108 Example for tdm interface: 103 109
+4 -1
drivers/net/wan/fsl_ucc_hdlc.c
··· 265 265 iowrite16be(MAX_FRAME_LENGTH, &priv->ucc_pram->mflr); 266 266 iowrite16be(DEFAULT_RFTHR, &priv->ucc_pram->rfthr); 267 267 iowrite16be(DEFAULT_RFTHR, &priv->ucc_pram->rfcnt); 268 - iowrite16be(DEFAULT_ADDR_MASK, &priv->ucc_pram->hmask); 268 + iowrite16be(priv->hmask, &priv->ucc_pram->hmask); 269 269 iowrite16be(DEFAULT_HDLC_ADDR, &priv->ucc_pram->haddr1); 270 270 iowrite16be(DEFAULT_HDLC_ADDR, &priv->ucc_pram->haddr2); 271 271 iowrite16be(DEFAULT_HDLC_ADDR, &priv->ucc_pram->haddr3); ··· 1095 1095 if (ret) 1096 1096 goto free_utdm; 1097 1097 } 1098 + 1099 + if (of_property_read_u16(np, "fsl,hmask", &uhdlc_priv->hmask)) 1100 + uhdlc_priv->hmask = DEFAULT_ADDR_MASK; 1098 1101 1099 1102 ret = uhdlc_init(uhdlc_priv); 1100 1103 if (ret) {
+1
drivers/net/wan/fsl_ucc_hdlc.h
··· 106 106 107 107 unsigned short encoding; 108 108 unsigned short parity; 109 + unsigned short hmask; 109 110 u32 clocking; 110 111 spinlock_t lock; /* lock for Tx BD and Tx buffer */ 111 112 #ifdef CONFIG_PM