<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/v3d, 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-04-13T18:02:59Z</updated>
<entry>
<title>drm/v3d: fix missing unlock</title>
<updated>2022-04-13T18:02:59Z</updated>
<author>
<name>Yongzhi Liu</name>
</author>
<published>2022-01-28T13:41:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7df9d090d96bfd1f7b4847332f174e0438ad102f'/>
<id>urn:sha1:7df9d090d96bfd1f7b4847332f174e0438ad102f</id>
<content type='text'>
[ Upstream commit e57c1a3bd5e8e0c7181f65ae55581f0236a8f284 ]

[why]
Unlock is needed on the error handling path to prevent dead lock.
v3d_submit_cl_ioctl and v3d_submit_csd_ioctl is missing unlock.

[how]
Fix this by changing goto target on the error handling path. So
changing the goto to target an error handling path
that includes drm_gem_unlock reservations.

Signed-off-by: Yongzhi Liu &lt;lyz_cs@pku.edu.cn&gt;
Reviewed-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/1643377262-109975-1-git-send-email-lyz_cs@pku.edu.cn
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/v3d/v3d_drv: Check for error num after setting mask</title>
<updated>2022-04-08T12:05:57Z</updated>
<author>
<name>Jiasheng Jiang</name>
</author>
<published>2022-01-10T01:38:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=58a8c42abcaa7b1cd4a32824947198c1c95440da'/>
<id>urn:sha1:58a8c42abcaa7b1cd4a32824947198c1c95440da</id>
<content type='text'>
[ Upstream commit 4a39156166b90465da0f9a33b3442d63b5651bec ]

Because of the possible failure of the dma_supported(), the
dma_set_mask_and_coherent() may return error num.
Therefore, it should be better to check it and return the error if
fails.
Also, we can create a variable for the mask to solve the
alignment issue.

Fixes: 334dd38a3878 ("drm/v3d: Set dma_mask as well as coherent_dma_mask")
Signed-off-by: Jiasheng Jiang &lt;jiasheng@iscas.ac.cn&gt;
Reviewed-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220110013807.4105270-1-jiasheng@iscas.ac.cn
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm: Return error codes from struct drm_driver.gem_create_object</title>
<updated>2022-01-27T11:02:19Z</updated>
<author>
<name>Thomas Zimmermann</name>
</author>
<published>2021-11-30T09:52:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=657b5d916a60291d4590b349891503967b1be74b'/>
<id>urn:sha1:657b5d916a60291d4590b349891503967b1be74b</id>
<content type='text'>
[ Upstream commit 4ff22f487f8c26b99cbe1678344595734c001a39 ]

GEM helper libraries use struct drm_driver.gem_create_object to let
drivers override GEM object allocation. On failure, the call returns
NULL.

Change the semantics to make the calls return a pointer-encoded error.
This aligns the callback with its callers. Fixes the ingenic driver,
which already returns an error pointer.

Also update the callers to handle the involved types more strictly.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Steven Price &lt;steven.price@arm.com&gt;
Acked-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20211130095255.26710-1-tzimmermann@suse.de
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/v3d: fix copy_from_user() error codes</title>
<updated>2021-10-11T20:21:14Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2021-10-11T12:33:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee30840ba3baa0bad0ce70905f89942b66d5e0f9'/>
<id>urn:sha1:ee30840ba3baa0bad0ce70905f89942b66d5e0f9</id>
<content type='text'>
The copy_to/from_user() function returns the number of bytes remaining
to be copied, but we want to return -EFAULT on error.

Fixes: e4165ae8304e ("drm/v3d: add multiple syncobjs support")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20211011123303.GA14314@kili
</content>
</entry>
<entry>
<title>drm/v3d: add multiple syncobjs support</title>
<updated>2021-10-04T09:08:46Z</updated>
<author>
<name>Melissa Wen</name>
</author>
<published>2021-09-30T16:19:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4165ae8304e5ea822fbe5909dd3be5445c058b7'/>
<id>urn:sha1:e4165ae8304e5ea822fbe5909dd3be5445c058b7</id>
<content type='text'>
Using the generic extension from the previous patch, a specific multisync
extension enables more than one in/out binary syncobj per job submission.
Arrays of syncobjs are set in struct drm_v3d_multisync, that also cares
of determining the stage for sync (wait deps) according to the job
queue.

v2:
- subclass the generic extension struct (Daniel)
- simplify adding dependency conditions to make understandable (Iago)

v3:
- fix conditions to consider single or multiples in/out_syncs (Iago)
- remove irrelevant comment (Iago)

