<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/xe/display, branch linux-6.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-10-10T10:00:29Z</updated>
<entry>
<title>drm/xe/hdcp: Check GSC structure validity</title>
<updated>2024-10-10T10:00:29Z</updated>
<author>
<name>Suraj Kandpal</name>
</author>
<published>2024-07-22T06:44:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c940627857eedca8407b84b40ceb4252b100d291'/>
<id>urn:sha1:c940627857eedca8407b84b40ceb4252b100d291</id>
<content type='text'>
[ Upstream commit b4224f6bae3801d589f815672ec62800a1501b0d ]

Sometimes xe_gsc is not initialized when checked at HDCP capability
check. Add gsc structure check to avoid null pointer error.

Signed-off-by: Suraj Kandpal &lt;suraj.kandpal@intel.com&gt;
Reviewed-by: Dnyaneshwar Bhadane &lt;dnyaneshwar.bhadane@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240722064451.3610512-4-suraj.kandpal@intel.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/xe/display: Make display suspend/resume work on discrete</title>
<updated>2024-09-04T11:30:01Z</updated>
<author>
<name>Maarten Lankhorst</name>
</author>
<published>2024-08-06T10:50:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c25458927f7d4035d1366500f13d909be2d2abdf'/>
<id>urn:sha1:c25458927f7d4035d1366500f13d909be2d2abdf</id>
<content type='text'>
[ Upstream commit ddf6492e0e508b7c2b42c8d5a4ac82bd38ef0dd5 ]

We should unpin before evicting all memory, and repin after GT resume.
This way, we preserve the contents of the framebuffers, and won't hang
on resume due to migration engine not being restored yet.

Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Cc: stable@vger.kernel.org # v6.8+
Reviewed-by: Uma Shankar &lt;uma.shankar@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240806105044.596842-3-maarten.lankhorst@linux.intel.com
Signed-off-by: Maarten Lankhorst,,, &lt;maarten.lankhorst@linux.intel.com&gt;
(cherry picked from commit cb8f81c1753187995b7a43e79c12959f14eb32d3)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/xe: Prepare display for D3Cold</title>
<updated>2024-09-04T11:30:01Z</updated>
<author>
<name>Rodrigo Vivi</name>
</author>
<published>2024-05-22T17:01:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fcc9d8e2195258bd9638901a72afcf4acd98f5eb'/>
<id>urn:sha1:fcc9d8e2195258bd9638901a72afcf4acd98f5eb</id>
<content type='text'>
[ Upstream commit e7b180b22022f52e3f5fca695cc75d63bddc5a1c ]

Prepare power-well and DC handling for a full power
lost during D3Cold, then sanitize it upon D3-&gt;D0.
Otherwise we get a bunch of state mismatch.

Ideally we could leave DC9 enabled and wouldn't need
to move DC9-&gt;DC0 on every runtime resume, however,
the disable_DC is part of the power-well checks and
intrinsic to the dc_off power well. In the future that
can be detangled so we can have even bigger power savings.
But for now, let's focus on getting a D3Cold, which saves
much more power by itself.

v2: create new functions to avoid full-suspend-resume path,
which would result in a deadlock between xe_gem_fault and the
modeset-ioctl.

v3: Only avoid the full modeset to avoid the race, for a more
robust suspend-resume.

Cc: Anshuman Gupta &lt;anshuman.gupta@intel.com&gt;
Cc: Uma Shankar &lt;uma.shankar@intel.com&gt;
Tested-by: Francois Dugast &lt;francois.dugast@intel.com&gt;
Reviewed-by: Anshuman Gupta &lt;anshuman.gupta@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240522170105.327472-5-rodrigo.vivi@intel.com
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Stable-dep-of: ddf6492e0e50 ("drm/xe/display: Make display suspend/resume work on discrete")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/xe: Fix opregion leak</title>
<updated>2024-08-29T15:36:03Z</updated>
<author>
<name>Lucas De Marchi</name>
</author>
<published>2024-07-24T21:53:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f7ecdd9853dd9f34e7cdfdadfb70b8f40644ebb4'/>
<id>urn:sha1:f7ecdd9853dd9f34e7cdfdadfb70b8f40644ebb4</id>
<content type='text'>
[ Upstream commit f4b2a0ae1a31fd3d1b5ca18ee08319b479cf9b5f ]

Being part o the display, ideally the setup and cleanup would be done by
display itself. However this is a bigger refactor that needs to be done
on both i915 and xe. For now, just fix the leak:

