<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/adp, branch linux-6.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-04-28T18:17:53Z</updated>
<entry>
<title>drm: adp: Remove pointless irq_lock spin lock</title>
<updated>2025-04-28T18:17:53Z</updated>
<author>
<name>Janne Grunau</name>
</author>
<published>2025-04-28T11:37:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8f6dfc4d7037e88cc0a4be4f290829946999341f'/>
<id>urn:sha1:8f6dfc4d7037e88cc0a4be4f290829946999341f</id>
<content type='text'>
Interrupt handlers run with interrupts disabled so it is not necessary
to protect them against reentrancy.

Reviewed-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
Signed-off-by: Janne Grunau &lt;j@jannau.net&gt;
Link: https://lore.kernel.org/r/20250428-drm_adp_fixes-v2-4-912e081e55d8@jannau.net
Signed-off-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
</content>
</entry>
<entry>
<title>drm: adp: Enable vblank interrupts in crtc's .atomic_enable</title>
<updated>2025-04-28T18:17:52Z</updated>
<author>
<name>Janne Grunau</name>
</author>
<published>2025-04-28T11:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c082a52125d9007b488d590c412fd126aa78c345'/>
<id>urn:sha1:c082a52125d9007b488d590c412fd126aa78c345</id>
<content type='text'>
Calling drm_crtc_vblank_on() drm_crtc_helper_funcs' atomic_enable is
expected to enable vblank interrupts. It may have been avoided here to
due to drm_crtc_vblank_get()'s error behavior after
drm_crtc_vblank_reset(). With that fixed in the preceding change the
driver can call drm_crtc_vblank_on() from adp_crtc_atomic_enable().

Reviewed-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
Signed-off-by: Janne Grunau &lt;j@jannau.net&gt;
Link: https://lore.kernel.org/r/20250428-drm_adp_fixes-v2-3-912e081e55d8@jannau.net
Signed-off-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
</content>
</entry>
<entry>
<title>drm: adp: Handle drm_crtc_vblank_get() errors</title>
<updated>2025-04-28T18:17:52Z</updated>
<author>
<name>Janne Grunau</name>
</author>
<published>2025-04-28T11:37:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a7d6681d5adde7dc7e648dcc6b9e9be6ca93d5d'/>
<id>urn:sha1:7a7d6681d5adde7dc7e648dcc6b9e9be6ca93d5d</id>
<content type='text'>
drm_crtc_vblank_get() may fail when it's called before
drm_crtc_vblank_on() on a resetted CRTC. This occurs in
drm_crtc_helper_funcs' atomic_flush() calls after
drm_atomic_helper_crtc_reset() for example directly after probe.  Send
the vblank event directly in such cases.  Avoids following warning in
the subsequent drm_crtc_vblank_put() call from the vblank irq handler as
below:

adp 228200000.display-pipe: [drm] drm_WARN_ON(atomic_read(&amp;vblank-&gt;refcount) == 0)
WARNING: CPU: 5 PID: 1206 at drivers/gpu/drm/drm_vblank.c:1247 drm_vblank_put+0x158/0x170
...
Call trace:
 drm_vblank_put+0x158/0x170 (P)
 drm_crtc_vblank_put+0x24/0x38
 adp_fe_irq+0xd8/0xe8 [adpdrm]
 __handle_irq_event_percpu+0x94/0x318
 handle_irq_event+0x54/0xd0
 handle_fasteoi_irq+0xa8/0x240
 handle_irq_desc+0x3c/0x68
 generic_handle_domain_irq+0x24/0x40

Modifying `crtc-&gt;state-&gt;event` here is fine as crtc-&gt;mutex is locked by
the non-async atomic commit. In retrospect this looks so obvious that it
doesn't warrant a comment in the file.

