linux-stable/drivers/gpu/drm/imx
Boris Brezillon fe141cedc4 drm/imx: pd: Use bus format/flags provided by the bridge when available
Now that bridges can expose the bus format/flags they expect, we can
use those instead of the relying on the display_info provided by the
connector (which is only valid if the encoder is directly connected
to bridge element driving the panel/display).

We also explicitly expose the bus formats supported by our encoder by
filling encoder->output_bus_caps with proper info.

v10:
* Add changelog to the commit message
* Use kmalloc() instead of kcalloc()
* Add a dev_warn() when unsupported flags are requested

v8 -> v9:
* No changes

v7:
* Add an imx_pd_format_supported() helper (suggested by Philipp)
* Simplify imx_pd_bridge_atomic_get_output_bus_fmts() (suggested by Philipp)
* Simplify imx_pd_bridge_atomic_get_input_bus_fmts()
* Explicitly set the duplicate/destro_state() and reset() hooks

v4 -> v6:
* Patch was not part of the series

v3 (all suggested by Philipp):
* Adjust to match core changes
* Propagate output format to input format
* Pick a default value when output_fmt = _FIXED
* Add missing BGR888 and GBR888 fmts to imx_pd_bus_fmts[]

v2:
* Adjust things to match the new bus-format negotiation infra

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20200128135514.108171-8-boris.brezillon@collabora.com
2020-01-31 16:40:12 +01:00
..
dw_hdmi-imx.c drm: Don't include drm/drm_encoder_slave.h when not needed 2019-08-16 15:50:27 +03:00
imx-drm-core.c drm/imx: drop use of drmP.h 2019-07-17 12:52:55 +02:00
imx-drm.h drm/imx: Remove last traces of struct imx_drm_crtc 2018-07-16 16:56:35 +02:00
imx-ldb.c drm/panel: decouple connector from drm_panel 2019-12-09 22:57:26 +01:00
imx-tve.c drm/imx: imx-tve: Provide ddc symlink in connector's sysfs 2019-07-31 16:32:15 +02:00
ipuv3-crtc.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
ipuv3-plane.c drm/imx: plane_state->fb iff plane_state->crtc 2020-01-28 15:42:00 +01:00
ipuv3-plane.h drm/imx: ipuv3-plane: fix atomic update status query for non-plus i.MX6Q 2019-05-27 15:13:57 +02:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile drm/imx: Drop unused imx-ipuv3-crtc.o build 2019-08-02 14:01:27 +02:00
parallel-display.c drm/imx: pd: Use bus format/flags provided by the bridge when available 2020-01-31 16:40:12 +01:00