<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/drm_client_modeset.c, branch linux-6.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-01-21T10:41:05Z</updated>
<entry>
<title>drm/client: Handle tiled displays better</title>
<updated>2025-01-21T10:41:05Z</updated>
<author>
<name>Maarten Lankhorst</name>
</author>
<published>2025-01-16T14:28:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=10026f536843eb8c9148ef6ffb4c6deeebc26838'/>
<id>urn:sha1:10026f536843eb8c9148ef6ffb4c6deeebc26838</id>
<content type='text'>
When testing on my tiled display, initially the tiled display is
detected correctly:
[90376.523692] xe 0000:67:00.0: [drm:drm_client_firmware_config.isra.0 [drm]] fallback: Not all outputs enabled
[90376.523713] xe 0000:67:00.0: [drm:drm_client_firmware_config.isra.0 [drm]] Enabled: 0, detected: 2
...
[90376.523967] xe 0000:67:00.0: [drm:drm_client_modeset_probe [drm]] [CRTC:82:pipe A] desired mode 1920x2160 set (1920,0)
[90376.524020] xe 0000:67:00.0: [drm:drm_client_modeset_probe [drm]] [CRTC:134:pipe B] desired mode 1920x2160 set (0,0)

But then, when modes have been set:
[90379.729525] xe 0000:67:00.0: [drm:drm_client_firmware_config.isra.0 [drm]] [CONNECTOR:287:DP-4] on [CRTC:82:pipe A]: 1920x2160
[90379.729640] xe 0000:67:00.0: [drm:drm_client_firmware_config.isra.0 [drm]] [CONNECTOR:289:DP-5] on [CRTC:134:pipe B]: 1920x2160
...
[90379.730036] xe 0000:67:00.0: [drm:drm_client_modeset_probe [drm]] [CRTC:82:pipe A] desired mode 1920x2160 set (0,0)
[90379.730124] xe 0000:67:00.0: [drm:drm_client_modeset_probe [drm]] [CRTC:134:pipe B] desired mode 1920x2160 set (0,0)

Call drm_client_get_tile_offsets() in drm_client_firmware_config() as
well, to ensure that the offset is set correctly.

This has to be done as a separate pass, as the tile order may not be
equal to the drm connector order.

Acked-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20250116142825.3933-2-dev@lankhorst.se
Signed-off-by: Maarten Lankhorst &lt;dev@lankhorst.se&gt;
Cc: &lt;stable@vger.kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/client: Extract drm_connector_first_mode()</title>
<updated>2024-10-03T05:02:23Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2024-04-04T20:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cbc1e8696fbea0010a73bf93534c712f9ad177db'/>
<id>urn:sha1:cbc1e8696fbea0010a73bf93534c712f9ad177db</id>
<content type='text'>
Use a consistent method for picking the first mode from the
connnector's mode list.

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240404203336.10454-9-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/client: Use drm_mode_destroy()</title>
<updated>2024-10-03T05:02:18Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2024-04-04T20:33:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90c6b18727ebb2dccfc829088c50acee6100903d'/>
<id>urn:sha1:90c6b18727ebb2dccfc829088c50acee6100903d</id>
<content type='text'>
Prefer drm_mode_destroy() over bare kfree(), for consistency
and setting a good example.

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240404203336.10454-4-ville.syrjala@linux.intel.com
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Reviewed-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/client: s/drm_connector_has_preferred_mode/drm_connector_preferred_mode/</title>
<updated>2024-10-03T05:02:09Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2024-04-04T20:33:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=537e9e7527a7334c93257c347d32daf0da0c6a04'/>
<id>urn:sha1:537e9e7527a7334c93257c347d32daf0da0c6a04</id>
<content type='text'>
Drop the "has" from drm_connector_has_preferred_mode() to better
describe what it does.

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240404203336.10454-3-ville.syrjala@linux.intel.com
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Reviewed-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/client: fix null pointer dereference in drm_client_modeset_probe</title>
<updated>2024-08-02T07:23:54Z</updated>
<author>
<name>Ma Ke</name>
</author>
<published>2024-08-02T04:47:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=113fd6372a5bb3689aba8ef5b8a265ed1529a78f'/>
<id>urn:sha1:113fd6372a5bb3689aba8ef5b8a265ed1529a78f</id>
<content type='text'>
In drm_client_modeset_probe(), the return value of drm_mode_duplicate() is
assigned to modeset-&gt;mode, which will lead to a possible NULL pointer
dereference on failure of drm_mode_duplicate(). Add a check to avoid npd.

Cc: stable@vger.kernel.org
Fixes: cf13909aee05 ("drm/fb-helper: Move out modeset config code")
Signed-off-by: Ma Ke &lt;make24@iscas.ac.cn&gt;
Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240802044736.1570345-1-make24@iscas.ac.cn
</content>
</entry>
<entry>
<title>Backmerge tag 'v6.9-rc5' into drm-next</title>
<updated>2024-04-22T04:35:52Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2024-04-22T04:35:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0208ca55aa9c9b997da1f5bc45c4e98916323f08'/>
<id>urn:sha1:0208ca55aa9c9b997da1f5bc45c4e98916323f08</id>
<content type='text'>
Linux 6.9-rc5

