diff mbox series

[iproute2-next,5.16,v6,4/5] iplink_can: print brp and dbrp bittiming variables

Message ID 20211103164428.692722-5-mailhol.vincent@wanadoo.fr (mailing list archive)
State Accepted
Commit 0f7bb8d842b158169e0950b9a6ac642877e044bd
Delegated to: David Ahern
Headers show
Series iplink_can: cleaning, fixes and adding TDC support. | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Vincent Mailhol Nov. 3, 2021, 4:44 p.m. UTC
Report the value of the bit-rate prescaler (brp) for both the nominal
and the data bittiming.

Currently, only the constant brp values (brp_{min,max,inc}) are being
reported. Also, brp is the only member of struct can_bittiming not
being reported.

Noticeably, brp could be calculated by hand from the other bittiming
parameters with below formula:

        brp = clock * tq / 1000000000

with clock in hertz and tq in nano second (thus the need of a 1
billion factor to convert it back to second).

But because above formula is not so trivial to remember and is
subjected to rounding errors, it makes sense to directly output
{d,}bpr.

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
---
 ip/iplink_can.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/ip/iplink_can.c b/ip/iplink_can.c
index c0165237..cf6b06b8 100644
--- a/ip/iplink_can.c
+++ b/ip/iplink_can.c
@@ -344,6 +344,7 @@  static void can_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 		print_uint(PRINT_ANY, "phase_seg2", " phase-seg2 %u",
 			   bt->phase_seg2);
 		print_uint(PRINT_ANY, "sjw", " sjw %u", bt->sjw);
+		print_uint(PRINT_ANY, "brp", " brp %u", bt->brp);
 		close_json_object();
 	}
 
@@ -419,6 +420,7 @@  static void can_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 		print_uint(PRINT_ANY, "phase_seg2", " dphase-seg2 %u",
 			   dbt->phase_seg2);
 		print_uint(PRINT_ANY, "sjw", " dsjw %u", dbt->sjw);
+		print_uint(PRINT_ANY, "brp", " dbrp %u", dbt->brp);
 		close_json_object();
 	}