<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/vmwgfx/Makefile, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-01-27T11:02:55Z</updated>
<entry>
<title>drm/vmwgfx: Remove explicit transparent hugepages support</title>
<updated>2022-01-27T11:02:55Z</updated>
<author>
<name>Zack Rusin</name>
</author>
<published>2021-12-15T18:41:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=faa77dc9fc4b50185e8ca9b3f7f85f9c237f3f48'/>
<id>urn:sha1:faa77dc9fc4b50185e8ca9b3f7f85f9c237f3f48</id>
<content type='text'>
commit bc701a28c74e78d7b5aa2b8628cb3608d4785d14 upstream.

Old versions of the svga device used to export virtual vram, handling of
which was optimized on top of transparent hugepages support. Only very
old devices (OpenGL 2.1 support and earlier) used this code and at this
point performance differences are negligible.

Because the code requires very old hardware versions to run it has
been largely untested and unused for a long time.

Furthermore removal of the ttm hugepages support in:
commit 0d979509539e ("drm/ttm: remove ttm_bo_vm_insert_huge()")
broke the coherency mode in vmwgfx when running with hugepages.

Fixes: 0d979509539e ("drm/ttm: remove ttm_bo_vm_insert_huge()")
Signed-off-by: Zack Rusin &lt;zackr@vmware.com&gt;
Cc: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Cc: Thomas Hellström &lt;thomas.hellstrom@linux.intel.com&gt;
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Martin Krastev &lt;krastevm@vmware.com&gt;
Reviewed-by: Maaz Mombasawala &lt;mombasawalam@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20211215184147.3688785-2-zack@kde.org
(cherry picked from commit 49d535d64d52945e2c874f380705675e20a02b6a)
Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Introduce a new placement for MOB page tables</title>
<updated>2022-01-27T11:02:18Z</updated>
<author>
<name>Zack Rusin</name>
</author>
<published>2021-11-05T19:38:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2963a60d750318ad6ae43d0f017eb5378987b0b7'/>
<id>urn:sha1:2963a60d750318ad6ae43d0f017eb5378987b0b7</id>
<content type='text'>
[ Upstream commit f6be23264bbac88d1e2bb39658e1b8a397e3f46d ]

For larger (bigger than a page) and noncontiguous mobs we have
to create page tables that allow the host to find the memory.
Those page tables just used regular system memory. Unfortunately
in TTM those BO's are not allowed to be busy thus can't be
fenced and we have to fence those bo's  because we don't want
to destroy the page tables while the host is still executing
the command buffers which might be accessing them.

To solve it we introduce a new placement VMW_PL_SYSTEM which
is very similar to TTM_PL_SYSTEM except that it allows
fencing. This fixes kernel oops'es during unloading of the driver
(and pci hot remove/add) which were caused by busy BO's in
TTM_PL_SYSTEM being present in the delayed deletion list in
TTM (TTM_PL_SYSTEM manager is destroyed before the delayed
deletions are executed)

Signed-off-by: Zack Rusin &lt;zackr@vmware.com&gt;
Reviewed-by: Martin Krastev &lt;krastevm@vmware.com&gt;
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Cc: Thomas Hellström &lt;thomas.hellstrom@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20211105193845.258816-5-zackr@vmware.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/vmwgfx: Simplify devcaps code</title>
<updated>2021-06-12T04:00:48Z</updated>
<author>
<name>Zack Rusin</name>
</author>
<published>2021-06-09T17:22:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d92223ead97cd697abe76c5b7a78160d6910a90d'/>
<id>urn:sha1:d92223ead97cd697abe76c5b7a78160d6910a90d</id>
<content type='text'>
Make devcaps code self-contained so that it's easier to cache
and operate on them.
As the number of devcaps got bigger the code dealing with them
got more and more tricky. Lets create a central place to deal
with all the complexity. This lets us remove the lock we used
to require to deal with register write races because we only
read the devcaps at initialization.

Signed-off-by: Zack Rusin &lt;zackr@vmware.com&gt;
Reviewed-by: Roland Scheidegger &lt;sroland@vmware.com&gt;
Reviewed-by: Martin Krastev &lt;krastevm@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210609172307.131929-2-zackr@vmware.com
</content>
</entry>
<entry>
<title>drm/vmwgfx: Remove the reservation semaphore</title>
<updated>2021-05-11T17:37:15Z</updated>
<author>
<name>Zack Rusin</name>
</author>
<published>2021-05-05T03:57:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8211783f16ead18702978dbafc8487a35387a0be'/>
<id>urn:sha1:8211783f16ead18702978dbafc8487a35387a0be</id>
<content type='text'>
Now since Christian reworked TTM to always keep objects on the LRU
list unless they are pinned we shouldn't need the reservation
semaphore. It makes the driver code a lot cleaner, especially
because it was a little hard to reason when and where the
reservation semaphore needed to be held.