I've had a persistent msm failure on clang, and the fix is in fixes
so just pull it back to fix that.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/client: switch to drm device based logging, and more</title>
<updated>2024-04-15T13:22:18Z</updated>
<author>
<name>Jani Nikula</name>
</author>
<published>2024-04-08T09:23:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=14b7897d52f3389478c9700a7d97167bff182f01'/>
<id>urn:sha1:14b7897d52f3389478c9700a7d97167bff182f01</id>
<content type='text'>
Switch to drm device based logging and WARNs, and unify connector and
crtc logging formats. Pass drm device around a bit more to be able to do
this. Drop logging for -ENOMEM.

Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/4fb77e6039bcda7448d1187bc5cd7a5ac4d393aa.1712568037.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/client: Fully protect modes[] with dev-&gt;mode_config.mutex</title>
<updated>2024-04-08T15:01:17Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2024-04-04T20:33:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3eadd887dbac1df8f25f701e5d404d1b90fd0fea'/>
<id>urn:sha1:3eadd887dbac1df8f25f701e5d404d1b90fd0fea</id>
<content type='text'>
The modes[] array contains pointers to modes on the connectors'
mode lists, which are protected by dev-&gt;mode_config.mutex.
Thus we need to extend modes[] the same protection or by the
time we use it the elements may already be pointing to
freed/reused memory.

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10583
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240404203336.10454-2-ville.syrjala@linux.intel.com
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Reviewed-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
</content>
</entry>
<entry>
<title>drm/client: Fix memory leak in drm_client_modeset_probe</title>
<updated>2023-07-13T13:55:58Z</updated>
<author>
<name>Jocelyn Falempe</name>
</author>
<published>2023-07-11T09:20:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2329cc7a101af1a844fbf706c0724c0baea38365'/>
<id>urn:sha1:2329cc7a101af1a844fbf706c0724c0baea38365</id>
<content type='text'>
When a new mode is set to modeset-&gt;mode, the previous mode should be freed.
This fixes the following kmemleak report:

drm_mode_duplicate+0x45/0x220 [drm]
drm_client_modeset_probe+0x944/0xf50 [drm]
__drm_fb_helper_initial_config_and_unlock+0xb4/0x2c0 [drm_kms_helper]
drm_fbdev_client_hotplug+0x2bc/0x4d0 [drm_kms_helper]
drm_client_register+0x169/0x240 [drm]
ast_pci_probe+0x142/0x190 [ast]
local_pci_probe+0xdc/0x180
work_for_cpu_fn+0x4e/0xa0
process_one_work+0x8b7/0x1540
worker_thread+0x70a/0xed0
kthread+0x29f/0x340
ret_from_fork+0x1f/0x30

cc: &lt;stable@vger.kernel.org&gt;
Reported-by: Zhang Yi &lt;yizhan@redhat.com&gt;
Signed-off-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20230711092203.68157-3-jfalempe@redhat.com
</content>
</entry>
<entry>
<title>drm/client: Fix memory leak in drm_client_target_cloned</title>
<updated>2023-07-13T13:54:54Z</updated>
<author>
<name>Jocelyn Falempe</name>
</author>
<published>2023-07-11T09:20:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2a88e8bdf5f6239948d75283d0ae7e0c7945b03'/>
<id>urn:sha1:c2a88e8bdf5f6239948d75283d0ae7e0c7945b03</id>
<content type='text'>
dmt_mode is allocated and never freed in this function.
It was found with the ast driver, but most drivers using generic fbdev
setup are probably affected.

This fixes the following kmemleak report:
  backtrace:
    [&lt;00000000b391296d&gt;] drm_mode_duplicate+0x45/0x220 [drm]
    [&lt;00000000e45bb5b3&gt;] drm_client_target_cloned.constprop.0+0x27b/0x480 [drm]
    [&lt;00000000ed2d3a37&gt;] drm_client_modeset_probe+0x6bd/0xf50 [drm]
    [&lt;0000000010e5cc9d&gt;] __drm_fb_helper_initial_config_and_unlock+0xb4/0x2c0 [drm_kms_helper]
    [&lt;00000000909f82ca&gt;] drm_fbdev_client_hotplug+0x2bc/0x4d0 [drm_kms_helper]
    [&lt;00000000063a69aa&gt;] drm_client_register+0x169/0x240 [drm]
    [&lt;00000000a8c61525&gt;] ast_pci_probe+0x142/0x190 [ast]
    [&lt;00000000987f19bb&gt;] local_pci_probe+0xdc/0x180
    [&lt;000000004fca231b&gt;] work_for_cpu_fn+0x4e/0xa0
    [&lt;0000000000b85301&gt;] process_one_work+0x8b7/0x1540
    [&lt;000000003375b17c&gt;] worker_thread+0x70a/0xed0
    [&lt;00000000b0d43cd9&gt;] kthread+0x29f/0x340
    [&lt;000000008d770833&gt;] ret_from_fork+0x1f/0x30
unreferenced object 0xff11000333089a00 (size 128):

cc: &lt;stable@vger.kernel.org&gt;
Fixes: 1d42bbc8f7f9 ("drm/fbdev: fix cloning on fbcon")
Reported-by: Zhang Yi &lt;yizhan@redhat.com&gt;
Signed-off-by: Jocelyn Falempe &lt;jfalempe@redhat.com&gt;
Reviewed-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20230711092203.68157-2-jfalempe@redhat.com
</content>
</entry>
</feed>
