<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/vc4, branch v4.9.14</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.14</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.14'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-02-01T07:33:03+00:00</updated>
<entry>
<title>drm/vc4: fix a bounds check</title>
<updated>2017-02-01T07:33:03+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2017-01-13T07:49:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5270c017f19f32812d7d83ba6e45873b8db503d0'/>
<id>urn:sha1:5270c017f19f32812d7d83ba6e45873b8db503d0</id>
<content type='text'>
commit 21ccc32496b2f63228f5232b3ac0e426e8fb3c31 upstream.

We accidentally return success even if vc4_full_res_bounds_check() fails.

Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Eric Engestrom &lt;eric@engestrom.ch&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/vc4: Return -EINVAL on the overflow checks failing.</title>
<updated>2017-02-01T07:33:03+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-01-17T10:58:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cfba2a001d0e36905016bb4f87fc47245c944c36'/>
<id>urn:sha1:cfba2a001d0e36905016bb4f87fc47245c944c36</id>
<content type='text'>
commit 6b8ac63847bc2f958dd93c09edc941a0118992d9 upstream.

By failing to set the errno, we'd continue on to trying to set up the
RCL, and then oops on trying to dereference the tile_bo that binning
validation should have set up.

Reported-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/vc4: Fix an integer overflow in temporary allocation layout.</title>
<updated>2017-02-01T07:33:03+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2017-01-17T10:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b9edac54cb85da589ca809bf8dcf86e5cd3f41c0'/>
<id>urn:sha1:b9edac54cb85da589ca809bf8dcf86e5cd3f41c0</id>
<content type='text'>
commit 0f2ff82e11c86c05d051cae32b58226392d33bbf upstream.

We copy the unvalidated ioctl arguments from the user into kernel
temporary memory to run the validation from, to avoid a race where the
user updates the unvalidate contents in between validating them and
copying them into the validated BO.

However, in setting up the layout of the kernel side, we failed to
check one of the additions (the roundup() for shader_rec_offset)
against integer overflow, allowing a nearly MAX_UINT value of
bin_cl_size to cause us to under-allocate the temporary space that we
then copy_from_user into.

Reported-by: Murray McAllister &lt;murray.mcallister@insomniasec.com&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/vc4: Fix memory leak of the CRTC state.</title>
<updated>2017-02-01T07:33:03+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2016-10-10T16:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=32600835ebe1bd972d01ce7f331b87bd80705d30'/>
<id>urn:sha1:32600835ebe1bd972d01ce7f331b87bd80705d30</id>
<content type='text'>
commit 7622b25543665567d8830a63210385b7d705924b upstream.

The underscores variant frees the pointers inside, while the
no-underscores variant calls underscores and then frees the struct.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Fixes: d8dbf44f13b9 ("drm/vc4: Make the CRTCs cooperate on allocating display lists.")
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/vc4: Fix a couple error codes in vc4_cl_lookup_bos()</title>
<updated>2017-01-19T19:17:58+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2016-10-13T08:54:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c730a84aff6f3eca7dbe8b5e7bbc3cdd94418a54'/>
<id>urn:sha1:c730a84aff6f3eca7dbe8b5e7bbc3cdd94418a54</id>
<content type='text'>
commit b2cdeb19f16ad984eb5bb9193f793d05a8101511 upstream.

If the allocation fails the current code returns success.  If
copy_from_user() fails it returns the number of bytes remaining instead
of -EFAULT.

Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/vc4: Add support for double-clocked modes.</title>
<updated>2016-10-06T18:58:28+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2016-09-29T22:34:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dfccd937deec9283d6ced73e138808e62bec54e8'/>
<id>urn:sha1:dfccd937deec9283d6ced73e138808e62bec54e8</id>
<content type='text'>
Now that we have infoframes to report the pixel repeat flag, we can
start using it.  Fixes locking the 720x480i and 720x576i modes on my
Dell 2408WFP.  Like the 1920x1080i case, they don't fit properly on
the screen, though.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Set up the AVI and SPD infoframes.</title>
<updated>2016-10-06T18:58:28+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2016-09-29T22:34:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=21317b3fba5428c97779cc8a988ac603e82abd8b'/>
<id>urn:sha1:21317b3fba5428c97779cc8a988ac603e82abd8b</id>
<content type='text'>
Fixes a purple bar on the left side of the screen with my Dell
2408WFP.  It will also be required for supporting the double-clocked
video modes.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Fix support for interlaced modes on HDMI.</title>
<updated>2016-10-06T18:58:27+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2016-09-29T00:30:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=682e62c45406ccf81216481be59c2f7ca5a883d4'/>
<id>urn:sha1:682e62c45406ccf81216481be59c2f7ca5a883d4</id>
<content type='text'>
We really do need to be using the halved V fields.  I had been
confused by the code I was using as a reference because it stored
halved vsync fields but not halved vdisplay, so it looked like I only
needed to divide vdisplay by 2.

This reverts part of Mario's timestamping fixes that prevented
CRTC_HALVE_V from applying, and instead adjusts the timestamping code
to not use the crtc field in that case.

Fixes locking of 1920x1080x60i on my Dell 2408WFP.  There are black
bars on the top and bottom, but I suspect that might be an
under/overscan flags problem as opposed to video timings.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Increase timeout for HDMI_SCHEDULER_CONTROL changes.</title>
<updated>2016-10-06T18:58:27+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2016-09-29T00:21:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2b29bf16611a1aabb310406dd171dce6e6d51322'/>
<id>urn:sha1:2b29bf16611a1aabb310406dd171dce6e6d51322</id>
<content type='text'>
Fixes occasional debug spew at boot when connected directly through
HDMI, and probably confusing the HDMI state machine when we go trying
to poke registers for the enable sequence too soon.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
</content>
</entry>
<entry>
<title>drm/vc4: Fall back to using an EDID probe in the absence of a GPIO.</title>
<updated>2016-10-06T18:58:26+00:00</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2016-09-14T18:21:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9d44abbbb8d530e8cc97d71ffcbc0ff3b5553c62'/>
<id>urn:sha1:9d44abbbb8d530e8cc97d71ffcbc0ff3b5553c62</id>
<content type='text'>
On Pi0/1/2, we use an external GPIO line for hotplug detection, since
the HDMI_HOTPLUG register isn't connected to anything.  However, with
the Pi3 the HPD GPIO line has moved off to a GPIO expander that will
be tricky to get to (the firmware is constantly polling the expander
using i2c0, so we'll need to coordinate with it).

As a stop-gap, if we don't have a GPIO line, use an EDID probe to
detect connection.  Fixes HDMI display on the pi3.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
</content>
</entry>
</feed>
