Re: [PATCH v2 5/7] serial: qcom-geni: fix rx cancel dma status bit
From: Doug Anderson
Date: Thu Oct 03 2024 - 15:56:10 EST
Hi,
On Tue, Oct 1, 2024 at 5:51 AM Johan Hovold <johan+linaro@xxxxxxxxxx> wrote:
>
> Cancelling an rx command is signalled using bit 14 of the rx DMA status
> register and not bit 11.
>
> This bit is currently unused, but this error becomes apparent, for
> example, when tracing the status register when closing the port.
>
> Fixes: eddac5af0654 ("soc: qcom: Add GENI based QUP Wrapper driver")
> Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
> ---
> include/linux/soc/qcom/geni-se.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/soc/qcom/geni-se.h b/include/linux/soc/qcom/geni-se.h
> index c3bca9c0bf2c..2996a3c28ef3 100644
> --- a/include/linux/soc/qcom/geni-se.h
> +++ b/include/linux/soc/qcom/geni-se.h
> @@ -258,8 +258,8 @@ struct geni_se {
> #define RX_DMA_PARITY_ERR BIT(5)
> #define RX_DMA_BREAK GENMASK(8, 7)
> #define RX_GENI_GP_IRQ GENMASK(10, 5)
> -#define RX_GENI_CANCEL_IRQ BIT(11)
> #define RX_GENI_GP_IRQ_EXT GENMASK(13, 12)
> +#define RX_GENI_CANCEL_IRQ BIT(14)
This looks right, but do you want to fix all the rest of the wrong
bits in this list while you're at it? Things look OK up to the
"RX_FLUSH_DONE" and then they're wrong. Specifically:
* My datasheet doesn't have RX_DMA_PARITY_ERR. Unless maybe it's one
of the "GP" IRQs?
* My datassheet doesn't have RX_DMA_BREAK. Unless maybe it's one of
the "GP" IRQs (though why would it be two bits big?)
* RX_GENI_GP_IRQ is 12:5, not 10:5
* My datasheet has RX_GENI_CMD_FAILURE as BIT(15).
In any case, this does make it better so:
Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
-Doug