<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/video/fbdev/omap2/dss/dss.c, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2015-07-02T12:20:10Z</updated>
<entry>
<title>OMAPDSS: fix probing if rfbi device is enabled</title>
<updated>2015-07-02T12:20:10Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2015-06-30T09:23:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0438ec90b17963662ef619b71c77c5c135b07014'/>
<id>urn:sha1:0438ec90b17963662ef619b71c77c5c135b07014</id>
<content type='text'>
After the commit 736e60ddc215b85e73bbf7da26e1cde84cc9500f ("OMAPDSS:
componentize omapdss") the dss core device will wait until all the
subdevices have been successfully probed. However, we don't have a
working driver for RFBI, so if RFBI device exists, omapdss will never
get probed.

All the .dtsi files set RFBI as disabled, except am4372.dtsi. This
causes omapdss probe to not finish on AM4 devices.

This patch makes omapdss driver skip adding rfbi device as a
subcomponent, solving the issue.

This should be reverted when we have a working RFBI driver.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Reported-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: componentize omapdss</title>
<updated>2015-06-17T10:44:53Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2015-06-04T12:22:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=736e60ddc215b85e73bbf7da26e1cde84cc9500f'/>
<id>urn:sha1:736e60ddc215b85e73bbf7da26e1cde84cc9500f</id>
<content type='text'>
omapdss kernel module contains drivers for multiple devices, one for
each DSS submodule. The probing we have at the moment is a mess, and
doesn't give us proper deferred probing nor ensure that all the devices
are probed before omapfb/omapdrm start using omapdss.

This patch solves the mess by using the component system for DSS
submodules.

The changes to all DSS submodules (dispc, dpi, dsi, hdmi4/5, rfbi, sdi,
venc) are the same: probe &amp; remove functions are changed to bind &amp;
unbind, and new probe &amp; remove functions are added which call
component_add/del.

The dss_core driver (dss.c) acts as a component master. Adding and
matching the components is simple: all dss device's child devices are
added as components.

However, we do have some dependencies between the drivers. The order in
which they should be probed is reflected by the list in core.c
(dss_output_drv_reg_funcs). The drivers are registered in that order,
which causes the components to be added in that order, which makes the
components to be bound in that order. This feels a bit fragile, and we
probably should improve the code to manage binds in random order.
However, for now, this works fine.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: remove uses of __init/__exit</title>
<updated>2015-06-17T10:44:47Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2015-06-04T11:12:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ede9269572da9206249f02ebe031ded025b84fd3'/>
<id>urn:sha1:ede9269572da9206249f02ebe031ded025b84fd3</id>
<content type='text'>
The following patches will add component handling to omapdss, improving
the handling of deferred probing. However, at the moment we're using
quite a lot of __inits and __exits in the driver, which prevent normal
dynamic probing and removal.

This patch removes most of the uses of __init and __exit, so that we can
register drivers after module init, and so that we can unregister
drivers even if the module is built-in.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: fix dss_init_ports error handling</title>
<updated>2015-06-17T10:44:44Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2015-06-04T10:06:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f5a1a1f8e41e93584935d4ae62a84280dcdbe778'/>
<id>urn:sha1:f5a1a1f8e41e93584935d4ae62a84280dcdbe778</id>
<content type='text'>
The return value of dss_init_ports() is not handled at all, causing
crashes later if the call failed.

This patch adds the error handling, and we also move the call to a
slightly earlier place to make bailing out easier.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: refactor dss probe function</title>
<updated>2015-06-17T10:44:41Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2015-06-04T10:02:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7e328f5adcabb0b08e713f202b4a0fc388b2319e'/>
<id>urn:sha1:7e328f5adcabb0b08e713f202b4a0fc388b2319e</id>
<content type='text'>
Refactor dss probe function by extracting the setup for video plls into
a separate function. The call to this function is also moved to a
slightly earlier phase, so that in error case we can bail out more
easily.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: move 'dss_initialized' to dss driver</title>
<updated>2015-06-17T10:44:20Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2015-06-04T09:35:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f99467b3549be1c87757e564d18eea6e541060c4'/>
<id>urn:sha1:f99467b3549be1c87757e564d18eea6e541060c4</id>
<content type='text'>
We have a flag, 'dss_initialized', which tells omapfb and omapdrm if
omapdss is available. At the moment it can be set even if the dss
submodules are not all ready, in case something gets deferred.

Move the flag to dss_core driver so that it'll signal the availability
of the dss drivers move accurately.

For now, it'll signal that dss_core is ready, which is not quite correct
but still better than previously.  The following patches will add
component system to omapdss, and after those patches 'dss_initialized'
will signal that all the submodules are ready.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: disable VT switch</title>
<updated>2015-04-20T09:09:04Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2015-02-25T10:08:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cb17a4ae3bbf1daa3b179147b6d476ea2482e2d3'/>
<id>urn:sha1:cb17a4ae3bbf1daa3b179147b6d476ea2482e2d3</id>
<content type='text'>
We don't need VT switch when suspending/resuming, so disable it. This
speeds up suspend/resume.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Cc: NeilBrown &lt;neil@brown.name&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: Add Video PLLs for DRA7xx</title>
<updated>2015-02-04T10:32:05Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2014-07-04T08:08:27Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=99767548b128dae8eb46b7039958b2b6a5483c66'/>
<id>urn:sha1:99767548b128dae8eb46b7039958b2b6a5483c66</id>
<content type='text'>
DRA7xx SoCs have one (DRA72x) or two (DRA74x) video PLLs. They are
basically the same as DSI PLLs on OMAPs, but without the rest of the DSI
hardware. The video PLLs also require some configuration via the CONTROL
module.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: Add functions for external control of PLL</title>
<updated>2015-02-04T10:32:05Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2014-07-04T08:07:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=be40eecf8dea217a3f3b9df5c2d7235e91e25fb0'/>
<id>urn:sha1:be40eecf8dea217a3f3b9df5c2d7235e91e25fb0</id>
<content type='text'>
Add functions which configure the control module register
CTRL_CORE_DSS_PLL_CONTROL found in DRA7xx SoCs. This register configures
whether the PLL registers are accessed internally by DSS, or externally
using OCP2SCP interface. They also configure muxes which route the PLL
output to a particular LCD overlay manager within DSS.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</content>
</entry>
<entry>
<title>OMAPDSS: DSS: Add DRA7xx base support</title>
<updated>2015-02-04T10:32:05Z</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2014-12-31T09:23:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6d817880cdfd0456ccf5f2b705d7078957ea09cb'/>
<id>urn:sha1:6d817880cdfd0456ccf5f2b705d7078957ea09cb</id>
<content type='text'>
Add base support for DRA7xx to DSS core.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
</content>
</entry>
</feed>
