From: Maxime Ripard Date: Thu, 7 May 2026 13:40:01 +0000 (+0200) Subject: Merge drm/drm-next into drm-misc-next X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9865948b87407d6351a198843ac3ad1b211e718b;p=thirdparty%2Fkernel%2Flinux.git Merge drm/drm-next into drm-misc-next Merge drm-next to bring the drm_atomic_state renaming patch. Signed-off-by: Maxime Ripard --- 9865948b87407d6351a198843ac3ad1b211e718b diff --cc drivers/gpu/drm/bridge/microchip-lvds.c index 12fc442f98679,9f4ff82bc6b49..5fb8633f43c5c --- a/drivers/gpu/drm/bridge/microchip-lvds.c +++ b/drivers/gpu/drm/bridge/microchip-lvds.c @@@ -128,11 -113,9 +128,11 @@@ static int mchp_lvds_attach(struct drm_ bridge, flags); } -static void mchp_lvds_enable(struct drm_bridge *bridge) +static void mchp_lvds_atomic_enable(struct drm_bridge *bridge, - struct drm_atomic_state *state) ++ struct drm_atomic_commit *state) { struct mchp_lvds *lvds = bridge_to_lvds(bridge); + struct drm_connector *connector; int ret; ret = clk_prepare_enable(lvds->pclk); @@@ -147,18 -130,10 +147,18 @@@ return; } - lvds_serialiser_on(lvds); + /* default to jeida-24 */ + u32 bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA; + + connector = drm_atomic_get_new_connector_for_encoder(state, bridge->encoder); + if (connector && connector->display_info.num_bus_formats) + bus_format = connector->display_info.bus_formats[0]; + + lvds_serialiser_on(lvds, bus_format); } -static void mchp_lvds_disable(struct drm_bridge *bridge) +static void mchp_lvds_atomic_disable(struct drm_bridge *bridge, - struct drm_atomic_state *state) ++ struct drm_atomic_commit *state) { struct mchp_lvds *lvds = bridge_to_lvds(bridge); diff --cc drivers/gpu/drm/bridge/tc358768.c index e0b5a4b5abbe9,e652a2bcd64aa..0f2820b373029 --- a/drivers/gpu/drm/bridge/tc358768.c +++ b/drivers/gpu/drm/bridge/tc358768.c @@@ -1161,41 -1090,8 +1161,41 @@@ static void tc358768_bridge_atomic_pre_ dev_err(dev, "Bridge pre_enable failed: %d\n", ret); } +static void tc358768_config_video_format(struct tc358768_priv *priv) +{ + struct mipi_dsi_device *dsi_dev = priv->output.dev; + u32 val, data_type; + + /* Data Format Control Register */ + val = BIT(2) | BIT(1) | BIT(0); /* rdswap_en | dsitx_en | txdt_en */ + switch (dsi_dev->format) { + case MIPI_DSI_FMT_RGB888: + val |= (0x3 << 4); + data_type = MIPI_DSI_PACKED_PIXEL_STREAM_24; + break; + case MIPI_DSI_FMT_RGB666: + val |= (0x4 << 4); + data_type = MIPI_DSI_PACKED_PIXEL_STREAM_18; + break; + case MIPI_DSI_FMT_RGB666_PACKED: + val |= (0x4 << 4) | BIT(3); + data_type = MIPI_DSI_PIXEL_STREAM_3BYTE_18; + break; + case MIPI_DSI_FMT_RGB565: + val |= (0x5 << 4); + data_type = MIPI_DSI_PACKED_PIXEL_STREAM_16; + break; + default: + dev_err(priv->dev, "Invalid data format (%u)\n", dsi_dev->format); + return; + } + + tc358768_write(priv, TC358768_DATAFMT, val); + tc358768_write(priv, TC358768_DSITX_DT, data_type); +} + static void tc358768_bridge_atomic_enable(struct drm_bridge *bridge, - struct drm_atomic_state *state) + struct drm_atomic_commit *state) { struct tc358768_priv *priv = bridge_to_tc358768(bridge); int ret; diff --cc drivers/gpu/drm/vmwgfx/vmwgfx_vkms.h index 40c679f59db27,825b31bf8d39f..27bc846313caf --- a/drivers/gpu/drm/vmwgfx/vmwgfx_vkms.h +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_vkms.h @@@ -29,9 -29,10 +29,9 @@@ #ifndef VMWGFX_VKMS_H_ #define VMWGFX_VKMS_H_ -#include #include - struct drm_atomic_state; + struct drm_atomic_commit; struct drm_crtc; struct vmw_private; struct vmw_surface;