Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/bridge: Pass full state to atomic_enable

It's pretty inconvenient to access the full atomic state from
drm_bridges, so let's change the atomic_enable hook prototype to pass it
directly.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20250213-bridge-connector-v3-3-e71598f49c8f@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>

+79 -117
+1 -1
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
··· 911 911 } 912 912 913 913 static void adv7511_bridge_atomic_enable(struct drm_bridge *bridge, 914 - struct drm_bridge_state *bridge_state) 914 + struct drm_atomic_state *state) 915 915 { 916 916 struct adv7511 *adv = bridge_to_adv7511(bridge); 917 917
+2 -4
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
··· 1255 1255 return ret; 1256 1256 } 1257 1257 1258 - static void 1259 - analogix_dp_bridge_atomic_enable(struct drm_bridge *bridge, 1260 - struct drm_bridge_state *old_bridge_state) 1258 + static void analogix_dp_bridge_atomic_enable(struct drm_bridge *bridge, 1259 + struct drm_atomic_state *old_state) 1261 1260 { 1262 - struct drm_atomic_state *old_state = old_bridge_state->base.state; 1263 1261 struct analogix_dp_device *dp = bridge->driver_private; 1264 1262 struct drm_crtc *crtc; 1265 1263 struct drm_crtc_state *old_crtc_state;
+3 -3
drivers/gpu/drm/bridge/analogix/anx7625.c
··· 2380 2380 } 2381 2381 2382 2382 static void anx7625_bridge_atomic_enable(struct drm_bridge *bridge, 2383 - struct drm_bridge_state *state) 2383 + struct drm_atomic_state *state) 2384 2384 { 2385 2385 struct anx7625_data *ctx = bridge_to_anx7625(bridge); 2386 2386 struct device *dev = ctx->dev; ··· 2389 2389 2390 2390 dev_dbg(dev, "drm atomic enable\n"); 2391 2391 2392 - connector = drm_atomic_get_new_connector_for_encoder(state->base.state, 2392 + connector = drm_atomic_get_new_connector_for_encoder(state, 2393 2393 bridge->encoder); 2394 2394 if (!connector) 2395 2395 return; ··· 2401 2401 2402 2402 anx7625_dp_start(ctx); 2403 2403 2404 - conn_state = drm_atomic_get_new_connector_state(state->base.state, connector); 2404 + conn_state = drm_atomic_get_new_connector_state(state, connector); 2405 2405 2406 2406 if (WARN_ON(!conn_state)) 2407 2407 return;
+1 -2
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
··· 1979 1979 } 1980 1980 1981 1981 static void cdns_mhdp_atomic_enable(struct drm_bridge *bridge, 1982 - struct drm_bridge_state *bridge_state) 1982 + struct drm_atomic_state *state) 1983 1983 { 1984 1984 struct cdns_mhdp_device *mhdp = bridge_to_mhdp(bridge); 1985 - struct drm_atomic_state *state = bridge_state->base.state; 1986 1985 struct cdns_mhdp_bridge_state *mhdp_state; 1987 1986 struct drm_crtc_state *crtc_state; 1988 1987 struct drm_connector *connector;
+1 -2
drivers/gpu/drm/bridge/chipone-icn6211.c
··· 341 341 } 342 342 343 343 static void chipone_atomic_enable(struct drm_bridge *bridge, 344 - struct drm_bridge_state *old_bridge_state) 344 + struct drm_atomic_state *state) 345 345 { 346 346 struct chipone *icn = bridge_to_chipone(bridge); 347 - struct drm_atomic_state *state = old_bridge_state->base.state; 348 347 struct drm_display_mode *mode = &icn->mode; 349 348 const struct drm_bridge_state *bridge_state; 350 349 u16 hfp, hbp, hsync;
+1 -2
drivers/gpu/drm/bridge/fsl-ldb.c
··· 122 122 } 123 123 124 124 static void fsl_ldb_atomic_enable(struct drm_bridge *bridge, 125 - struct drm_bridge_state *old_bridge_state) 125 + struct drm_atomic_state *state) 126 126 { 127 127 struct fsl_ldb *fsl_ldb = to_fsl_ldb(bridge); 128 - struct drm_atomic_state *state = old_bridge_state->base.state; 129 128 const struct drm_bridge_state *bridge_state; 130 129 const struct drm_crtc_state *crtc_state; 131 130 const struct drm_display_mode *mode;
+3 -2
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
··· 49 49 } 50 50 51 51 static void imx8mp_hdmi_pvi_bridge_enable(struct drm_bridge *bridge, 52 - struct drm_bridge_state *bridge_state) 52 + struct drm_atomic_state *state) 53 53 { 54 - struct drm_atomic_state *state = bridge_state->base.state; 55 54 struct imx8mp_hdmi_pvi *pvi = to_imx8mp_hdmi_pvi(bridge); 56 55 struct drm_connector_state *conn_state; 56 + struct drm_bridge_state *bridge_state; 57 57 const struct drm_display_mode *mode; 58 58 struct drm_crtc_state *crtc_state; 59 59 struct drm_connector *connector; 60 60 u32 bus_flags = 0, val; 61 61 62 + bridge_state = drm_atomic_get_new_bridge_state(state, bridge); 62 63 connector = drm_atomic_get_new_connector_for_encoder(state, bridge->encoder); 63 64 conn_state = drm_atomic_get_new_connector_state(state, connector); 64 65 crtc_state = drm_atomic_get_new_crtc_state(state, conn_state->crtc);
+2 -3
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
··· 200 200 CH_HSYNC_M(chno), CH_PHSYNC(chno)); 201 201 } 202 202 203 - static void 204 - imx8qm_ldb_bridge_atomic_enable(struct drm_bridge *bridge, 205 - struct drm_bridge_state *old_bridge_state) 203 + static void imx8qm_ldb_bridge_atomic_enable(struct drm_bridge *bridge, 204 + struct drm_atomic_state *state) 206 205 { 207 206 struct ldb_channel *ldb_ch = bridge->driver_private; 208 207 struct ldb *ldb = ldb_ch->ldb;
+3 -4
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
··· 219 219 companion->funcs->atomic_pre_enable(companion, state); 220 220 } 221 221 222 - static void 223 - imx8qxp_ldb_bridge_atomic_enable(struct drm_bridge *bridge, 224 - struct drm_bridge_state *old_bridge_state) 222 + static void imx8qxp_ldb_bridge_atomic_enable(struct drm_bridge *bridge, 223 + struct drm_atomic_state *state) 225 224 { 226 225 struct ldb_channel *ldb_ch = bridge->driver_private; 227 226 struct ldb *ldb = ldb_ch->ldb; ··· 250 251 DRM_DEV_ERROR(dev, "failed to power on PHY: %d\n", ret); 251 252 252 253 if (is_split && companion) 253 - companion->funcs->atomic_enable(companion, old_bridge_state); 254 + companion->funcs->atomic_enable(companion, state); 254 255 } 255 256 256 257 static void
+2 -3
drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
··· 153 153 imx8qxp_pixel_link_set_mst_addr(pl); 154 154 } 155 155 156 - static void 157 - imx8qxp_pixel_link_bridge_atomic_enable(struct drm_bridge *bridge, 158 - struct drm_bridge_state *old_bridge_state) 156 + static void imx8qxp_pixel_link_bridge_atomic_enable(struct drm_bridge *bridge, 157 + struct drm_atomic_state *state) 159 158 { 160 159 struct imx8qxp_pixel_link *pl = bridge->driver_private; 161 160
+2 -4
drivers/gpu/drm/bridge/ite-it6263.c
··· 581 581 AFE_DRV_RST | AFE_DRV_PWD); 582 582 } 583 583 584 - static void 585 - it6263_bridge_atomic_enable(struct drm_bridge *bridge, 586 - struct drm_bridge_state *old_bridge_state) 584 + static void it6263_bridge_atomic_enable(struct drm_bridge *bridge, 585 + struct drm_atomic_state *state) 587 586 { 588 - struct drm_atomic_state *state = old_bridge_state->base.state; 589 587 struct it6263 *it = bridge_to_it6263(bridge); 590 588 const struct drm_crtc_state *crtc_state; 591 589 struct regmap *regmap = it->hdmi_regmap;
+1 -2
drivers/gpu/drm/bridge/ite-it6505.c
··· 3183 3183 } 3184 3184 3185 3185 static void it6505_bridge_atomic_enable(struct drm_bridge *bridge, 3186 - struct drm_bridge_state *old_state) 3186 + struct drm_atomic_state *state) 3187 3187 { 3188 3188 struct it6505 *it6505 = bridge_to_it6505(bridge); 3189 3189 struct device *dev = it6505->dev; 3190 - struct drm_atomic_state *state = old_state->base.state; 3191 3190 struct hdmi_avi_infoframe frame; 3192 3191 struct drm_crtc_state *crtc_state; 3193 3192 struct drm_connector_state *conn_state;
+1 -2
drivers/gpu/drm/bridge/ite-it66121.c
··· 721 721 } 722 722 723 723 static void it66121_bridge_enable(struct drm_bridge *bridge, 724 - struct drm_bridge_state *bridge_state) 724 + struct drm_atomic_state *state) 725 725 { 726 726 struct it66121_ctx *ctx = container_of(bridge, struct it66121_ctx, bridge); 727 - struct drm_atomic_state *state = bridge_state->base.state; 728 727 729 728 ctx->connector = drm_atomic_get_new_connector_for_encoder(state, bridge->encoder); 730 729
+1 -2
drivers/gpu/drm/bridge/lontium-lt9211.c
··· 455 455 } 456 456 457 457 static void lt9211_atomic_enable(struct drm_bridge *bridge, 458 - struct drm_bridge_state *old_bridge_state) 458 + struct drm_atomic_state *state) 459 459 { 460 460 struct lt9211 *ctx = bridge_to_lt9211(bridge); 461 - struct drm_atomic_state *state = old_bridge_state->base.state; 462 461 const struct drm_bridge_state *bridge_state; 463 462 const struct drm_crtc_state *crtc_state; 464 463 const struct drm_display_mode *mode;
+2 -4
drivers/gpu/drm/bridge/lontium-lt9611.c
··· 640 640 } 641 641 642 642 /* bridge funcs */ 643 - static void 644 - lt9611_bridge_atomic_enable(struct drm_bridge *bridge, 645 - struct drm_bridge_state *old_bridge_state) 643 + static void lt9611_bridge_atomic_enable(struct drm_bridge *bridge, 644 + struct drm_atomic_state *state) 646 645 { 647 646 struct lt9611 *lt9611 = bridge_to_lt9611(bridge); 648 - struct drm_atomic_state *state = old_bridge_state->base.state; 649 647 struct drm_connector *connector; 650 648 struct drm_connector_state *conn_state; 651 649 struct drm_crtc_state *crtc_state;
+2 -3
drivers/gpu/drm/bridge/nwl-dsi.c
··· 898 898 pm_runtime_put_sync(dev); 899 899 } 900 900 901 - static void 902 - nwl_dsi_bridge_atomic_enable(struct drm_bridge *bridge, 903 - struct drm_bridge_state *old_bridge_state) 901 + static void nwl_dsi_bridge_atomic_enable(struct drm_bridge *bridge, 902 + struct drm_atomic_state *state) 904 903 { 905 904 struct nwl_dsi *dsi = bridge_to_dsi(bridge); 906 905 int ret;
+1 -2
drivers/gpu/drm/bridge/panel.c
··· 128 128 } 129 129 130 130 static void panel_bridge_atomic_enable(struct drm_bridge *bridge, 131 - struct drm_bridge_state *old_bridge_state) 131 + struct drm_atomic_state *atomic_state) 132 132 { 133 133 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); 134 - struct drm_atomic_state *atomic_state = old_bridge_state->base.state; 135 134 struct drm_encoder *encoder = bridge->encoder; 136 135 struct drm_crtc *crtc; 137 136 struct drm_crtc_state *old_crtc_state;
+1 -1
drivers/gpu/drm/bridge/samsung-dsim.c
··· 1485 1485 } 1486 1486 1487 1487 static void samsung_dsim_atomic_enable(struct drm_bridge *bridge, 1488 - struct drm_bridge_state *old_bridge_state) 1488 + struct drm_atomic_state *state) 1489 1489 { 1490 1490 struct samsung_dsim *dsi = bridge_to_dsi(bridge); 1491 1491
+1 -1
drivers/gpu/drm/bridge/sii902x.c
··· 339 339 } 340 340 341 341 static void sii902x_bridge_atomic_enable(struct drm_bridge *bridge, 342 - struct drm_bridge_state *old_bridge_state) 342 + struct drm_atomic_state *state) 343 343 { 344 344 struct sii902x *sii902x = bridge_to_sii902x(bridge); 345 345
+1 -2
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
··· 362 362 } 363 363 364 364 static void dw_hdmi_qp_bridge_atomic_enable(struct drm_bridge *bridge, 365 - struct drm_bridge_state *old_state) 365 + struct drm_atomic_state *state) 366 366 { 367 367 struct dw_hdmi_qp *hdmi = bridge->driver_private; 368 - struct drm_atomic_state *state = old_state->base.state; 369 368 struct drm_connector_state *conn_state; 370 369 struct drm_connector *connector; 371 370 unsigned int op_mode;
+1 -2
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
··· 2959 2959 } 2960 2960 2961 2961 static void dw_hdmi_bridge_atomic_enable(struct drm_bridge *bridge, 2962 - struct drm_bridge_state *old_state) 2962 + struct drm_atomic_state *state) 2963 2963 { 2964 2964 struct dw_hdmi *hdmi = bridge->driver_private; 2965 - struct drm_atomic_state *state = old_state->base.state; 2966 2965 struct drm_connector *connector; 2967 2966 2968 2967 connector = drm_atomic_get_new_connector_for_encoder(state,
+1 -1
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
··· 1043 1043 } 1044 1044 1045 1045 static void dw_mipi_dsi_bridge_atomic_enable(struct drm_bridge *bridge, 1046 - struct drm_bridge_state *old_bridge_state) 1046 + struct drm_atomic_state *state) 1047 1047 { 1048 1048 struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge); 1049 1049
+1 -1
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
··· 840 840 } 841 841 842 842 static void dw_mipi_dsi2_bridge_atomic_enable(struct drm_bridge *bridge, 843 - struct drm_bridge_state *old_bridge_state) 843 + struct drm_atomic_state *state) 844 844 { 845 845 struct dw_mipi_dsi2 *dsi2 = bridge_to_dsi2(bridge); 846 846
+2 -1
drivers/gpu/drm/bridge/tc358762.c
··· 189 189 ctx->pre_enabled = true; 190 190 } 191 191 192 - static void tc358762_enable(struct drm_bridge *bridge, struct drm_bridge_state *state) 192 + static void tc358762_enable(struct drm_bridge *bridge, 193 + struct drm_atomic_state *state) 193 194 { 194 195 struct tc358762 *ctx = bridge_to_tc358762(bridge); 195 196 int ret;
+4 -6
drivers/gpu/drm/bridge/tc358767.c
··· 1548 1548 return 0; 1549 1549 } 1550 1550 1551 - static void 1552 - tc_dpi_bridge_atomic_enable(struct drm_bridge *bridge, 1553 - struct drm_bridge_state *old_bridge_state) 1551 + static void tc_dpi_bridge_atomic_enable(struct drm_bridge *bridge, 1552 + struct drm_atomic_state *state) 1554 1553 1555 1554 { 1556 1555 struct tc_data *tc = bridge_to_tc(bridge); ··· 1575 1576 dev_err(tc->dev, "main link stream stop error: %d\n", ret); 1576 1577 } 1577 1578 1578 - static void 1579 - tc_edp_bridge_atomic_enable(struct drm_bridge *bridge, 1580 - struct drm_bridge_state *old_bridge_state) 1579 + static void tc_edp_bridge_atomic_enable(struct drm_bridge *bridge, 1580 + struct drm_atomic_state *state) 1581 1581 { 1582 1582 struct tc_data *tc = bridge_to_tc(bridge); 1583 1583 int ret;
+1 -1
drivers/gpu/drm/bridge/ti-dlpc3433.c
··· 105 105 }; 106 106 107 107 static void dlpc_atomic_enable(struct drm_bridge *bridge, 108 - struct drm_bridge_state *old_bridge_state) 108 + struct drm_atomic_state *state) 109 109 { 110 110 struct dlpc *dlpc = bridge_to_dlpc(bridge); 111 111 struct device *dev = dlpc->dev;
+1 -1
drivers/gpu/drm/bridge/ti-sn65dsi83.c
··· 639 639 } 640 640 641 641 static void sn65dsi83_atomic_enable(struct drm_bridge *bridge, 642 - struct drm_bridge_state *old_bridge_state) 642 + struct drm_atomic_state *state) 643 643 { 644 644 struct sn65dsi83 *ctx = bridge_to_sn65dsi83(bridge); 645 645 unsigned int pval;
+2 -2
drivers/gpu/drm/bridge/ti-sn65dsi86.c
··· 1073 1073 } 1074 1074 1075 1075 static void ti_sn_bridge_atomic_enable(struct drm_bridge *bridge, 1076 - struct drm_bridge_state *old_bridge_state) 1076 + struct drm_atomic_state *state) 1077 1077 { 1078 1078 struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); 1079 1079 struct drm_connector *connector; ··· 1085 1085 int max_dp_lanes; 1086 1086 unsigned int bpp; 1087 1087 1088 - connector = drm_atomic_get_new_connector_for_encoder(old_bridge_state->base.state, 1088 + connector = drm_atomic_get_new_connector_for_encoder(state, 1089 1089 bridge->encoder); 1090 1090 if (!connector) { 1091 1091 dev_err_ratelimited(pdata->dev, "Could not get the connector\n");
+2 -1
drivers/gpu/drm/bridge/ti-tdp158.c
··· 18 18 struct device *dev; 19 19 }; 20 20 21 - static void tdp158_enable(struct drm_bridge *bridge, struct drm_bridge_state *prev) 21 + static void tdp158_enable(struct drm_bridge *bridge, 22 + struct drm_atomic_state *state) 22 23 { 23 24 int err; 24 25 struct tdp158 *tdp158 = bridge->driver_private;
+1 -9
drivers/gpu/drm/drm_bridge.c
··· 806 806 encoder = bridge->encoder; 807 807 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) { 808 808 if (bridge->funcs->atomic_enable) { 809 - struct drm_bridge_state *old_bridge_state; 810 - 811 - old_bridge_state = 812 - drm_atomic_get_old_bridge_state(old_state, 813 - bridge); 814 - if (WARN_ON(!old_bridge_state)) 815 - return; 816 - 817 - bridge->funcs->atomic_enable(bridge, old_bridge_state); 809 + bridge->funcs->atomic_enable(bridge, old_state); 818 810 } else if (bridge->funcs->enable) { 819 811 bridge->funcs->enable(bridge); 820 812 }
+1 -1
drivers/gpu/drm/ingenic/ingenic-drm-drv.c
··· 229 229 } 230 230 231 231 static void ingenic_drm_bridge_atomic_enable(struct drm_bridge *bridge, 232 - struct drm_bridge_state *old_bridge_state) 232 + struct drm_atomic_state *state) 233 233 { 234 234 struct ingenic_drm *priv = drm_device_get_priv(bridge->dev); 235 235
+2 -2
drivers/gpu/drm/mediatek/mtk_dp.c
··· 2350 2350 } 2351 2351 2352 2352 static void mtk_dp_bridge_atomic_enable(struct drm_bridge *bridge, 2353 - struct drm_bridge_state *old_state) 2353 + struct drm_atomic_state *state) 2354 2354 { 2355 2355 struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge); 2356 2356 int ret; 2357 2357 2358 - mtk_dp->conn = drm_atomic_get_new_connector_for_encoder(old_state->base.state, 2358 + mtk_dp->conn = drm_atomic_get_new_connector_for_encoder(state, 2359 2359 bridge->encoder); 2360 2360 if (!mtk_dp->conn) { 2361 2361 drm_err(mtk_dp->drm_dev,
+1 -1
drivers/gpu/drm/mediatek/mtk_dsi.c
··· 834 834 } 835 835 836 836 static void mtk_dsi_bridge_atomic_enable(struct drm_bridge *bridge, 837 - struct drm_bridge_state *old_bridge_state) 837 + struct drm_atomic_state *state) 838 838 { 839 839 struct mtk_dsi *dsi = bridge_to_dsi(bridge); 840 840
+1 -2
drivers/gpu/drm/mediatek/mtk_hdmi.c
··· 1383 1383 } 1384 1384 1385 1385 static void mtk_hdmi_bridge_atomic_enable(struct drm_bridge *bridge, 1386 - struct drm_bridge_state *old_state) 1386 + struct drm_atomic_state *state) 1387 1387 { 1388 - struct drm_atomic_state *state = old_state->base.state; 1389 1388 struct mtk_hdmi *hdmi = hdmi_ctx_from_bridge(bridge); 1390 1389 1391 1390 /* Retrieve the connector through the atomic state. */
+1 -2
drivers/gpu/drm/meson/meson_encoder_cvbs.c
··· 139 139 } 140 140 141 141 static void meson_encoder_cvbs_atomic_enable(struct drm_bridge *bridge, 142 - struct drm_bridge_state *bridge_state) 142 + struct drm_atomic_state *state) 143 143 { 144 144 struct meson_encoder_cvbs *encoder_cvbs = bridge_to_meson_encoder_cvbs(bridge); 145 - struct drm_atomic_state *state = bridge_state->base.state; 146 145 struct meson_drm *priv = encoder_cvbs->priv; 147 146 const struct meson_cvbs_mode *meson_mode; 148 147 struct drm_connector_state *conn_state;
+1 -2
drivers/gpu/drm/meson/meson_encoder_dsi.c
··· 42 42 } 43 43 44 44 static void meson_encoder_dsi_atomic_enable(struct drm_bridge *bridge, 45 - struct drm_bridge_state *bridge_state) 45 + struct drm_atomic_state *state) 46 46 { 47 47 struct meson_encoder_dsi *encoder_dsi = bridge_to_meson_encoder_dsi(bridge); 48 - struct drm_atomic_state *state = bridge_state->base.state; 49 48 struct meson_drm *priv = encoder_dsi->priv; 50 49 struct drm_connector_state *conn_state; 51 50 struct drm_crtc_state *crtc_state;
+1 -2
drivers/gpu/drm/meson/meson_encoder_hdmi.c
··· 186 186 } 187 187 188 188 static void meson_encoder_hdmi_atomic_enable(struct drm_bridge *bridge, 189 - struct drm_bridge_state *bridge_state) 189 + struct drm_atomic_state *state) 190 190 { 191 191 struct meson_encoder_hdmi *encoder_hdmi = bridge_to_meson_encoder_hdmi(bridge); 192 - struct drm_atomic_state *state = bridge_state->base.state; 193 192 unsigned int ycrcb_map = VPU_HDMI_OUTPUT_CBYCR; 194 193 struct meson_drm *priv = encoder_hdmi->priv; 195 194 struct drm_connector_state *conn_state;
+6 -6
drivers/gpu/drm/msm/dp/dp_display.c
··· 1491 1491 } 1492 1492 1493 1493 void msm_dp_bridge_atomic_enable(struct drm_bridge *drm_bridge, 1494 - struct drm_bridge_state *old_bridge_state) 1494 + struct drm_atomic_state *state) 1495 1495 { 1496 1496 struct msm_dp_bridge *msm_dp_bridge = to_dp_bridge(drm_bridge); 1497 1497 struct msm_dp *dp = msm_dp_bridge->msm_dp_display; 1498 1498 int rc = 0; 1499 1499 struct msm_dp_display_private *msm_dp_display; 1500 - u32 state; 1500 + u32 hpd_state; 1501 1501 bool force_link_train = false; 1502 1502 1503 1503 msm_dp_display = container_of(dp, struct msm_dp_display_private, msm_dp_display); ··· 1516 1516 return; 1517 1517 } 1518 1518 1519 - state = msm_dp_display->hpd_state; 1520 - if (state != ST_DISPLAY_OFF && state != ST_MAINLINK_READY) { 1519 + hpd_state = msm_dp_display->hpd_state; 1520 + if (hpd_state != ST_DISPLAY_OFF && hpd_state != ST_MAINLINK_READY) { 1521 1521 mutex_unlock(&msm_dp_display->event_mutex); 1522 1522 return; 1523 1523 } ··· 1529 1529 return; 1530 1530 } 1531 1531 1532 - state = msm_dp_display->hpd_state; 1532 + hpd_state = msm_dp_display->hpd_state; 1533 1533 1534 - if (state == ST_DISPLAY_OFF) { 1534 + if (hpd_state == ST_DISPLAY_OFF) { 1535 1535 msm_dp_display_host_phy_init(msm_dp_display); 1536 1536 force_link_train = true; 1537 1537 }
+4 -5
drivers/gpu/drm/msm/dp/dp_drm.c
··· 137 137 } 138 138 139 139 static void msm_edp_bridge_atomic_enable(struct drm_bridge *drm_bridge, 140 - struct drm_bridge_state *old_bridge_state) 140 + struct drm_atomic_state *state) 141 141 { 142 - struct drm_atomic_state *atomic_state = old_bridge_state->base.state; 143 142 struct drm_crtc *crtc; 144 143 struct drm_crtc_state *old_crtc_state; 145 144 struct msm_dp_bridge *msm_dp_bridge = to_dp_bridge(drm_bridge); ··· 150 151 * If the panel is in psr, just exit psr state and skip the full 151 152 * bridge enable sequence. 152 153 */ 153 - crtc = drm_atomic_get_new_crtc_for_encoder(atomic_state, 154 + crtc = drm_atomic_get_new_crtc_for_encoder(state, 154 155 drm_bridge->encoder); 155 156 if (!crtc) 156 157 return; 157 158 158 - old_crtc_state = drm_atomic_get_old_crtc_state(atomic_state, crtc); 159 + old_crtc_state = drm_atomic_get_old_crtc_state(state, crtc); 159 160 160 161 if (old_crtc_state && old_crtc_state->self_refresh_active) { 161 162 msm_dp_display_set_psr(dp, false); 162 163 return; 163 164 } 164 165 165 - msm_dp_bridge_atomic_enable(drm_bridge, old_bridge_state); 166 + msm_dp_bridge_atomic_enable(drm_bridge, state); 166 167 } 167 168 168 169 static void msm_edp_bridge_atomic_disable(struct drm_bridge *drm_bridge,
+1 -1
drivers/gpu/drm/msm/dp/dp_drm.h
··· 26 26 bool yuv_supported); 27 27 28 28 void msm_dp_bridge_atomic_enable(struct drm_bridge *drm_bridge, 29 - struct drm_bridge_state *old_bridge_state); 29 + struct drm_atomic_state *state); 30 30 void msm_dp_bridge_atomic_disable(struct drm_bridge *drm_bridge, 31 31 struct drm_bridge_state *old_bridge_state); 32 32 void msm_dp_bridge_atomic_post_disable(struct drm_bridge *drm_bridge,
+1 -2
drivers/gpu/drm/omapdrm/dss/hdmi4.c
··· 341 341 } 342 342 343 343 static void hdmi4_bridge_enable(struct drm_bridge *bridge, 344 - struct drm_bridge_state *bridge_state) 344 + struct drm_atomic_state *state) 345 345 { 346 346 struct omap_hdmi *hdmi = drm_bridge_to_hdmi(bridge); 347 - struct drm_atomic_state *state = bridge_state->base.state; 348 347 struct drm_connector_state *conn_state; 349 348 struct drm_connector *connector; 350 349 struct drm_crtc_state *crtc_state;
+1 -2
drivers/gpu/drm/omapdrm/dss/hdmi5.c
··· 339 339 } 340 340 341 341 static void hdmi5_bridge_enable(struct drm_bridge *bridge, 342 - struct drm_bridge_state *bridge_state) 342 + struct drm_atomic_state *state) 343 343 { 344 344 struct omap_hdmi *hdmi = drm_bridge_to_hdmi(bridge); 345 - struct drm_atomic_state *state = bridge_state->base.state; 346 345 struct drm_connector_state *conn_state; 347 346 struct drm_connector *connector; 348 347 struct drm_crtc_state *crtc_state;
+1 -2
drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c
··· 582 582 */ 583 583 584 584 static void rcar_lvds_atomic_enable(struct drm_bridge *bridge, 585 - struct drm_bridge_state *old_bridge_state) 585 + struct drm_atomic_state *state) 586 586 { 587 - struct drm_atomic_state *state = old_bridge_state->base.state; 588 587 struct drm_connector *connector; 589 588 struct drm_crtc *crtc; 590 589
+1 -1
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
··· 808 808 } 809 809 810 810 static void rcar_mipi_dsi_atomic_enable(struct drm_bridge *bridge, 811 - struct drm_bridge_state *old_bridge_state) 811 + struct drm_atomic_state *state) 812 812 { 813 813 struct rcar_mipi_dsi *dsi = bridge_to_rcar_mipi_dsi(bridge); 814 814
+1 -2
drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c
··· 532 532 } 533 533 534 534 static void rzg2l_mipi_dsi_atomic_enable(struct drm_bridge *bridge, 535 - struct drm_bridge_state *old_bridge_state) 535 + struct drm_atomic_state *state) 536 536 { 537 - struct drm_atomic_state *state = old_bridge_state->base.state; 538 537 struct rzg2l_mipi_dsi *dsi = bridge_to_rzg2l_mipi_dsi(bridge); 539 538 const struct drm_display_mode *mode; 540 539 struct drm_connector *connector;
+1 -2
drivers/gpu/drm/stm/lvds.c
··· 980 980 } 981 981 982 982 static void lvds_atomic_enable(struct drm_bridge *bridge, 983 - struct drm_bridge_state *old_bridge_state) 983 + struct drm_atomic_state *state) 984 984 { 985 - struct drm_atomic_state *state = old_bridge_state->base.state; 986 985 struct stm_lvds *lvds = bridge_to_stm_lvds(bridge); 987 986 struct drm_connector_state *conn_state; 988 987 struct drm_connector *connector;
+1 -1
drivers/gpu/drm/vc4/vc4_dsi.c
··· 1142 1142 } 1143 1143 1144 1144 static void vc4_dsi_bridge_enable(struct drm_bridge *bridge, 1145 - struct drm_bridge_state *old_state) 1145 + struct drm_atomic_state *state) 1146 1146 { 1147 1147 struct vc4_dsi *dsi = bridge_to_vc4_dsi(bridge); 1148 1148 bool debug_dump_regs = false;
+4 -6
drivers/gpu/drm/xlnx/zynqmp_dp.c
··· 1437 1437 } 1438 1438 1439 1439 static void zynqmp_dp_disp_enable(struct zynqmp_dp *dp, 1440 - struct drm_bridge_state *old_bridge_state) 1440 + struct drm_atomic_state *state) 1441 1441 { 1442 1442 struct zynqmp_disp_layer *layer; 1443 1443 struct drm_bridge_state *bridge_state; ··· 1447 1447 if (!layer) 1448 1448 return; 1449 1449 1450 - bridge_state = drm_atomic_get_new_bridge_state(old_bridge_state->base.state, 1451 - old_bridge_state->bridge); 1450 + bridge_state = drm_atomic_get_new_bridge_state(state, &dp->bridge); 1452 1451 if (WARN_ON(!bridge_state)) 1453 1452 return; 1454 1453 ··· 1548 1549 } 1549 1550 1550 1551 static void zynqmp_dp_bridge_atomic_enable(struct drm_bridge *bridge, 1551 - struct drm_bridge_state *old_bridge_state) 1552 + struct drm_atomic_state *state) 1552 1553 { 1553 1554 struct zynqmp_dp *dp = bridge_to_dp(bridge); 1554 - struct drm_atomic_state *state = old_bridge_state->base.state; 1555 1555 const struct drm_crtc_state *crtc_state; 1556 1556 const struct drm_display_mode *adjusted_mode; 1557 1557 const struct drm_display_mode *mode; ··· 1563 1565 pm_runtime_get_sync(dp->dev); 1564 1566 1565 1567 guard(mutex)(&dp->lock); 1566 - zynqmp_dp_disp_enable(dp, old_bridge_state); 1568 + zynqmp_dp_disp_enable(dp, state); 1567 1569 1568 1570 /* 1569 1571 * Retrieve the CRTC mode and adjusted mode. This requires a little
+1 -1
include/drm/drm_bridge.h
··· 325 325 * The @atomic_enable callback is optional. 326 326 */ 327 327 void (*atomic_enable)(struct drm_bridge *bridge, 328 - struct drm_bridge_state *old_bridge_state); 328 + struct drm_atomic_state *state); 329 329 /** 330 330 * @atomic_disable: 331 331 *