i2c: npcm: Add tx complete counter
authorTali Perry <tali.perry1@gmail.com>
Tue, 17 May 2022 10:11:37 +0000 (18:11 +0800)
committerWolfram Sang <wsa@kernel.org>
Sat, 21 May 2022 05:52:23 +0000 (07:52 +0200)
tx_complete counter is used to indicate successful transaction count.
Similar counters for failed tx were previously added.

Signed-off-by: Tali Perry <tali.perry1@gmail.com>
Signed-off-by: Tyrone Ting <kfting@nuvoton.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-npcm7xx.c

index 489b4c8ad0ee5b0644813f54c9567cfa34dbc04b..36f8aa7ab10609695b91bc587ffb4a058a66a5ce 100644 (file)
@@ -314,6 +314,7 @@ struct npcm_i2c {
        u64 rec_fail_cnt;
        u64 nack_cnt;
        u64 timeout_cnt;
+       u64 tx_complete_cnt;
 };
 
 static inline void npcm_i2c_select_bank(struct npcm_i2c *bus,
@@ -684,6 +685,8 @@ static void npcm_i2c_callback(struct npcm_i2c *bus,
        switch (op_status) {
        case I2C_MASTER_DONE_IND:
                bus->cmd_err = bus->msgs_num;
+               if (bus->tx_complete_cnt < ULLONG_MAX)
+                       bus->tx_complete_cnt++;
                fallthrough;
        case I2C_BLOCK_BYTES_ERR_IND:
                /* Master tx finished and all transmit bytes were sent */
@@ -2223,6 +2226,7 @@ static void npcm_i2c_init_debugfs(struct platform_device *pdev,
        debugfs_create_u64("rec_succ_cnt", 0444, d, &bus->rec_succ_cnt);
        debugfs_create_u64("rec_fail_cnt", 0444, d, &bus->rec_fail_cnt);
        debugfs_create_u64("timeout_cnt", 0444, d, &bus->timeout_cnt);
+       debugfs_create_u64("tx_complete_cnt", 0444, d, &bus->tx_complete_cnt);
 
        bus->debugfs = d;
 }