Signed-off-by: Zack Rusin &lt;zackr@vmware.com&gt;
Reviewed-by: Roland Scheidegger &lt;sroland@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210505035740.286923-5-zackr@vmware.com
</content>
</entry>
<entry>
<title>drm/vmwgfx: Make console emulation depend on DRM_FBDEV_EMULATION</title>
<updated>2021-04-26T08:45:30Z</updated>
<author>
<name>Thomas Zimmermann</name>
</author>
<published>2021-04-15T11:00:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5dbf2fc587cb79cb366bd6e79ac6b52269d64fc5'/>
<id>urn:sha1:5dbf2fc587cb79cb366bd6e79ac6b52269d64fc5</id>
<content type='text'>
Respect DRM's kconfig setting for fbdev console emulation. If enabled,
it will select all required config options. So remove them from vmwgfx's
Kconfig file.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Zack Rusin &lt;zackr@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210415110040.23525-2-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm/ttm: move memory accounting into vmwgfx v4</title>
<updated>2021-02-09T16:27:33Z</updated>
<author>
<name>Christian König</name>
</author>
<published>2020-11-17T12:52:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f07069da6b4c5f937d6df2de6504394845513964'/>
<id>urn:sha1:f07069da6b4c5f937d6df2de6504394845513964</id>
<content type='text'>
This is just another feature which is only used by VMWGFX, so move
it into the driver instead.

I've tried to add the accounting sysfs file to the kobject of the drm
minor, but I'm not 100% sure if this works as expected.

v2: fix typo in KFD and avoid 64bit divide
v3: fix init order in VMWGFX
v4: use pdev sysfs reference instead of drm

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Zack Rusin &lt;zackr@vmware.com&gt; (v3)
Tested-by: Nirmoy Das &lt;nirmoy.das@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210208133226.36955-2-christian.koenig@amd.com
</content>
</entry>
<entry>
<title>drm/vmwgfx: Cleanup the cmd/fifo split</title>
<updated>2021-01-14T17:15:49Z</updated>
<author>
<name>Zack Rusin</name>
</author>
<published>2020-11-18T17:54:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8426ed9c4b42f415db3ba73280b221430feb1646'/>
<id>urn:sha1:8426ed9c4b42f415db3ba73280b221430feb1646</id>
<content type='text'>
Lets try to cleanup the usage of the term FIFO which we used for
both our MMIO based cmd queue processing and for general
command processing which could have been using command buffers
interface. We're going to rename the functions which are processing
commands (and work either via MMIO or command buffers) as _cmd_
and functions which operate on the MMIO based commands as FIFO
to match the SVGA device naming.

Signed-off-by: Zack Rusin &lt;zackr@vmware.com&gt;
Reviewed-by: Martin Krastev &lt;krastevm@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/414044/?series=85516&amp;rev=2
</content>
</entry>
<entry>
<title>drm/vmwgfx: Remove the throttling code</title>
<updated>2021-01-14T17:14:10Z</updated>
<author>
<name>Zack Rusin</name>
</author>
<published>2020-11-11T03:14:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=359dc60d0fa5991a9a31b8a2cfe46222551f5959'/>
<id>urn:sha1:359dc60d0fa5991a9a31b8a2cfe46222551f5959</id>
<content type='text'>
Throttling was used before fencing to implement early vsync
support in the xorg state tracker a long time ago. The xorg
state tracker has been removed years ago and no one else
has ever used throttling. It's time to remove this code,
it hasn't been used or tested in years.

Signed-off-by: Zack Rusin &lt;zackr@vmware.com&gt;
Reviewed-by: Martin Krastev &lt;krastevm@vmware.com&gt;
Reviewed-by: Roland Scheidegger &lt;sroland@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/414042/?series=85516&amp;rev=2
</content>
</entry>
<entry>
<title>Merge branch 'ttm-transhuge' of git://people.freedesktop.org/~thomash/linux into drm-next</title>
<updated>2020-04-02T23:07:49Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2020-04-02T20:09:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e7e6198af28c1573267aba1be33dd0b7fb35691'/>
<id>urn:sha1:0e7e6198af28c1573267aba1be33dd0b7fb35691</id>
<content type='text'>
Huge page-table entries for TTM

In order to reduce CPU usage [1] and in theory TLB misses this patchset enables
huge- and giant page-table entries for TTM and TTM-enabled graphics drivers.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
From: Thomas Hellstrom (VMware) &lt;thomas_os@shipmail.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20200325073102.6129-1-thomas_os@shipmail.org
</content>
</entry>
<entry>
<title>drm/vmwgfx: Introduce a huge page aligning TTM range manager</title>
<updated>2020-03-24T17:50:12Z</updated>
<author>
<name>Thomas Hellstrom (VMware)</name>
</author>
<published>2020-03-24T17:50:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7546f7ffdb5cbe12689d94fe657608364d2f7773'/>
<id>urn:sha1:7546f7ffdb5cbe12689d94fe657608364d2f7773</id>
<content type='text'>
Using huge page-table entries requires that the physical address of the
start of a buffer object is huge page size aligned.
Make a special version of the TTM range manager that accomplishes this,
but falls back to a smaller page size alignment (PUD-&gt;PMD, PMD-&gt;NORMAL)
to avoid eviction.
If other drivers want to use it in the future, it can be made a
TTM generic helper. Note that drivers can force eviction for a certain
alignment by assigning the TTM GPU alignment correspondingly.

Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Michal Hocko &lt;mhocko@suse.com&gt;
Cc: "Matthew Wilcox (Oracle)" &lt;willy@infradead.org&gt;
Cc: "Kirill A. Shutemov" &lt;kirill.shutemov@linux.intel.com&gt;
Cc: Ralph Campbell &lt;rcampbell@nvidia.com&gt;
Cc: "Jérôme Glisse" &lt;jglisse@redhat.com&gt;
Cc: "Christian König" &lt;christian.koenig@amd.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Thomas Hellstrom (VMware) &lt;thomas_os@shipmail.org&gt;
Reviewed-by: Roland Scheidegger &lt;sroland@vmware.com&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;
</content>
</entry>
</feed>
