mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
net: macb: Fix SUBNS increment and increase resolution
commit 7ad342bc58 upstream.
The subns increment register has 24 bits as follows:
RegBit[15:0] = Subns[23:8]; RegBit[31:24] = Subns[7:0]
Fix the same in the driver and increase sub ns resolution to the
best capable, 24 bits. This should be the case on all GEM versions
that this PTP driver supports.
Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d29baef043
commit
e8d59efd8e
@@ -499,7 +499,11 @@
|
||||
|
||||
/* Bitfields in TISUBN */
|
||||
#define GEM_SUBNSINCR_OFFSET 0
|
||||
#define GEM_SUBNSINCR_SIZE 16
|
||||
#define GEM_SUBNSINCRL_OFFSET 24
|
||||
#define GEM_SUBNSINCRL_SIZE 8
|
||||
#define GEM_SUBNSINCRH_OFFSET 0
|
||||
#define GEM_SUBNSINCRH_SIZE 16
|
||||
#define GEM_SUBNSINCR_SIZE 24
|
||||
|
||||
/* Bitfields in TI */
|
||||
#define GEM_NSINCR_OFFSET 0
|
||||
|
||||
@@ -115,7 +115,10 @@ static int gem_tsu_incr_set(struct macb *bp, struct tsu_incr *incr_spec)
|
||||
* to take effect.
|
||||
*/
|
||||
spin_lock_irqsave(&bp->tsu_clk_lock, flags);
|
||||
gem_writel(bp, TISUBN, GEM_BF(SUBNSINCR, incr_spec->sub_ns));
|
||||
/* RegBit[15:0] = Subns[23:8]; RegBit[31:24] = Subns[7:0] */
|
||||
gem_writel(bp, TISUBN, GEM_BF(SUBNSINCRL, incr_spec->sub_ns) |
|
||||
GEM_BF(SUBNSINCRH, (incr_spec->sub_ns >>
|
||||
GEM_SUBNSINCRL_SIZE)));
|
||||
gem_writel(bp, TI, GEM_BF(NSINCR, incr_spec->ns));
|
||||
spin_unlock_irqrestore(&bp->tsu_clk_lock, flags);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user