Lines Matching refs:conn

45 	struct display_connector *conn = to_display_connector(bridge);
47 if (conn->hpd_gpio) {
48 if (gpiod_get_value_cansleep(conn->hpd_gpio))
54 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc))
57 switch (conn->bridge.type) {
87 struct display_connector *conn = to_display_connector(bridge);
89 return drm_edid_read_ddc(connector, conn->bridge.ddc);
109 struct drm_connector *conn = conn_state->connector;
117 if (conn->display_info.num_bus_formats &&
118 conn->display_info.bus_formats)
119 out_bus_fmts[0] = conn->display_info.bus_formats[0];
185 struct display_connector *conn = arg;
186 struct drm_bridge *bridge = &conn->bridge;
194 struct display_connector *conn,
197 conn->supply = devm_regulator_get_optional(&pdev->dev, name);
199 if (conn->supply == ERR_PTR(-ENODEV))
200 conn->supply = NULL;
202 return PTR_ERR_OR_ZERO(conn->supply);
207 struct display_connector *conn;
212 conn = devm_kzalloc(&pdev->dev, sizeof(*conn), GFP_KERNEL);
213 if (!conn)
216 platform_set_drvdata(pdev, conn);
228 conn->bridge.type = DRM_MODE_CONNECTOR_DVIA;
230 conn->bridge.type = DRM_MODE_CONNECTOR_DVID;
232 conn->bridge.type = DRM_MODE_CONNECTOR_DVII;
252 conn->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
254 conn->bridge.type = DRM_MODE_CONNECTOR_HDMIB;
266 conn->bridge.type = type;
271 conn->bridge.interlace_allowed = true;
283 conn->hpd_gpio = devm_gpiod_get_optional(&pdev->dev, "hpd",
285 if (IS_ERR(conn->hpd_gpio))
286 return dev_err_probe(&pdev->dev, PTR_ERR(conn->hpd_gpio),
289 conn->hpd_irq = gpiod_to_irq(conn->hpd_gpio);
291 conn->hpd_irq = -EINVAL;
294 if (conn->hpd_irq >= 0) {
295 ret = devm_request_threaded_irq(&pdev->dev, conn->hpd_irq,
300 "HPD", conn);
304 conn->hpd_irq = -EINVAL;
316 conn->bridge.ddc = of_get_i2c_adapter_by_node(phandle);
318 if (!conn->bridge.ddc)
330 ret = display_connector_get_supply(pdev, conn, "dp-pwr");
339 conn->ddc_en = devm_gpiod_get_optional(&pdev->dev, "ddc-en",
342 if (IS_ERR(conn->ddc_en)) {
344 return PTR_ERR(conn->ddc_en);
347 ret = display_connector_get_supply(pdev, conn, "hdmi-pwr");
352 if (conn->supply) {
353 ret = regulator_enable(conn->supply);
360 conn->bridge.funcs = &display_connector_bridge_funcs;
361 conn->bridge.of_node = pdev->dev.of_node;
363 if (conn->bridge.ddc)
364 conn->bridge.ops |= DRM_BRIDGE_OP_EDID
366 if (conn->hpd_gpio)
367 conn->bridge.ops |= DRM_BRIDGE_OP_DETECT;
368 if (conn->hpd_irq >= 0)
369 conn->bridge.ops |= DRM_BRIDGE_OP_HPD;
373 drm_get_connector_type_name(conn->bridge.type),
375 conn->bridge.ddc ? "with" : "without",
376 conn->hpd_gpio ? "with" : "without",
377 conn->bridge.ops);
379 drm_bridge_add(&conn->bridge);
386 struct display_connector *conn = platform_get_drvdata(pdev);
388 if (conn->ddc_en)
389 gpiod_set_value(conn->ddc_en, 0);
391 if (conn->supply)
392 regulator_disable(conn->supply);
394 drm_bridge_remove(&conn->bridge);
396 if (!IS_ERR(conn->bridge.ddc))
397 i2c_put_adapter(conn->bridge.ddc);