mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 06:33:07 +00:00
drm/bridge: lvds-codec: Implement atomic_get_input_bus_fmts for LVDS encoder
atomic_get_input_bus_fmts is only implemented for LVDS decoders, resulting that LVDS encoders only support bus format MEDIA_BUS_FMT_FIXED. This results in warnings like: mxsfb 21c8000.lcdif: Bridge does not provide bus format, assuming MEDIA_BUS_FMT_RGB888_1X24. Please fix bridge driver by handling atomic_get_input_bus_fmts. Fix this by reusing lvds_codec_atomic_get_input_bus_fmts currently used for LVDS decoders. Use RGB888_1X24 for LVDS encoders. This also allows removing the dedicated struct drm_bridge_funcs for decoders. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Reviewed-by: Robert Foss <rfoss@kernel.org> Signed-off-by: Robert Foss <rfoss@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20230810063229.597533-1-alexander.stein@ew.tq-group.com
This commit is contained in:
parent
15f389da11
commit
b31f784fff
1 changed files with 4 additions and 8 deletions
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/gpio/consumer.h>
|
||||
#include <linux/media-bus-format.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_graph.h>
|
||||
|
@ -71,12 +72,6 @@ static void lvds_codec_disable(struct drm_bridge *bridge)
|
|||
"Failed to disable regulator \"vcc\": %d\n", ret);
|
||||
}
|
||||
|
||||
static const struct drm_bridge_funcs funcs = {
|
||||
.attach = lvds_codec_attach,
|
||||
.enable = lvds_codec_enable,
|
||||
.disable = lvds_codec_disable,
|
||||
};
|
||||
|
||||
#define MAX_INPUT_SEL_FORMATS 1
|
||||
static u32 *
|
||||
lvds_codec_atomic_get_input_bus_fmts(struct drm_bridge *bridge,
|
||||
|
@ -102,7 +97,7 @@ lvds_codec_atomic_get_input_bus_fmts(struct drm_bridge *bridge,
|
|||
return input_fmts;
|
||||
}
|
||||
|
||||
static const struct drm_bridge_funcs funcs_decoder = {
|
||||
static const struct drm_bridge_funcs funcs = {
|
||||
.attach = lvds_codec_attach,
|
||||
.enable = lvds_codec_enable,
|
||||
.disable = lvds_codec_disable,
|
||||
|
@ -184,8 +179,9 @@ static int lvds_codec_probe(struct platform_device *pdev)
|
|||
return ret;
|
||||
} else {
|
||||
lvds_codec->bus_format = ret;
|
||||
lvds_codec->bridge.funcs = &funcs_decoder;
|
||||
}
|
||||
} else {
|
||||
lvds_codec->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue