<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/gpu/drm/nouveau/include/nvkm/engine, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/gpu/drm/nouveau/include/nvkm/engine?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/gpu/drm/nouveau/include/nvkm/engine?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-07-26T23:05:48Z</updated>
<entry>
<title>drm/nouveau/disp: add supervisor mutex</title>
<updated>2022-07-26T23:05:48Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=a6fd8f936402c3bcc5ac6aed9cca8e73b5ca08f7'/>
<id>urn:sha1:a6fd8f936402c3bcc5ac6aed9cca8e73b5ca08f7</id>
<content type='text'>
Will be used to protect NVIF_CLASS_OUTP method calls from racing with
in-progress supervisor handling.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/disp: add common channel class handling</title>
<updated>2022-07-26T23:05:48Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=889fcbe949bdd8470931a90b91f273ca18c510c1'/>
<id>urn:sha1:889fcbe949bdd8470931a90b91f273ca18c510c1</id>
<content type='text'>
Replaces a bunch of unnecessarily duplicated boilerplate in per-chipset
code with a simpler, common, implementation.

Channel "awaken" notify code is completely gone for now.  KMS has never
made use of it so far, and event notify handling is about to be changed
in general anyway.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/disp: group supervisor-related struct members</title>
<updated>2022-07-26T23:05:47Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=3517e6b6fee05b6259ca21741cbe5d7bf68aa672'/>
<id>urn:sha1:3517e6b6fee05b6259ca21741cbe5d7bf68aa672</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/disp: merge head/outp/ior code into chipset files</title>
<updated>2022-07-26T23:05:47Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=acbe9ecfb7fb14db868ddbeda8f43e623026316b'/>
<id>urn:sha1:acbe9ecfb7fb14db868ddbeda8f43e623026316b</id>
<content type='text'>
No changes to code at all here, just shuffling it around and removing
a bunch of (now unnecessary) forward-declarations from headers.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/disp: add common class handling between &lt;nv50 and &gt;=nv50</title>
<updated>2022-07-26T23:05:46Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=168c02994399f2714bc6c73f85b7ce4d827f97aa'/>
<id>urn:sha1:168c02994399f2714bc6c73f85b7ce4d827f97aa</id>
<content type='text'>
About to expose head/output path/connector objects everywhere, so we will
need support for child classes prior to nv50 now.

Somewhat cleaner than the code &gt;=nv50 used previously.

v2:
- use ?: (lyude)

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/disp: collapse nv50_disp into nvkm_disp</title>
<updated>2022-07-26T23:05:45Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=92fba5d3c8f5b757c4e3fdc89afe76a8f6c4da68'/>
<id>urn:sha1:92fba5d3c8f5b757c4e3fdc89afe76a8f6c4da68</id>
<content type='text'>
Dump of one struct's members into another, with a couple of list
renames because of collisions.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/flcn: remove unused functions</title>
<updated>2022-07-13T03:57:11Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=ea0b20d3bd96f9ce2a1e9d886175411c05dcb179'/>
<id>urn:sha1:ea0b20d3bd96f9ce2a1e9d886175411c05dcb179</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/fifo: remove rd32/wr32 accessors from channels</title>
<updated>2022-07-13T03:56:42Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=097d56cdcd77639bce7e205adaa22b6f5e7d93a6'/>
<id>urn:sha1:097d56cdcd77639bce7e205adaa22b6f5e7d93a6</id>
<content type='text'>
No need for these, we always map USERD to the client.

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/fifo: rip out cevent, never used</title>
<updated>2022-07-13T03:56:36Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2022-06-01T10:46:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=66ff4e4ed471fdfa9ae4c49a0abcf5d5043ca65e'/>
<id>urn:sha1:66ff4e4ed471fdfa9ae4c49a0abcf5d5043ca65e</id>
<content type='text'>
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Reviewed-by: Lyude Paul &lt;lyude@redhat.com&gt;
Reviewed-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/ga102-: support ttm buffer moves via copy engine</title>
<updated>2021-10-06T09:05:45Z</updated>
<author>
<name>Ben Skeggs</name>
<email>bskeggs@redhat.com</email>
</author>
<published>2021-09-16T22:04:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=49b2dfc081826874705b27f7970631319628ee7f'/>
<id>urn:sha1:49b2dfc081826874705b27f7970631319628ee7f</id>
<content type='text'>
We don't currently have any kind of real acceleration on Ampere GPUs,
but the TTM memcpy() fallback paths aren't really designed to handle
copies between different devices, such as on Optimus systems, and
result in a kernel OOPS.

A few options were investigated to try and fix this, but didn't work
out, and likely would have resulted in a very unpleasant experience
for users anyway.

This commit adds just enough support for setting up a single channel
connected to a copy engine, which the kernel can use to accelerate
the buffer copies between devices.  Userspace has no access to this
incomplete channel support, but it's suitable for TTM's needs.

A more complete implementation of host(fifo) for Ampere GPUs is in
the works, but the required changes are far too invasive that they
would be unsuitable to backport to fix this issue on current kernels.

v2: fix GPFIFO length in RAMFC (reported by Karol)

Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Cc: Lyude Paul &lt;lyude@redhat.com&gt;
Cc: Karol Herbst &lt;kherbst@redhat.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.12+
Reviewed-by: Karol Herbst &lt;kherbst@redhat.com&gt;
Tested-by: Karol Herbst &lt;kherbst@redhat.com&gt;
Signed-off-by: Karol Herbst &lt;kherbst@redhat.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210916220406.666454-1-skeggsb@gmail.com
Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
</content>
</entry>
</feed>