Signed-off-by: Janne Grunau &lt;j@jannau.net&gt;
Reviewed-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
Link: https://lore.kernel.org/r/20250428-drm_adp_fixes-v2-2-912e081e55d8@jannau.net
Signed-off-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
</content>
</entry>
<entry>
<title>drm: adp: Use spin_lock_irqsave for drm device event_lock</title>
<updated>2025-04-28T18:17:52Z</updated>
<author>
<name>Janne Grunau</name>
</author>
<published>2025-04-28T11:37:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bc43f7114a0e8173968085b21535d57b8030d571'/>
<id>urn:sha1:bc43f7114a0e8173968085b21535d57b8030d571</id>
<content type='text'>
The lock is used in the interrupt handler so use spin_lock_irqsave to
disable interrupts and avoid deadlocks with the irq handler.

Fixes: 332122eba628 ("drm: adp: Add Apple Display Pipe driver")
Reviewed-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
Signed-off-by: Janne Grunau &lt;j@jannau.net&gt;
Link: https://lore.kernel.org/r/20250428-drm_adp_fixes-v2-1-912e081e55d8@jannau.net
Signed-off-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
</content>
</entry>
<entry>
<title>drm: adp: Fix NULL vs IS_ERR() check in adp_plane_new()</title>
<updated>2025-03-14T13:42:11Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2025-03-07T09:30:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee20c69c789b6cb2179a535cf440d72b98f4a134'/>
<id>urn:sha1:ee20c69c789b6cb2179a535cf440d72b98f4a134</id>
<content type='text'>
The __drmm_universal_plane_alloc() function doesn't return NULL, it
returns error pointers.  Update the check to match.

Fixes: 332122eba628 ("drm: adp: Add Apple Display Pipe driver")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@linaro.org&gt;
Acked-by: Sasha Finkelstein &lt;fnkl.kernel@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/14a845e8-54d0-45f8-b8b9-927609d92ede@stanley.mountain
Signed-off-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
</content>
</entry>
<entry>
<title>drm: adp: Remove unnecessary print function dev_err()</title>
<updated>2025-03-05T13:39:12Z</updated>
<author>
<name>Jiapeng Chong</name>
</author>
<published>2025-03-05T02:05:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4c0fd3f965533cd2b38200ca73625afd602d39b'/>
<id>urn:sha1:e4c0fd3f965533cd2b38200ca73625afd602d39b</id>
<content type='text'>
The print function dev_err() is redundant because platform_get_irq_byname()
already prints an error.

./drivers/gpu/drm/adp/adp_drv.c:470:2-9: line 470 is redundant because platform_get_irq() already prints an error.
./drivers/gpu/drm/adp/adp_drv.c:476:2-9: line 476 is redundant because platform_get_irq() already prints an error.

Reported-by: Abaci Robot &lt;abaci@linux.alibaba.com&gt;
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=19211
Signed-off-by: Jiapeng Chong &lt;jiapeng.chong@linux.alibaba.com&gt;
Acked-by: Sasha Finkelstein &lt;fnkl.kernel@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250305020546.96564-1-jiapeng.chong@linux.alibaba.com
Signed-off-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
</content>
</entry>
<entry>
<title>drm: adp: Add Apple Display Pipe driver</title>
<updated>2025-03-03T17:44:29Z</updated>
<author>
<name>Sasha Finkelstein</name>
</author>
<published>2025-02-24T11:02:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=332122eba628d537a1b7b96b976079753fd03039'/>
<id>urn:sha1:332122eba628d537a1b7b96b976079753fd03039</id>
<content type='text'>
This display controller is present on M-series chips and is used
to drive the touchbar display.

Co-developed-by: Janne Grunau &lt;j@jannau.net&gt;
Signed-off-by: Janne Grunau &lt;j@jannau.net&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Reviewed-by: Neal Gompa &lt;neal@gompa.dev&gt;
Signed-off-by: Sasha Finkelstein &lt;fnkl.kernel@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250224-adpdrm-v8-2-cccf96710f0f@gmail.com
Signed-off-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
</content>
</entry>
</feed>
