<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,<br>
</p>
<div class="moz-cite-prefix">On 2023/7/5 18:29, Geert Uytterhoeven
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAMuHMdXoZiDupub2zEFjOwTJFswEsJq62zVa_K-g6TWg+zS7-g@mail.gmail.com">
<pre class="moz-quote-pre" wrap="">Hi Sui,
On Tue, Jun 27, 2023 at 4:57 PM Sui Jingfeng <a class="moz-txt-link-rfc2396E" href="mailto:suijingfeng@loongson.cn"><suijingfeng@loongson.cn></a> wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">On 2023/6/22 17:21, Geert Uytterhoeven wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">When the device is unbound from the driver, the display may be active.
Make sure it gets shut down.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
would you mind to give a short description why this is necessary.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
That's a good comment.
It turned out that this is not really necessary here, but to avoid a regression
with "[PATCH 34/39] drm: renesas: shmobile: Atomic conversion part 1", where
it is needed to call drm_atomic_helper_shutdown().
As the comments for drm_atomic_helper_shutdown() says it is the
atomic version of drm_helper_force_disable_all(), I figured I had to
introduce a call to the latter first, before doing the atomic conversion.
Does that make sense?
</pre>
</blockquote>
<p><br>
</p>
<p>I'm just noticed that I'm actually ask a duplicated question.</p>
<p>I didn't notice Laurent's remark about this patch.</p>
<p><br>
</p>
<p>I'm actually agree with Laurent that this function should be
turned into drm_atomic_helper_shutdown() finally.</p>
<p>Yes, I do noticed that you replace this function with in [PATCH
34/39],</p>
<p>Originally, I thought this patch could possibly merged with the
[PATCH 34/39]. <br>
</p>
<p>then, the net result of the merged two patch is equivalent to<br>
</p>
<p>adding <span class="p_add">drm_atomic_helper_shutdown() function
</span><span class="p_add">only in the </span><span
class="p_context">shmob_drm_remove() function.<br>
</span></p>
<p><span class="p_add"></span></p>
<p><br>
</p>
<p>I also realized that it is necessary that disable the CRTC when
the driver going to leave.</p>
<p>Otherwise there are some plane resource still being referenced.</p>
<p><br>
</p>
<p>OK, I'm satisfy about you answer (if no other reviewers
complains).</p>
<p>Thanks for you answer. :-)<br>
</p>
<blockquote type="cite"
cite="mid:CAMuHMdXoZiDupub2zEFjOwTJFswEsJq62zVa_K-g6TWg+zS7-g@mail.gmail.com">
<pre class="moz-quote-pre" wrap="">
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Signed-off-by: Geert Uytterhoeven <a class="moz-txt-link-rfc2396E" href="mailto:geert+renesas@glider.be"><geert+renesas@glider.be></a>
Reviewed-by: Laurent Pinchart <a class="moz-txt-link-rfc2396E" href="mailto:laurent.pinchart+renesas@ideasonboard.com"><laurent.pinchart+renesas@ideasonboard.com></a>
</pre>
</blockquote>
</blockquote>
<pre class="moz-quote-pre" wrap="">
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">--- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c
+++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c
@@ -16,6 +16,7 @@
#include <linux/pm_runtime.h>
#include <linux/slab.h>
+#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_generic.h>
#include <drm/drm_gem_dma_helper.h>
@@ -145,6 +146,7 @@ static int shmob_drm_remove(struct platform_device *pdev)
struct drm_device *ddev = &sdev->ddev;
drm_dev_unregister(ddev);
+ drm_helper_force_disable_all(ddev);
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Is it that the DRM core recommend us to use
drm_atomic_helper_disable_all() ?
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Well, drm_atomic_helper_shutdown() is a convenience wrapper
around drm_atomic_helper_disable_all()... But we can't call any
atomic helpers yet, before the conversion to atomic modesetting.
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap=""> drm_kms_helper_poll_fini(ddev);
return 0;
}
</pre>
</blockquote>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Gr{oetje,eeting}s,
Geert
</pre>
</blockquote>
</body>
</html>