<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/mxsfb, 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-02-08T17:35:15Z</updated>
<entry>
<title>drm: mxsfb: Fix NULL pointer dereference</title>
<updated>2022-02-08T17:35:15Z</updated>
<author>
<name>Alexander Stein</name>
</author>
<published>2022-02-02T08:17:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f9267e01cca749137349d8ffb0d0ebbadf567f4'/>
<id>urn:sha1:6f9267e01cca749137349d8ffb0d0ebbadf567f4</id>
<content type='text'>
commit 622c9a3a7868e1eeca39c55305ca3ebec4742b64 upstream.

mxsfb should not ever dereference the NULL pointer which
drm_atomic_get_new_bridge_state is allowed to return.
Assume a fixed format instead.

Fixes: b776b0f00f24 ("drm: mxsfb: Use bus_format from the nearest bridge if present")
Signed-off-by: Alexander Stein &lt;alexander.stein@ew.tq-group.com&gt;
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220202081755.145716-3-alexander.stein@ew.tq-group.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'drm-misc-next-2021-10-14' of git://anongit.freedesktop.org/drm/drm-misc into drm-next</title>
<updated>2021-11-05T03:50:15Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2021-11-05T03:50:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5275a99e35e5a1d1f68038b0560d0e7eaf624e86'/>
<id>urn:sha1:5275a99e35e5a1d1f68038b0560d0e7eaf624e86</id>
<content type='text'>
drm-misc-next for 5.16:

UAPI Changes:

Cross-subsystem Changes:

Core Changes:
  - fbdev: Fix double-free, Remove unused scrolling acceleration
  - locking: improve logging for contented locks without backoff
  - dma-buf: Add dma_resv_for_each_fence iterator, and conversion of
    users

Driver Changes:
  - nouveau: Various code style improvements
  - bridge: HPD improvements for lt9611uxc, eDP aux-bus support for
    ps8640, lvds-codec data-mapping selection support
  - panels: Vivax TPC-9150, Innolux G070Y2-T02, LOGIC Technologies
    LTTD800480070-L2RT, Sharp LS060T1SX01,

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;

From: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20211014120452.2wicnt6hobu3kbwb@gilmour
</content>
</entry>
<entry>
<title>drm: mxsfb: Fix NULL pointer dereference crash on unload</title>
<updated>2021-10-21T09:08:08Z</updated>
<author>
<name>Marek Vasut</name>
</author>
<published>2021-10-16T21:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3cfc183052c3dbf8eae57b6c1685dab00ed3db4a'/>
<id>urn:sha1:3cfc183052c3dbf8eae57b6c1685dab00ed3db4a</id>
<content type='text'>
The mxsfb-&gt;crtc.funcs may already be NULL when unloading the driver,
in which case calling mxsfb_irq_disable() via drm_irq_uninstall() from
mxsfb_unload() leads to NULL pointer dereference.

Since all we care about is masking the IRQ and mxsfb-&gt;base is still
valid, just use that to clear and mask the IRQ.

Fixes: ae1ed00932819 ("drm: mxsfb: Stop using DRM simple display pipeline helper")
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Daniel Abrecht &lt;public@danielabrecht.ch&gt;
Cc: Emil Velikov &lt;emil.l.velikov@gmail.com&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Stefan Agner &lt;stefan@agner.ch&gt;
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20211016210446.171616-1-marex@denx.de
Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>drm: mxsfb: Set fallback bus format when the bridge doesn't provide one</title>
<updated>2021-10-12T09:18:17Z</updated>
<author>
<name>Guido Günther</name>
</author>
<published>2021-10-11T13:41:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1db060509903b29d63fe2e39c14fd0f99c4a447e'/>
<id>urn:sha1:1db060509903b29d63fe2e39c14fd0f99c4a447e</id>
<content type='text'>
If a bridge doesn't do any bus format handling MEDIA_BUS_FMT_FIXED is
returned. Fallback to a reasonable default (MEDIA_BUS_FMT_RGB888_1X24) in
that case.

This unbreaks e.g. using mxsfb with the nwl bridge and mipi dsi panels.

Reported-by: Martin Kepplinger &lt;martink@posteo.de&gt;
Signed-off-by: Guido Günther &lt;agx@sigxcpu.org&gt;
Reviewed-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Reviewed-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Acked-by: Stefan Agner &lt;stefan@agner.ch&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/781f0352052cc50c823c199ef5f53c84902d0580.1633959458.git.agx@sigxcpu.org
</content>
</entry>
<entry>
<title>drm: mxsfb: Print failed bus format in hex</title>
<updated>2021-10-12T09:18:13Z</updated>
<author>
<name>Guido Günther</name>
</author>
<published>2021-10-11T13:41:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2e0ee7e2c2b062e27ca0dd597793a56a5761865'/>
<id>urn:sha1:e2e0ee7e2c2b062e27ca0dd597793a56a5761865</id>
<content type='text'>
media-bus-formats.h has them in hexadecimal as well so matching with
that file saves one conversion when debugging.

Signed-off-by: Guido Günther &lt;agx@sigxcpu.org&gt;
Reviewed-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Reviewed-by: Robert Foss &lt;robert.foss@linaro.org&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Acked-by: Stefan Agner &lt;stefan@agner.ch&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/c84b34855abbb85cd25bbb5126db302f88327640.1633959458.git.agx@sigxcpu.org
</content>
</entry>
<entry>
<title>drm/mxsfb: Convert to Linux IRQ interfaces</title>
<updated>2021-08-10T18:13:45Z</updated>
<author>
<name>Thomas Zimmermann</name>
</author>
<published>2021-08-03T09:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5fc40f41c137cceea8d256d842079f7ee1410a60'/>
<id>urn:sha1:5fc40f41c137cceea8d256d842079f7ee1410a60</id>
<content type='text'>
Drop the DRM IRQ midlayer in favor of Linux IRQ interfaces. DRM's
IRQ helpers are mostly useful for UMS drivers. Modern KMS drivers
don't benefit from using it.

