<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/gpu/drm/lima, branch v6.9</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>drm/lima: standardize debug messages by ip name</title>
<updated>2024-02-12T08:27:48+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=423af970da74db7eed1b14f2b7f115714a67aeb8'/>
<id>423af970da74db7eed1b14f2b7f115714a67aeb8</id>
<content type='text'>
Some debug messages carried the ip name, or included "lima", or
included both the ip name and then the numbered ip name again.
Make the messages more consistent by always looking up and showing
the ip name first.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-9-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some debug messages carried the ip name, or included "lima", or
included both the ip name and then the numbered ip name again.
Make the messages more consistent by always looking up and showing
the ip name first.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-9-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: increase default job timeout to 10s</title>
<updated>2024-02-12T08:27:39+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9e5690a16fc26b17eeb8d7e07865b69a78e81e57'/>
<id>9e5690a16fc26b17eeb8d7e07865b69a78e81e57</id>
<content type='text'>
The previous 500ms default timeout was fairly optimistic and could be
hit by real world applications. Many distributions targeting devices
with a Mali-4xx already bumped this timeout to a higher limit.
We can be generous here with a high value as 10s since this should
mostly catch buggy jobs like infinite loop shaders, and these don't
seem to happen very often in real applications.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-8-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previous 500ms default timeout was fairly optimistic and could be
hit by real world applications. Many distributions targeting devices
with a Mali-4xx already bumped this timeout to a higher limit.
We can be generous here with a high value as 10s since this should
mostly catch buggy jobs like infinite loop shaders, and these don't
seem to happen very often in real applications.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-8-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: remove guilty drm_sched context handling</title>
<updated>2024-02-12T08:27:28+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e721d1cc8101a26fba22dc9a62309522e15bd0c7'/>
<id>e721d1cc8101a26fba22dc9a62309522e15bd0c7</id>
<content type='text'>
Marking the context as guilty currently only makes the application which
hits a single timeout problem to stop its rendering context entirely.
All jobs submitted later are dropped from the guilty context.

Lima runs on fairly underpowered hardware for modern standards and it is
not entirely unreasonable that a rendering job may time out occasionally
due to high system load or too demanding application stack. In this case
it would be generally preferred to report the error but try to keep the
application going.

Other similar embedded GPU drivers don't make use of the guilty context
flag. Now that there are reliability improvements to the lima timeout
recovery handling, drop the guilty contexts to let the application keep
running in this case.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-7-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Marking the context as guilty currently only makes the application which
hits a single timeout problem to stop its rendering context entirely.
All jobs submitted later are dropped from the guilty context.

Lima runs on fairly underpowered hardware for modern standards and it is
not entirely unreasonable that a rendering job may time out occasionally
due to high system load or too demanding application stack. In this case
it would be generally preferred to report the error but try to keep the
application going.

