From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E31FC433EF for ; Wed, 16 Feb 2022 11:46:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232267AbiBPLrJ (ORCPT ); Wed, 16 Feb 2022 06:47:09 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:41336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230254AbiBPLrJ (ORCPT ); Wed, 16 Feb 2022 06:47:09 -0500 Received: from muru.com (muru.com [72.249.23.125]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4986346171 for ; Wed, 16 Feb 2022 03:46:57 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTPS id B10BD80EB; Wed, 16 Feb 2022 11:46:14 +0000 (UTC) Date: Wed, 16 Feb 2022 13:46:54 +0200 From: Tony Lindgren To: Romain Naour Cc: linux-omap@vger.kernel.org Subject: Re: AM5749: tty serial 8250 omap driver crash Message-ID: References: <2c80fd8a-2935-9a6d-43fd-f95fa53c93d2@smile.fr> <9f0cb8f9-ac94-eb50-266a-95df521a7360@smile.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org * Romain Naour [220216 09:04]: > Hello, > > Le 14/02/2022 à 14:08, Tony Lindgren a écrit : > > * Tony Lindgren [220214 07:43]: > >> Looks like the following script to just toggle the module state locks > >> up things for me on beagle-x15 very fast. So yeah now I'm able to > >> reproduce the issue. Seems like the module is not ready right after > >> enabling it live we've seen for dra7 iva for example. > > > > Looks like the following patch is also needed for uarts to avoid unbind > > clock_unprepare warnings. But even with this patch dra7 uarts won't behave. > > On unbind, there will be a clock "l4per-clkctrl:0128:0: failed to disable" > > warning. Looks like after that any following clock enable does not seem to > > work and that will cause the register access errors. > > > > Looks like this is a dra7 specific issue as a similar test script on omap4 > > duovero keeps on going instead. > > Thanks for the help and the patch! > > I removed my patch removing the quirk and applied you patch but I can still > reproduce the issue. Yeah issues still exists for sure, looks like also omap4 fails but it just takes a while to produce the clkctrl disable error. And remove for 8250_omap is incomplete.. Below is a patch that makes the rebind of kernel serial console behave for me together with the ti-sysc patch. Additionally I also need to disable dma for now with: &uart3 { /delete-property/ dma-names; }; > Do you need some info about the kernel configuration? Not really but if you can please test again with the ti-sysc patch, 8250_omap patch and with your serdev uart dma disabled with delete-property? Regards, Tony 8< ----------------- diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c --- a/drivers/tty/serial/8250/8250_omap.c +++ b/drivers/tty/serial/8250/8250_omap.c @@ -1475,10 +1475,15 @@ static int omap8250_probe(struct platform_device *pdev) static int omap8250_remove(struct platform_device *pdev) { struct omap8250_priv *priv = platform_get_drvdata(pdev); + struct uart_8250_port *up = serial8250_get_port(priv->line); + pm_runtime_resume_and_get(&pdev->dev); pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); + dev_pm_clear_wake_irq(&pdev->dev); + cancel_work_sync(&priv->qos_work); + cancel_delayed_work(&up->overrun_backoff); serial8250_unregister_port(priv->line); cpu_latency_qos_remove_request(&priv->pm_qos_request); device_init_wakeup(&pdev->dev, false);