mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* tty/8250: Deactivate the HSUART DMA for the DNV CPU
@ 2025-06-25  3:14 micas-opensource
  2025-06-25  4:33 ` Andy Shevchenko
  0 siblings, 1 reply; 2+ messages in thread
From: micas-opensource @ 2025-06-25  3:14 UTC (permalink / raw)
  To: andy, gregkh, jirislaby; +Cc: linux-kernel, linux-serial, Philo Shao

From: Philo Shao <philo@micasnetworks.com>

Intel DNV CPU reports an error, indicating that there is a possibility of abnormal serial port functionality and the CPU may hang. 
The HSUART DMA will be deactivated for the DNV CPU.

Signed-off-by: Philo Shao<philo@micasnetworks.com>
---
 drivers/tty/serial/8250/8250_mid.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_mid.c b/drivers/tty/serial/8250/8250_mid.c
index 2cc78a4bf..e4a5d6358 100644
--- a/drivers/tty/serial/8250/8250_mid.c
+++ b/drivers/tty/serial/8250/8250_mid.c
@@ -321,13 +321,17 @@ static int mid8250_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	if (!uart.port.membase)
 		return -ENOMEM;
 
-	ret = mid->board->setup(mid, &uart.port);
-	if (ret)
-		return ret;
-
-	ret = mid8250_dma_setup(mid, &uart);
-	if (ret)
-		goto err;
+	if (id->device != PCI_DEVICE_ID_INTEL_DNV_UART) {
+		ret = mid->board->setup(mid, &uart.port);
+		if (ret)
+			return ret;
+
+		ret = mid8250_dma_setup(mid, &uart);
+		if (ret)
+			goto err;
+	} else {
+		uart.port.handle_irq = dnv_handle_irq;
+	}
 
 	ret = serial8250_register_8250_port(&uart);
 	if (ret < 0)
-- 
2.25.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: tty/8250: Deactivate the HSUART DMA for the DNV CPU
  2025-06-25  3:14 tty/8250: Deactivate the HSUART DMA for the DNV CPU micas-opensource
@ 2025-06-25  4:33 ` Andy Shevchenko
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Shevchenko @ 2025-06-25  4:33 UTC (permalink / raw)
  To: micas-opensource
  Cc: andy, gregkh, jirislaby, linux-kernel, linux-serial, Philo Shao

On Wed, Jun 25, 2025 at 6:14 AM micas-opensource <zjianan156@gmail.com> wrote:
>
> From: Philo Shao <philo@micasnetworks.com>
>
> Intel DNV CPU reports an error, indicating that there is a possibility of abnormal serial port functionality and the CPU may hang.
> The HSUART DMA will be deactivated for the DNV CPU.

Please, wrap lines around ~72 characters.

Nevertheless, we want to know a bit more, i.e. what kind of CPU
errors, how the symptoms look like. Also have you checked if there is
an official errata for this case? If so, please, mention the document
number, errata title and proposed / recommended solution.

...

> -       ret = mid->board->setup(mid, &uart.port);
> -       if (ret)
> -               return ret;
> -
> -       ret = mid8250_dma_setup(mid, &uart);
> -       if (ret)
> -               goto err;
> +       if (id->device != PCI_DEVICE_ID_INTEL_DNV_UART) {

Wouldn't it be just enough to skip DMA setup in the
mid8250_dma_setup() for this ID?

> +               ret = mid->board->setup(mid, &uart.port);
> +               if (ret)
> +                       return ret;
> +
> +               ret = mid8250_dma_setup(mid, &uart);
> +               if (ret)
> +                       goto err;
> +       } else {
> +               uart.port.handle_irq = dnv_handle_irq;
> +       }


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-06-25  4:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-25  3:14 tty/8250: Deactivate the HSUART DMA for the DNV CPU micas-opensource
2025-06-25  4:33 ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®