Other similar embedded GPU drivers don't make use of the guilty context
flag. Now that there are reliability improvements to the lima timeout
recovery handling, drop the guilty contexts to let the application keep
running in this case.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-7-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: handle spurious timeouts due to high irq latency</title>
<updated>2024-02-12T08:27:17+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=53cb55b20208eaa79de63c82795c8d51caa9cfcc'/>
<id>53cb55b20208eaa79de63c82795c8d51caa9cfcc</id>
<content type='text'>
There are several unexplained and unreproduced cases of rendering
timeouts with lima, for which one theory is high IRQ latency coming from
somewhere else in the system.
This kind of occurrence may cause applications to trigger unnecessary
resets of the GPU or even applications to hang if it hits an issue in
the recovery path.
Panfrost already does some special handling to account for such
"spurious timeouts", it makes sense to have this in lima too to reduce
the chance that it hit users.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-6-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are several unexplained and unreproduced cases of rendering
timeouts with lima, for which one theory is high IRQ latency coming from
somewhere else in the system.
This kind of occurrence may cause applications to trigger unnecessary
resets of the GPU or even applications to hang if it hits an issue in
the recovery path.
Panfrost already does some special handling to account for such
"spurious timeouts", it makes sense to have this in lima too to reduce
the chance that it hit users.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-6-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: set gp bus_stop bit before hard reset</title>
<updated>2024-02-12T08:27:07+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=27aa58ec85f973d98d336df7b7941149308db80f'/>
<id>27aa58ec85f973d98d336df7b7941149308db80f</id>
<content type='text'>
This is required for reliable hard resets. Otherwise, doing a hard reset
while a task is still running (such as a task which is being stopped by
the drm_sched timeout handler) may result in random mmu write timeouts
or lockups which cause the entire gpu to hang.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-5-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is required for reliable hard resets. Otherwise, doing a hard reset
while a task is still running (such as a task which is being stopped by
the drm_sched timeout handler) may result in random mmu write timeouts
or lockups which cause the entire gpu to hang.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-5-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: set pp bus_stop bit before hard reset</title>
<updated>2024-02-12T08:26:57+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a9da58c86e3bfb0a068a1834e48bdc536e7201e4'/>
<id>a9da58c86e3bfb0a068a1834e48bdc536e7201e4</id>
<content type='text'>
This is required for reliable hard resets. Otherwise, doing a hard reset
while a task is still running (such as a task which is being stopped by
the drm_sched timeout handler) may result in random mmu write timeouts
or lockups which cause the entire gpu to hang.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Reviewed-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-4-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is required for reliable hard resets. Otherwise, doing a hard reset
while a task is still running (such as a task which is being stopped by
the drm_sched timeout handler) may result in random mmu write timeouts
or lockups which cause the entire gpu to hang.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Reviewed-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-4-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: reset async_reset on gp hard reset</title>
<updated>2024-02-12T08:26:47+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2ccd4adc681e34cc12313b078e5067fa2383c2eb'/>
<id>2ccd4adc681e34cc12313b078e5067fa2383c2eb</id>
<content type='text'>
Lima gp jobs use an async reset to avoid having to wait for the soft
reset right after a job. The soft reset is done at the end of a job and
a reset_complete flag is expected to be set at the next job.
However, in case the user runs into a job timeout from any application,
a hard reset is issued to the hardware. This hard reset clears the
reset_complete flag, which causes an error message to show up before the
next job.
This is probably harmless for the execution but can be very confusing to
debug, as it blames a reset timeout on the next application to submit a
job.
Reset the async_reset flag when doing the hard reset so that we don't
get that message.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-3-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lima gp jobs use an async reset to avoid having to wait for the soft
reset right after a job. The soft reset is done at the end of a job and
a reset_complete flag is expected to be set at the next job.
However, in case the user runs into a job timeout from any application,
a hard reset is issued to the hardware. This hard reset clears the
reset_complete flag, which causes an error message to show up before the
next job.
This is probably harmless for the execution but can be very confusing to
debug, as it blames a reset timeout on the next application to submit a
job.
Reset the async_reset flag when doing the hard reset so that we don't
get that message.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-3-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: reset async_reset on pp hard reset</title>
<updated>2024-02-12T08:26:31+00:00</updated>
<author>
<name>Erico Nunes</name>
<email>nunes.erico@gmail.com</email>
</author>
<published>2024-01-24T02:59:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b5b345ea9b3e68c41aeb4163c0a221bf7405b8d8'/>
<id>b5b345ea9b3e68c41aeb4163c0a221bf7405b8d8</id>
<content type='text'>
Lima pp jobs use an async reset to avoid having to wait for the soft
reset right after a job. The soft reset is done at the end of a job and
a reset_complete flag is expected to be set at the next job.
However, in case the user runs into a job timeout from any application,
a hard reset is issued to the hardware. This hard reset clears the
reset_complete flag, which causes an error message to show up before the
next job.
This is probably harmless for the execution but can be very confusing to
debug, as it blames a reset timeout on the next application to submit a
job.
Reset the async_reset flag when doing the hard reset so that we don't
get that message.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Reviewed-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-2-nunes.erico@gmail.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lima pp jobs use an async reset to avoid having to wait for the soft
reset right after a job. The soft reset is done at the end of a job and
a reset_complete flag is expected to be set at the next job.
However, in case the user runs into a job timeout from any application,
a hard reset is issued to the hardware. This hard reset clears the
reset_complete flag, which causes an error message to show up before the
next job.
This is probably harmless for the execution but can be very confusing to
debug, as it blames a reset timeout on the next application to submit a
job.
Reset the async_reset flag when doing the hard reset so that we don't
get that message.

Signed-off-by: Erico Nunes &lt;nunes.erico@gmail.com&gt;
Reviewed-by: Vasily Khoruzhick &lt;anarsoul@gmail.com&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240124025947.2110659-2-nunes.erico@gmail.com
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge drm/drm-next into drm-misc-next</title>
<updated>2024-01-29T13:20:23+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>mripard@kernel.org</email>
</author>
<published>2024-01-29T13:20:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4db102dcb0396a4ccf89b1eac0f4eb3fd167a080'/>
<id>4db102dcb0396a4ccf89b1eac0f4eb3fd167a080</id>
<content type='text'>
Kickstart 6.9 development cycle.

Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Kickstart 6.9 development cycle.

Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/lima: fix a memleak in lima_heap_alloc</title>
<updated>2024-01-19T02:12:01+00:00</updated>
<author>
<name>Zhipeng Lu</name>
<email>alexious@zju.edu.cn</email>
</author>
<published>2024-01-17T07:13:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=04ae3eb470e52a3c41babe85ff8cee195e4dcbea'/>
<id>04ae3eb470e52a3c41babe85ff8cee195e4dcbea</id>
<content type='text'>
When lima_vm_map_bo fails, the resources need to be deallocated, or
there will be memleaks.

Fixes: 6aebc51d7aef ("drm/lima: support heap buffer creation")
Signed-off-by: Zhipeng Lu &lt;alexious@zju.edu.cn&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240117071328.3811480-1-alexious@zju.edu.cn
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When lima_vm_map_bo fails, the resources need to be deallocated, or
there will be memleaks.

Fixes: 6aebc51d7aef ("drm/lima: support heap buffer creation")
Signed-off-by: Zhipeng Lu &lt;alexious@zju.edu.cn&gt;
Signed-off-by: Qiang Yu &lt;yuq825@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20240117071328.3811480-1-alexious@zju.edu.cn
</pre>
</div>
</content>
</entry>
</feed>