Signed-off-by: Melissa Wen &lt;mwen@igalia.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/ffd8b2e3dd2e0c686db441a0c0a4a0181ff85328.1633016479.git.mwen@igalia.com
</content>
</entry>
<entry>
<title>drm/v3d: add generic ioctl extension</title>
<updated>2021-10-04T09:08:46Z</updated>
<author>
<name>Melissa Wen</name>
</author>
<published>2021-09-30T16:18:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb3425efdcd99f2b4e608e850226f7107b2f993e'/>
<id>urn:sha1:bb3425efdcd99f2b4e608e850226f7107b2f993e</id>
<content type='text'>
Add support to attach generic extensions on job submission. This patch
is third prep work to enable multiple syncobjs on job submission. With
this work, when the job submission interface needs to be extended to
accommodate a new feature, we will use a generic extension struct where
an id determines the data type to be pointed. The first application is
to enable multiples in/out syncobj (next patch), but the base is
already done for future features. Therefore, to attach a new feature,
a specific extension struct should subclass drm_v3d_extension and
update the list of extensions in a job submission.

v2:
- remove redundant elements to subclass struct (Daniel)

v3:
- add comment for v3d_get_extensions

Signed-off-by: Melissa Wen &lt;mwen@igalia.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/ed53b1cd7e3125b76f18fe3fb995a04393639bc6.1633016479.git.mwen@igalia.com
</content>
</entry>
<entry>
<title>drm/v3d: alloc and init job in one shot</title>
<updated>2021-10-04T09:08:16Z</updated>
<author>
<name>Melissa Wen</name>
</author>
<published>2021-09-30T16:17:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07c2a41658c454c8f148c7fd6b0cbcecb78e9829'/>
<id>urn:sha1:07c2a41658c454c8f148c7fd6b0cbcecb78e9829</id>
<content type='text'>
Move job memory allocation to v3d_job_init function. This aim to facilitate
error handling in job initialization, since cleanup steps are similar for
all (struct v3d_job)-based types of job involved in a command submission.
To generalize v3d_job_init(), this change takes into account that all job
structs have the first element a struct v3d_job (bin, render, tfu, csd) or
it is a v3d_job itself (clean_job) for pointer casting.

v3:
- explicitly init job as NULL (Iago)
- fix pm failure handling on v3_job_init (Iago)

Suggested-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;mwen@igalia.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/4d12e07bd334d2cddb51cabd359e99edde595619.1633016479.git.mwen@igalia.com
</content>
</entry>
<entry>
<title>drm/v3d: decouple adding job dependencies steps from job init</title>
<updated>2021-10-04T09:00:20Z</updated>
<author>
<name>Melissa Wen</name>
</author>
<published>2021-09-30T16:15:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=223583dd00a70ae57031c6004948ea177a4745b5'/>
<id>urn:sha1:223583dd00a70ae57031c6004948ea177a4745b5</id>
<content type='text'>
Prep work to enable a job to wait for more than one syncobj before
start. Also get rid of old checkpatch warnings in the v3d_gem file.
No functional changes.

Signed-off-by: Melissa Wen &lt;mwen@igalia.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/825f5fdd540b0aa2eb57bd5ff93c0777808b108c.1633016479.git.mwen@igalia.com
</content>
</entry>
<entry>
<title>drm/v3d: Make use of the helper function devm_platform_ioremap_resource_byname()</title>
<updated>2021-09-20T12:37:34Z</updated>
<author>
<name>Cai Huoqing</name>
</author>
<published>2021-09-01T11:29:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c3c7d70b2046ed520a8f0ade662a38c0e1aebd1e'/>
<id>urn:sha1:c3c7d70b2046ed520a8f0ade662a38c0e1aebd1e</id>
<content type='text'>
Use the devm_platform_ioremap_resource_byname() helper instead of
calling platform_get_resource_byname() and devm_ioremap_resource()
separately

Signed-off-by: Cai Huoqing &lt;caihuoqing@baidu.com&gt;
Reviewed-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210901112941.31320-1-caihuoqing@baidu.com
</content>
</entry>
<entry>
<title>drm/v3d: fix sched job resources cleanup when a job is aborted</title>
<updated>2021-09-19T19:40:23Z</updated>
<author>
<name>Melissa Wen</name>
</author>
<published>2021-09-16T21:27:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9fcb4a8ff2aad6158f3056c857c2b2252eae312d'/>
<id>urn:sha1:9fcb4a8ff2aad6158f3056c857c2b2252eae312d</id>
<content type='text'>
In a cl submission, when bin job initialization fails, sched job resources
were already allocated for the render job. At this point,
drm_sched_job_init(render) was done in v3d_job_init but the render job is
aborted before drm_sched_job_arm (in v3d_job_push) happens; therefore, not
only v3d_job_put but also drm_sched_job_cleanup should be called (by
v3d_job_cleanup). A similar issue is addressed for csd and tfu submissions.

The issue was noticed from a review by Iago Toral in a patch that touches
the same part of the code.

Fixes: 916044fac8623 ("drm/v3d: Move drm_sched_job_init to v3d_job_init")
Signed-off-by: Melissa Wen &lt;mwen@igalia.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210916212726.2u2psq2egwy2mdva@mail.igalia.com
</content>
</entry>
</feed>
