Re: [PATCH v1] [v1] platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifictions

From: Hans de Goede
Date: Mon Aug 21 2023 - 06:04:49 EST


Hi,

On 8/14/23 19:53, Shiih-Yi Chen wrote:
> From: shihyic <shihyic@xxxxxxxxxx>
>
> rshim console does not show all entries of dmesg.
>
> Fixed by setting MLXBF_TM_TX_LWM_IRQ for every CONSOLE notification.
>
>
> Signed-off-by: shihyic <shihyic@xxxxxxxxxx>
> Review-by: limings@xxxxxxxxxx
>
> ---
> drivers/platform/mellanox/mlxbf-tmfifo.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/mellanox/mlxbf-tmfifo.c b/drivers/platform/mellanox/mlxbf-tmfifo.c
> index a79318e90a13..4561b7d42412 100644
> --- a/drivers/platform/mellanox/mlxbf-tmfifo.c
> +++ b/drivers/platform/mellanox/mlxbf-tmfifo.c
> @@ -887,6 +887,8 @@ static bool mlxbf_tmfifo_virtio_notify(struct virtqueue *vq)
> tm_vdev = fifo->vdev[VIRTIO_ID_CONSOLE];
> mlxbf_tmfifo_console_output(tm_vdev, vring);
> spin_unlock_irqrestore(&fifo->spin_lock[0], flags);
> + test_and_set_bit(MLXBF_TM_TX_LWM_IRQ,
> + &fifo->pend_events);

You are not doing anything with the test result of test_and_set_bit() here,
so I think you can just use a (cheaper) set_bit() call here ?

Regards,

Hans



> } else if (test_and_set_bit(MLXBF_TM_TX_LWM_IRQ,
> &fifo->pend_events)) {
> return true;