Laurent Pinchart
76777d6c30
drm/omap: dpi: Simplify clock setting API
...
The dpi_set_pll_clk() and dpi_set_dispc_clk() return various information
through pointer arguments that are never used by the callers. Remove
them to simplify the clock setting API.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-48-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:07 +02:00
Laurent Pinchart
825281cd6b
drm/omap: dpi: Reorder functions in sections
...
Group functions based on their purpose and split them in sections to
make the source code easier to navigate.
No functional change is included.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-47-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:06 +02:00
Laurent Pinchart
b04df00bb5
drm/omap: dpi: Sort includes alphabetically
...
This makes it easier to quickly locate duplicate includes.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-46-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:06 +02:00
Laurent Pinchart
b6067da4eb
drm/omap: hdmi5: Simplify EDID read
...
Now that the omap_dss_device EDID read operation has been removed,
simplify the bridge-based EDID access by merging multiple functions
together.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-45-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:05 +02:00
Laurent Pinchart
7f113085af
drm/omap: hdmi4: Simplify EDID read
...
Now that the omap_dss_device EDID read operation has been removed,
simplify the bridge-based EDID access by merging multiple functions
together.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-44-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:04 +02:00
Laurent Pinchart
96b0a34d27
drm/omap: venc: Remove omap_dss_device operations
...
Now that the VENC output is driven fully through the drm_bridge API its
omap_dss_device operations are not used anymore. Remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-43-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:04 +02:00
Laurent Pinchart
a559b4407d
drm/omap: hdmi: Remove omap_dss_device operations
...
Now that the HDMI outputs are driven fully through the drm_bridge API
their omap_dss_device operations are not used anymore. Remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-42-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:03 +02:00
Laurent Pinchart
75fb968b83
drm/omap: Remove HPD, detect and EDID omapdss operations
...
Due to the removal of several omapdrm display drivers, the omapdss HPD,
detected and EDID operations are not used anymore. Remove them and all
related code.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-41-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:02 +02:00
Laurent Pinchart
e7e67d9a2f
drm/omap: Switch the HDMI and VENC outputs to drm_bridge
...
The TPD12S015, OPA362 and analog and HDMI connectors are now supported
by DRM bridge drivers, and the omapdrm HDMI and VENC outputs can be
handled through the drm_bridge API. Switch the outputs to drm_bridge by
making the next bridge mandatory and removing the related
omapdrm-specific display drivers.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-40-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:00 +02:00
Laurent Pinchart
f40f4e45df
drm/omap: Create connector for bridges
...
Use the drm_bridge_connector helper to create a connector for pipelines
that use drm_bridge. This allows splitting connector operations across
multiple bridges when necessary, instead of having the last bridge in
the chain creating the connector and handling all connector operations
internally.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-39-laurent.pinchart@ideasonboard.com
2020-02-26 13:32:00 +02:00
Laurent Pinchart
2f004792ad
drm/omap: venc: Register a drm_bridge
...
In order to integrate with a chain of drm_bridge, the internal VENC
encoder has to expose the mode valid, fixup and set, the enable and
disable and the get modes operations through the drm_bridge API.
Register a bridge at initialisation time to do so.
Most of those operations are removed from the omap_dss_device as they
are now called through the drm_bridge API by the DRM atomic helpers. The
only exception is the .get_modes() operation that is still invoked
through the omap_dss_device-based pipeline.
For the time being make the next bridge in the chain optional as the
VENC output is still based on omap_dss_device. The create_connector
argument to the bridge attach function is also ignored for the same
reason. This will be changed later when removing the related
omapdrm-specific display drivers.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-38-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:59 +02:00
Laurent Pinchart
4fcbfbae72
drm/omap: dss: Remove .set_hdmi_mode() and .set_infoframe() operations
...
The omapdss_hdmi_ops .set_hdmi_mode() and .set_infoframe() operations
operations are not used anymore, remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-37-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:58 +02:00
Laurent Pinchart
6886b34645
drm/omap: hdmi4: Implement drm_bridge .hpd_notify() operation
...
The HDMI4 encoder is transitioning to the drm_bridge API, implement the
last missing operation.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-36-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:58 +02:00
Laurent Pinchart
615de6ceb6
drm/omap: hdmi5: Move mode set, enable and disable operations to bridge
...
Move the omap_dss_device .set_timings(), .enable() and .disable()
operations to the drm_bridge functions. As the drm_bridge for the HDMI
encoder is unconditionally registered and attached, those operations
will be called at the appropriate time.
The omapdss device .set_infoframe() and .set_hdmi_mode() operations have
no equivalent in drm_bridge. Thir content is thus moved to the bridge
.enable() operation as the data they store is not needed before the HDMI
encoder gets enabled.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-35-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:57 +02:00
Laurent Pinchart
3c983905d2
drm/omap: hdmi4: Move mode set, enable and disable operations to bridge
...
Move the omap_dss_device .set_timings(), .enable() and .disable()
operations to the drm_bridge functions. As the drm_bridge for the HDMI
encoder is unconditionally registered and attached, those operations
will be called at the appropriate time.
The omapdss device .set_infoframe() and .set_hdmi_mode() operations have
no equivalent in drm_bridge. Thir content is thus moved to the bridge
.enable() operation as the data they store is not needed before the HDMI
encoder gets enabled.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-34-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:56 +02:00
Laurent Pinchart
6c623d6bf3
drm/omap: hdmi5: Register a drm_bridge for EDID read
...
In order to integrate with a chain of drm_bridge, the internal HDMI5
encoder has to expose the EDID read operation through the drm_bridge
API. Register a bridge at initialisation time to do so.
For the time being make the next bridge in the chain optional as the
HDMI output is still based on omap_dss_device. The create_connector
argument to the bridge attach function is also ignored for the same
reason. This will be changed later when removing the related
omapdrm-specific display drivers.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-33-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:56 +02:00
Laurent Pinchart
ee34f23ae8
drm/omap: hdmi4: Register a drm_bridge for EDID read
...
In order to integrate with a chain of drm_bridge, the internal HDMI4
encoder has to expose the EDID read operation through the drm_bridge
API. Register a bridge at initialisation time to do so.
For the time being make the next bridge in the chain optional as the
HDMI output is still based on omap_dss_device. The create_connector
argument to the bridge attach function is also ignored for the same
reason. This will be changed later when removing the related
omapdrm-specific display drivers.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-32-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:55 +02:00
Laurent Pinchart
1edc1a1cbe
drm/omap: hdmi5: Rework EDID read to isolate data read
...
In preparation of adding DRM bridge support to the hdmi5 encoder code,
rework the EDID read to isolate data read.
The hdmi_read_edid() function is the main entry point. It performs all
initialisation steps required prior to reading the EDID (such as
ensuring the device is powered on), as well as corresponding cleanup
steps afterwards. EDID read itself is handled by hdmi_read_edid_data()
that calls the hdmi5_core_ddc_read() function to read individual blocks.
This new code architecture will allow reusing hdmi_read_edid() and
hdmi5_core_ddc_read() for the drm_bridge EDID read implementation, while
swapping out hdmi_read_edid_data() for the DRM drm_do_get_edid()
function.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-31-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:54 +02:00
Laurent Pinchart
a4659694a7
drm/omap: hdmi4: Rework EDID read to isolate data read
...
In preparation of adding DRM bridge support to the hdmi4 encoder code,
rework the EDID read to isolate data read.
The hdmi_read_edid() function is the main entry point. It performs all
initialisation steps required prior to reading the EDID (such as
ensuring the device is powered on), as well as corresponding cleanup
steps afterwards. EDID read itself is handled by hdmi_read_edid_data()
that calls the hdmi4_core_ddc_read() function to read individual blocks.
This new code architecture will allow reusing hdmi_read_edid() and
hdmi4_core_ddc_read() for the drm_bridge EDID read implementation, while
swapping out hdmi_read_edid_data() for the DRM drm_do_get_edid()
function.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-30-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:53 +02:00
Laurent Pinchart
0fe37173ce
drm/omap: hdmi: Allocate EDID in the .read_edid() operation
...
Bring the omapdss-specific .read_edid() operation in sync with the
drm_bridge .get_edid() operation to ease code reuse.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-29-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:52 +02:00
Laurent Pinchart
db0fefd1b9
drm/omap: dss: Make omap_dss_device_ops optional
...
As part of the move to drm_bridge ops, the dssdev ops will become empty
for some of the internal encoders. Make them optional in the driver to
allow them to be removed completely, easing the transition.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-28-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:51 +02:00
Laurent Pinchart
326a1166ca
drm/omap: Add infrastructure to support drm_bridge local to DSS outputs
...
In order to support drm_bridge-based pipeline, the internal HDMI
encoders will need to expose the EDID read operation through the
drm_bridge API, and thus to expose a drm_bridge instance corresponding
to the encoder. The HDMI encoders are however handled as omap_dss_device
instances, which conflicts with this requirement.
In order to move forward with the drm_bridge transition, add support for
creating drm_bridge instances local to DSS outputs. If a local bridge is
passed to the omapdss_device_init_output() function, it is used as the
first bridge in the chain, and the omap_dss_device.next_bridge field is
set to the next bridge for the use of the internal encoders' bridges.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-27-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:50 +02:00
Laurent Pinchart
c83fefd738
drm/omap: dss: Fix output next device lookup in DT
...
The DSS core looks up the next device connected to an output by
traversing the OF graph. It currently hardcodes the local port number to
0, which breaks any output with a different port number (SDI on OMAP3
and any DPI output but the first one). Fix this by repurposing the
currently unused of_ports bitmask in omap_dss_device with an of_port
output port number, and use it to traverse the OF graph.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-26-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:48 +02:00
Laurent Pinchart
a779618b4a
drm/omap: Use the drm_panel_bridge API
...
Replace the manual panel handling code by a drm_panel_bridge. This
simplifies the driver and allows all components in the display pipeline
to be treated as bridges, paving the way to generic connector handling.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-25-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:47 +02:00
Laurent Pinchart
514fc91083
drm/omap: Factor out display type to connector type conversion
...
Move the code that computes the DRM connector type for the
omapdss_device display type to a new omapdss_device_connector_type()
function for later reuse.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-24-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:46 +02:00
Laurent Pinchart
1516d11923
drm/omap: Simplify HDMI mode and infoframe configuration
...
Remove the omap_connector_get_hdmi_mode() function as the HDMI mode can
be accessed directly from the connector's display info.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-23-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:45 +02:00
Laurent Pinchart
2a0a3ae17d
drm/omap: dss: Cleanup DSS ports on initialisation failure
...
When the DSS initialises its output DPI and SDI ports, failures don't
clean up previous successfully initialised ports. This can lead to
resource leak or memory corruption. Fix it.
Reported-by: Hans Verkuil <hverkuil@xs4all.nl >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-22-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:44 +02:00
Laurent Pinchart
5e20bdf3d3
drm: Add helper to create a connector for a chain of bridges
...
Most bridge drivers create a DRM connector to model the connector at the
output of the bridge. This model is historical and has worked pretty
well so far, but causes several issues:
- It prevents supporting more complex display pipelines where DRM
connector operations are split over multiple components. For instance a
pipeline with a bridge connected to the DDC signals to read EDID data,
and another one connected to the HPD signal to detect connection and
disconnection, will not be possible to support through this model.
- It requires every bridge driver to implement similar connector
handling code, resulting in code duplication.
- It assumes that a bridge will either be wired to a connector or to
another bridge, but doesn't support bridges that can be used in both
positions very well (although there is some ad-hoc support for this in
the analogix_dp bridge driver).
In order to solve these issues, ownership of the connector needs to be
moved to the display controller driver.
To avoid code duplication in display controller drivers, add a new
helper to create and manage a DRM connector backed by a chain of
bridges. All connector operations are delegating to the appropriate
bridge in the chain.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-21-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:41 +02:00
Laurent Pinchart
e00a5caafa
drm/bridge: tfp410: Allow operation without drm_connector
...
The tfp410 driver can operate as part of a pipeline where the
drm_connector is created by the display controller. Enable this mode of
operation by skipping creation of a drm_connector internally.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-20-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:40 +02:00
Laurent Pinchart
5cafa0f185
drm/bridge: tfp410: Replace manual connector handling with bridge
...
Now that a driver is available for display connectors, replace the
manual connector handling code with usage of the DRM bridge API. The
tfp410 driver doesn't deal with the display connector directly anymore,
but still delegates drm_connector operations to the next bridge. This
brings us one step closer to having the tfp410 driver handling the
TFP410 only.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-19-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:40 +02:00
Laurent Pinchart
2be68b59e5
drm/bridge: panel: Implement bridge connector operations
...
Implement the newly added bridge connector operations, allowing the
usage of drm_bridge_panel with drm_bridge_connector.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-18-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:39 +02:00
Laurent Pinchart
cff5e6f7e8
drm/bridge: Add driver for the TI TPD12S015 HDMI level shifter
...
The TI TPD12S015 is an HDMI level shifter and ESD protector controlled
through GPIOs. Add a DRM bridge driver for the device.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-17-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:38 +02:00
Laurent Pinchart
0c275c3017
drm/bridge: Add bridge driver for display connectors
...
Display connectors are modelled in DT as a device node, but have so far
been handled manually in several bridge drivers. This resulted in
duplicate code in several bridge drivers, with slightly different (and
thus confusing) logics.
In order to fix this, implement a bridge driver for display connectors.
The driver centralises logic for the DVI, HDMI, VGAn composite and
S-video connectors and exposes corresponding bridge operations.
This driver in itself doesn't solve the issue completely, changes in
bridge and display controller drivers are needed to make use of the new
connector driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Maxime Ripard <mripard@kernel.org >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-16-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:37 +02:00
Laurent Pinchart
ca00e10b50
drm/bridge: simple-bridge: Add support for the TI OPA362
...
The TI OPA362 is an analog video amplifier controlled through a GPIO. Add
support for it to the simple-bridge driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Maxime Ripard <mripard@kernel.org >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-15-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:33 +02:00
Laurent Pinchart
2df6428e29
drm/bridge: simple-bridge: Add support for enable GPIO
...
If an enable GPIO is declared in the firmware, assert it when enabling
the bridge and deassert it when disabling it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Stefan Agner <stefan@agner.ch >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Maxime Ripard <mripard@kernel.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-14-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:33 +02:00
Laurent Pinchart
272378ec0e
drm/bridge: simple-bridge: Add support for non-VGA bridges
...
Create a new simple_bridge_info structure that stores information about
the bridge model, and store the bridge timings in there, along with the
connector type. Use that new structure for of_device_id data. This
enables support for non-VGA bridges.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Stefan Agner <stefan@agner.ch >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Maxime Ripard <mripard@kernel.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-13-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:32 +02:00
Laurent Pinchart
0411374bdf
drm/bridge: dumb-vga-dac: Rename driver to simple-bridge
...
The dumb-vga-dac driver can support simple DRM bridges without being
limited to VGA DACs. Rename it to simple-bridge.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Maxime Ripard <mripard@kernel.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-12-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:31 +02:00
Laurent Pinchart
94ded532ff
drm/bridge: dumb-vga-dac: Rename internal symbols to simple-bridge
...
The dumb-vga-dac driver is a simple DRM bridge driver for simple VGA
DACs that don't require configuration. Other non-VGA bridges fall in a
similar category, and would benefit from a common driver. Prepare for
this by renaming the internal symbols from dumb-vga-dac to
simple-bridge.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Maxime Ripard <mripard@kernel.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-11-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:30 +02:00
Laurent Pinchart
a25b988ff8
drm/bridge: Extend bridge API to disable connector creation
...
Most bridge drivers create a DRM connector to model the connector at the
output of the bridge. This model is historical and has worked pretty
well so far, but causes several issues:
- It prevents supporting more complex display pipelines where DRM
connector operations are split over multiple components. For instance a
pipeline with a bridge connected to the DDC signals to read EDID data,
and another one connected to the HPD signal to detect connection and
disconnection, will not be possible to support through this model.
- It requires every bridge driver to implement similar connector
handling code, resulting in code duplication.
- It assumes that a bridge will either be wired to a connector or to
another bridge, but doesn't support bridges that can be used in both
positions very well (although there is some ad-hoc support for this in
the analogix_dp bridge driver).
In order to solve these issues, ownership of the connector should be
moved to the display controller driver (where it can be implemented
using helpers provided by the core).
Extend the bridge API to allow disabling connector creation in bridge
drivers as a first step towards the new model. The new flags argument to
the bridge .attach() operation allows instructing the bridge driver to
skip creating a connector. Unconditionally set the new flags argument to
0 for now to keep the existing behaviour, and modify all existing bridge
drivers to return an error when connector creation is not requested as
they don't support this feature yet.
The change is based on the following semantic patch, with manual review
and edits.
@ rule1 @
identifier funcs;
identifier fn;
@@
struct drm_bridge_funcs funcs = {
...,
.attach = fn
};
@ depends on rule1 @
identifier rule1.fn;
identifier bridge;
statement S, S1;
@@
int fn(
struct drm_bridge *bridge
+ , enum drm_bridge_attach_flags flags
)
{
... when != S
+ if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) {
+ DRM_ERROR("Fix bridge driver to make connector optional!");
+ return -EINVAL;
+ }
+
S1
...
}
@ depends on rule1 @
identifier rule1.fn;
identifier bridge, flags;
expression E1, E2, E3;
@@
int fn(
struct drm_bridge *bridge,
enum drm_bridge_attach_flags flags
) {
<...
drm_bridge_attach(E1, E2, E3
+ , flags
)
...>
}
@@
expression E1, E2, E3;
@@
drm_bridge_attach(E1, E2, E3
+ , 0
)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-10-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:23 +02:00
Laurent Pinchart
11f6c4b1b2
drm/bridge: Add connector-related bridge operations and data
...
To support implementation of DRM connectors on top of DRM bridges
instead of by bridges, the drm_bridge needs to expose new operations and
data:
- Output detection, hot-plug notification, mode retrieval and EDID
retrieval operations
- Bitmask of supported operations
- Bridge output type
- I2C adapter for DDC access
Add and document these.
Three new bridge helper functions are also added to handle hot plug
notification in a way that is as transparent as possible for the
bridges.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-8-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:22 +02:00
Laurent Pinchart
0451369bc5
drm/bridge: Improve overview documentation
...
Clean up the drm_bridge overview documentation, and expand the
operations documentation to provide more details on API usage.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-7-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:21 +02:00
Laurent Pinchart
a92d083d08
drm/edid: Add flag to drm_display_info to identify HDMI sinks
...
The drm_display_info structure contains many fields related to HDMI
sinks, but none that identifies if a sink compliant with CEA-861 (EDID)
shall be treated as an HDMI sink or a DVI sink. Add such a flag, and
populate it according to section 8.3.3 ("DVI/HDMI Device
Discrimination") of the HDMI v1.3 specification.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-4-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:19 +02:00
Laurent Pinchart
b35f90f2d4
drm/connector: Add helper to get a connector type name
...
drm_connector.c contains a map of connector types (DRM_MODE_CONNECTOR_*)
to name strings, but doesn't expose it. This leads to drivers having to
store a similar map.
Add a new drm_get_connector_type_name() helper function that return a
name string for a connector type.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-3-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:18 +02:00
Laurent Pinchart
5ee0caf161
video: hdmi: Change return type of hdmi_avi_infoframe_init() to void
...
The hdmi_avi_infoframe_init() never needs to return an error, change its
return type to void.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200226112514.12455-2-laurent.pinchart@ideasonboard.com
2020-02-26 13:31:18 +02:00
Jani Nikula
80f286a552
drm/i915: split intel_modeset_init() to pre/post irq install
...
Split inte_modeset_init() to parts before and after irq install, to
facilitate further cleanup. The error paths are a mess, otherwise no
functional changes.
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200224120828.22105-1-jani.nikula@intel.com
2020-02-26 10:37:13 +02:00
Jani Nikula
cf9bfa3c5c
drm/i915: stop assigning drm->dev_private pointer
...
We no longer need or use it as we subclass struct drm_device in our
struct drm_i915_private, and can always use to_i915() to get at
i915. Stop assigning the pointer to catch anyone trying to add new users
for ->dev_private.
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Reviewed-by: Dale B Stimson <dale.b.stimson@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200224113312.13674-1-jani.nikula@intel.com
2020-02-26 10:36:35 +02:00
Jitao Shi
b472094402
drm/mediatek: add mt8183 dpi clock factor
...
The factor depends on the divider of DPI in MT8183, therefore,
we should fix this factor to the right and new one.
Signed-off-by: Jitao Shi <jitao.shi@mediatek.com >
Signed-off-by: CK Hu <ck.hu@mediatek.com >
2020-02-26 09:29:05 +08:00
Nicolas Boichat
506629c868
drm/panfrost: Add support for multiple power domains
...
When there is a single power domain per device, the core will
ensure the power domain is switched on (so it is technically
equivalent to having not power domain specified at all).
However, when there are multiple domains, as in MT8183 Bifrost
GPU, we need to handle them in driver code.
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org >
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org >
Reviewed-by: Steven Price <steven.price@arm.com >
Signed-off-by: Rob Herring <robh@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200207052627.130118-6-drinkcat@chromium.org
2020-02-25 14:35:35 -06:00
Nicolas Boichat
3e1399bccf
drm/panfrost: Add support for multiple regulators
...
Some GPUs, namely, the bifrost/g72 part on MT8183, have a second
regulator for their SRAM, let's add support for that.
We extend the framework in a generic manner so that we could
support more than 2 regulators, if required.
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org >
Reviewed-by: Steven Price <steven.price@arm.com >
Reviwed-by: Mark Brown <broonie@kernel.org >
Signed-off-by: Rob Herring <robh@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200207052627.130118-5-drinkcat@chromium.org
2020-02-25 14:35:31 -06:00
Nicolas Boichat
a9d73b30bb
drm/panfrost: Improve error reporting in panfrost_gpu_power_on
...
It is useful to know which component cannot be powered on.
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Steven Price <steven.price@arm.com >
Signed-off-by: Rob Herring <robh@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200207052627.130118-4-drinkcat@chromium.org
2020-02-25 14:35:29 -06:00