1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/bridge
Dario Binacchi b2fe229262
drm: bridge: samsung-dsim: enter display mode in the enable() callback
The synaptics-r63353 (panel-bridge) can only be configured in command mode.
So, samsung-dsim (bridge) must not be in display mode during the
prepare()/unprepare() of the panel-bridge. Setting the
"pre_enable_prev_first" flag to true allows the prepare() of the
panel-bridge to be called between the pre_enabled() and enabled() of the
bridge. So, the bridge can enter display mode only in the enabled().
The unprepare() of the panel-bridge is instead called between the disable()
and post_disable() of the bridge. So, the disable() must exit the display
mode (i .e. enter command mode) to allow the panel-bridge to receive DSI
commands.

samsung_dsim_atomic_pre_enable   -> command mode
r63353_panel_prepare             -> send DSI commands
samsung_dsim_atomic_enable       -> enter display mode

samsung_dsim_atomic_disable      -> exit display mode (command mode)
r63353_panel_unprepare           -> send DSI commands
samsung_dsim_atomic_post_disable

Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Robert Foss <rfoss@kernel.org>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231218084354.508942-2-dario.binacchi@amarulasolutions.com
2024-01-22 16:08:18 +01:00
..
adv7511 drm: adv7511: Add hpd_override_enable variable to struct adv7511_chip_info 2023-10-16 11:09:33 +02:00
analogix drm/bridge: anx7625: Fix Set HPD irq detect window to 2ms 2023-11-29 11:10:17 +01:00
cadence drm/bridge: cdns-mhdp8546: Fix use of uninitialized variable 2023-12-07 09:21:44 +02:00
imx drm/bridge: imx93-mipi-dsi: Fix a couple of building warnings 2023-11-28 17:10:30 +01:00
synopsys ASoC: hdmi-codec: drop drm/drm_edid.h include 2024-01-16 16:07:28 +02:00
aux-bridge.c drm/bridge: add transparent bridge helper 2023-12-04 16:07:29 +02:00
aux-hpd-bridge.c drm/bridge: aux-hpd: Replace of_device.h with explicit include 2023-12-07 11:51:01 -06:00
chipone-icn6211.c drm/bridge: icn6211: Convert to use maple tree register cache 2023-10-02 09:09:18 +02:00
chrontel-ch7033.c drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
cros-ec-anx7688.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
display-connector.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
fsl-ldb.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
ite-it6505.c drm/bridge: Fixed a DP link training bug 2024-01-09 18:11:53 +01:00
ite-it66121.c drm: bridge: it66121: ->get_edid callback must not return err pointers 2023-09-15 13:00:08 +02:00
Kconfig drm/bridge: implement generic DP HPD bridge 2023-12-04 16:07:29 +02:00
lontium-lt8912b.c drm/bridge: lt8912b: Add power supplies 2023-12-04 14:00:00 +01:00
lontium-lt9211.c drm/bridge: lt9211: Convert to use maple tree register cache 2023-10-02 09:09:19 +02:00
lontium-lt9611.c ASoC: hdmi-codec: drop drm/drm_edid.h include 2024-01-16 16:07:28 +02:00
lontium-lt9611uxc.c ASoC: hdmi-codec: drop drm/drm_edid.h include 2024-01-16 16:07:28 +02:00
lvds-codec.c drm/bridge: lvds-codec: Implement atomic_get_input_bus_fmts for LVDS encoder 2023-08-11 15:09:59 +02:00
Makefile drm/bridge: implement generic DP HPD bridge 2023-12-04 16:07:29 +02:00
megachips-stdpxxxx-ge-b850v3-fw.c drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: switch to drm_do_get_edid() 2023-10-13 16:28:58 +02:00
nwl-dsi.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
nwl-dsi.h drm/bridge: Add NWL MIPI DSI host controller support 2020-04-09 15:52:47 +02:00
nxp-ptn3460.c drm/bridge: nxp-ptn3460: simplify some error checking 2023-12-06 16:20:23 +01:00
panel.c drm/bridge: panel: Fix device link for DRM_BRIDGE_ATTACH_NO_CONNECTOR 2023-09-20 19:00:38 +02:00
parade-ps8622.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
parade-ps8640.c drm/bridge: ps8640: Drop the ability of ps8640 to fetch the EDID 2023-06-23 17:16:01 +02:00
samsung-dsim.c drm: bridge: samsung-dsim: enter display mode in the enable() callback 2024-01-22 16:08:18 +01:00
sii902x.c drm/bridge: sii902x: Set input_bus_flags in atomic_check 2023-07-10 14:21:24 +02:00
sii9234.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
sil-sii8620.c drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
sil-sii8620.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
simple-bridge.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
tc358762.c drm/bridge: tc358762: Handle HS/VS polarity 2023-06-22 11:13:31 +02:00
tc358764.c drm/bridge: tc358764: Use BIT() macro for actual bits 2023-06-22 11:02:58 +02:00
tc358767.c drm/bridge: tc358767: Add descriptions to register definitions 2023-12-15 14:59:01 +01:00
tc358768.c drm/bridge: tc358768: Attempt to fix DSI horizontal timings 2023-09-20 13:54:08 +02:00
tc358775.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
thc63lvd1024.c drm/bridge: thc63lvd1024: Convert to platform remove callback returning void 2023-03-20 11:51:55 +01:00
ti-dlpc3433.c drm/bridge: dpc3433: Convert to use maple tree register cache 2023-10-02 09:09:17 +02:00
ti-sn65dsi83.c drm/bridge: sn65dsi83: Convert to use maple tree register cache 2023-10-02 09:09:20 +02:00
ti-sn65dsi86.c drm/bridge: ti-sn65dsi86: Associate PWM device to auxiliary device 2023-12-11 08:21:54 -08:00
ti-tfp410.c drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
ti-tpd12s015.c drm/bridge: tpd12s015: Convert to platform remove callback returning void 2023-11-21 09:17:53 +01:00