DRM IRQ callbacks are now being called directly or inlined.

Calls to platform_get_irq() can fail with a negative errno code.
Abort initialization in this case. The DRM IRQ midlayer does not
handle this case correctly.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210803090704.32152-9-tzimmermann@suse.de
</content>
</entry>
<entry>
<title>drm: mxsfb: Clear FIFO_CLEAR bit</title>
<updated>2021-07-27T19:15:24Z</updated>
<author>
<name>Marek Vasut</name>
</author>
<published>2021-06-20T22:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e23c98178eb1a2cdb7c4fee9a39baf8cabf282d'/>
<id>urn:sha1:5e23c98178eb1a2cdb7c4fee9a39baf8cabf282d</id>
<content type='text'>
Make sure the FIFO_CLEAR bit is latched in when configuring the
controller, so that the FIFO is really cleared. And then clear
the FIFO_CLEAR bit, since it is not self-clearing.

Fixes: 45d59d704080 ("drm: Add new driver for MXSFB controller")
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Daniel Abrecht &lt;public@danielabrecht.ch&gt;
Cc: Emil Velikov &lt;emil.l.velikov@gmail.com&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Cc: Stefan Agner &lt;stefan@agner.ch&gt;
Reviewed-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Tested-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt; # i.Core MX8MM
Acked-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210620224946.189524-1-marex@denx.de
</content>
</entry>
<entry>
<title>drm: mxsfb: Use bus_format from the nearest bridge if present</title>
<updated>2021-07-27T19:15:24Z</updated>
<author>
<name>Marek Vasut</name>
</author>
<published>2021-07-26T19:44:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b776b0f00f246d093c595bac4453c6e51541d5c5'/>
<id>urn:sha1:b776b0f00f246d093c595bac4453c6e51541d5c5</id>
<content type='text'>
In case there is a bridge connected to the LCDIF, use bus_format
from the bridge, otherwise behave as before and use bus_format
from the connector. This way, even if there are multiple bridges
in the display pipeline, the LCDIF will use the correct format.

Reviewed-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Daniel Abrecht &lt;public@danielabrecht.ch&gt;
Cc: Emil Velikov &lt;emil.l.velikov@gmail.com&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Cc: Stefan Agner &lt;stefan@agner.ch&gt;
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210726194457.341696-1-marex@denx.de
</content>
</entry>
<entry>
<title>drm: mxsfb: Increase number of outstanding requests on V4 and newer HW</title>
<updated>2021-07-27T19:15:24Z</updated>
<author>
<name>Marek Vasut</name>
</author>
<published>2021-06-20T22:47:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9891cb54445bc65bf156bda416b6215048c7f617'/>
<id>urn:sha1:9891cb54445bc65bf156bda416b6215048c7f617</id>
<content type='text'>
In case the DRAM is under high load, the MXSFB FIFO might underflow
and that causes visible artifacts. This could be triggered on i.MX8MM
using e.g. "$ memtester 128M" on a device with 1920x1080 panel. The
first "Stuck Address" test of the memtester will completely corrupt
the image on the panel and leave the MXSFB FIFO in odd state.

To avoid this underflow, increase number of outstanding requests to
DRAM from 2 to 16, which is the maximum. This mitigates the issue
and it can no longer be triggered.

Fixes: 45d59d704080 ("drm: Add new driver for MXSFB controller")
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Daniel Abrecht &lt;public@danielabrecht.ch&gt;
Cc: Emil Velikov &lt;emil.l.velikov@gmail.com&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Cc: Stefan Agner &lt;stefan@agner.ch&gt;
Reviewed-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210620224759.189351-1-marex@denx.de
</content>
</entry>
<entry>
<title>drm: mxsfb: Enable recovery on underflow</title>
<updated>2021-07-27T19:15:24Z</updated>
<author>
<name>Marek Vasut</name>
</author>
<published>2021-06-20T22:47:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c9856e4edcdcac22d65618e8ceff9eb41447880'/>
<id>urn:sha1:0c9856e4edcdcac22d65618e8ceff9eb41447880</id>
<content type='text'>
There is some sort of corner case behavior of the controller,
which could rarely be triggered at least on i.MX6SX connected
to 800x480 DPI panel and i.MX8MM connected to DPI-&gt;DSI-&gt;LVDS
bridged 1920x1080 panel (and likely on other setups too), where
the image on the panel shifts to the right and wraps around.
This happens either when the controller is enabled on boot or
even later during run time. The condition does not correct
itself automatically, i.e. the display image remains shifted.

It seems this problem is known and is due to sporadic underflows
of the LCDIF FIFO. While the LCDIF IP does have underflow/overflow
IRQs, neither of the IRQs trigger and neither IRQ status bit is
asserted when this condition occurs.

All known revisions of the LCDIF IP have CTRL1 RECOVER_ON_UNDERFLOW
bit, which is described in the reference manual since i.MX23 as
"
  Set this bit to enable the LCDIF block to recover in the next
  field/frame if there was an underflow in the current field/frame.
"
Enable this bit to mitigate the sporadic underflows.

Fixes: 45d59d704080 ("drm: Add new driver for MXSFB controller")
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Daniel Abrecht &lt;public@danielabrecht.ch&gt;
Cc: Emil Velikov &lt;emil.l.velikov@gmail.com&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Cc: Stefan Agner &lt;stefan@agner.ch&gt;
Reviewed-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20210620224701.189289-1-marex@denx.de
</content>
</entry>
</feed>