unreferenced object 0xffff8881a0300008 (size 192):
  comm "modprobe", pid 4354, jiffies 4295647021
  hex dump (first 32 bytes):
    00 00 87 27 81 88 ff ff 18 80 9b 00 00 c9 ff ff  ...'............
    18 81 9b 00 00 c9 ff ff 00 00 00 00 00 00 00 00  ................
  backtrace (crc 99260e31):
    [&lt;ffffffff823ce65b&gt;] kmemleak_alloc+0x4b/0x80
    [&lt;ffffffff81493be2&gt;] kmalloc_trace_noprof+0x312/0x3d0
    [&lt;ffffffffa1345679&gt;] intel_opregion_setup+0x89/0x700 [xe]
    [&lt;ffffffffa125bfaf&gt;] xe_display_init_noirq+0x2f/0x90 [xe]
    [&lt;ffffffffa1199ec3&gt;] xe_device_probe+0x7a3/0xbf0 [xe]
    [&lt;ffffffffa11f3713&gt;] xe_pci_probe+0x333/0x5b0 [xe]
    [&lt;ffffffff81af6be8&gt;] local_pci_probe+0x48/0xb0
    [&lt;ffffffff81af8778&gt;] pci_device_probe+0xc8/0x280
    [&lt;ffffffff81d09048&gt;] really_probe+0xf8/0x390
    [&lt;ffffffff81d0937a&gt;] __driver_probe_device+0x8a/0x170
    [&lt;ffffffff81d09503&gt;] driver_probe_device+0x23/0xb0
    [&lt;ffffffff81d097b7&gt;] __driver_attach+0xc7/0x190
    [&lt;ffffffff81d0628d&gt;] bus_for_each_dev+0x7d/0xd0
    [&lt;ffffffff81d0851e&gt;] driver_attach+0x1e/0x30
    [&lt;ffffffff81d07ac7&gt;] bus_add_driver+0x117/0x250

Fixes: 44e694958b95 ("drm/xe/display: Implement display support")
Reviewed-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240724215309.644423-1-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
(cherry picked from commit 6f4e43a2f771b737d991142ec4f6d4b7ff31fbb4)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/xe/display: stop calling domains_driver_remove twice</title>
<updated>2024-08-29T15:36:03Z</updated>
<author>
<name>Matthew Auld</name>
</author>
<published>2024-05-22T10:22:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ab76ba3e78403a435d4cfbd2beb16714a624d01'/>
<id>urn:sha1:0ab76ba3e78403a435d4cfbd2beb16714a624d01</id>
<content type='text'>
[ Upstream commit 48d74a0a45201de4efa016fb2f556889db37ed28 ]

Unclear why we call this twice.

Signed-off-by: Matthew Auld &lt;matthew.auld@intel.com&gt;
Cc: Andrzej Hajda &lt;andrzej.hajda@intel.com&gt;
Cc: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Reviewed-by: Andrzej Hajda &lt;andrzej.hajda@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240522102143.128069-35-matthew.auld@intel.com
Stable-dep-of: f4b2a0ae1a31 ("drm/xe: Fix opregion leak")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/xe/display/xe_hdcp_gsc: Free arbiter on driver removal</title>
<updated>2024-08-03T06:59:14Z</updated>
<author>
<name>Nirmoy Das</name>
</author>
<published>2024-07-08T12:59:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9fab017e2ea4b2a8118450d559333a2eeab815c5'/>
<id>urn:sha1:9fab017e2ea4b2a8118450d559333a2eeab815c5</id>
<content type='text'>
[ Upstream commit 609458abd5a10180f513ca364d6c0ae30128c821 ]

Free arbiter allocated in intel_hdcp_gsc_init().

Fixes: 152f2df954d8 ("drm/xe/hdcp: Enable HDCP for XE")
Cc: Suraj Kandpal &lt;suraj.kandpal@intel.com&gt;
Cc: Arun R Murthy &lt;arun.r.murthy@intel.com&gt;
Cc: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Cc: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Reviewed-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240708125918.23573-1-nirmoy.das@intel.com
Signed-off-by: Nirmoy Das &lt;nirmoy.das@intel.com&gt;
(cherry picked from commit 33891539f9d6f245e93a76e3fb5791338180374f)
Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'drm-intel-next-2024-04-30' of https://anongit.freedesktop.org/git/drm/drm-intel into drm-next</title>
<updated>2024-05-02T04:30:31Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2024-05-02T04:30:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f9039c6efa8543e8707a0c2e430ecacf9f49b08'/>
<id>urn:sha1:9f9039c6efa8543e8707a0c2e430ecacf9f49b08</id>
<content type='text'>
Core DRM:
- Export drm_client_dev_unregister (Thomas Zimmermann)

Display i915:
- More initial work to make display code more independent from i915 (Jani)
- Convert i915/xe fbdev to DRM client (Thomas Zimmermann)
- VLV/CHV DPIO register cleanup (Ville)

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;

From: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/ZjFPcSCTd_5c0XU_@intel.com
</content>
</entry>
<entry>
<title>drm/{i915, xe}: Implement fbdev emulation as in-kernel client</title>
<updated>2024-04-25T11:25:58Z</updated>
<author>
<name>Thomas Zimmermann</name>
</author>
<published>2024-04-09T08:04:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b55f3bbab8913a2758a5b726509c929a4a46c2b3'/>
<id>urn:sha1:b55f3bbab8913a2758a5b726509c929a4a46c2b3</id>
<content type='text'>
Replace all code that initializes or releases fbdev emulation
throughout the driver. Instead initialize the fbdev client by a
single call to intel_fbdev_setup() after i915 has registered its
DRM device. Just like similar code in other drivers, i915 fbdev
emulation now acts like a regular DRM client. Do the same for xe.

The fbdev client setup consists of the initial preparation and the
hot-plugging of the display. The latter creates the fbdev device
and sets up the fbdev framebuffer. The setup performs display
hot-plugging once. If no display can be detected, DRM probe helpers
re-run the detection on each hotplug event.

A call to drm_client_dev_unregister() releases all in-kernel clients
automatically. No further action is required within i915. If the fbdev
framebuffer has been fully set up, struct fb_ops.fb_destroy implements
the release. For partially initialized emulation, the fbdev client
reverts the initial setup. Do the same for xe and remove its call to
intel_fbdev_fini().

v8:
- setup client in intel_display_driver_register (Jouni)
- mention xe in commit message

v7:
- update xe driver
- reword commit message

v6:
- use 'i915' for i915 device (Jouni)
- remove unnecessary code for non-atomic mode setting (Jouni, Ville)
- fix function name in commit message (Jouni)

v3:
-  as before, silently ignore devices without displays

v2:
-  let drm_client_register() handle initial hotplug
-  fix driver name in error message (Jani)
-  fix non-fbdev build (kernel test robot)

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jouni Högander &lt;jouni.hogander@intel.com&gt;
Acked-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240409081029.17843-7-tzimmermann@suse.de
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/{i915,xe}: Implement fbdev client callbacks</title>
<updated>2024-04-25T11:25:54Z</updated>
<author>
<name>Thomas Zimmermann</name>
</author>
<published>2024-04-09T08:04:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=762f8c13b8ca4b861d28a529fa56b7960d71b892'/>
<id>urn:sha1:762f8c13b8ca4b861d28a529fa56b7960d71b892</id>
<content type='text'>
Move code from ad-hoc fbdev callbacks into DRM client functions
and remove the old callbacks. The functions instruct the client
to poll for changed output or restore the display.

The DRM core calls both, the old callbacks and the new client
helpers, from the same places. The new functions perform the same
operation as before, so there's no change in functionality.

Fox xe, remove xe_display_last_close(), which restored the fbdev
display. As with i915, the DRM core's drm_lastclose() performs
this operation automatically.

v8:
- mention xe in commit message

v7:
- update xe driver

v6:
- return errors from client callbacks (Jouni)

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Jouni Högander &lt;jouni.hogander@intel.com&gt;
Acked-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240409081029.17843-6-tzimmermann@suse.de
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/xe: Kill xe_device_mem_access_{get*,put}</title>
<updated>2024-04-22T13:03:09Z</updated>
<author>
<name>Rodrigo Vivi</name>
</author>
<published>2024-04-18T14:30:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=783d6cdc8231f625c42a367396ae534b15e67ebc'/>
<id>urn:sha1:783d6cdc8231f625c42a367396ae534b15e67ebc</id>
<content type='text'>
Let's simply convert all the current callers towards direct
xe_pm_runtime access and remove this extra layer of indirection.

No functional change is expected with this patch since
xe_mem_access_get was already using the xe_pm_runtime_get_noresume
at this point.

v2: Convert all the current callers instead of a big refactor
at once.

v3: - Rebased
    - Squashed the GSC/HDCP
    - Added a new case: sriov_pf_policy
    - Improved commit message to highlight that
      there's no functional change in this patch.

Reviewed-by: Matthew Auld &lt;matthew.auld@intel.com&gt; #v2
Cc: Suraj Kandpal &lt;suraj.kandpal@intel.com&gt;
Cc: Michal Wajdeczko &lt;michal.wajdeczko@intel.com&gt;
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Reviewed-by: Suraj Kandpal &lt;suraj.kandpal@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240418143049.43231-1-rodrigo.vivi@intel.com
</content>
</entry>
</feed>
