Lines Matching defs:connector

25 	struct drm_connector connector;
44 static inline struct gud_connector *to_gud_connector(struct drm_connector *connector)
46 return container_of(connector, struct gud_connector, connector);
49 static void gud_conn_err(struct drm_connector *connector, const char *msg, int ret)
51 dev_err(connector->dev->dev, "%s: %s (ret=%d)\n", connector->name, msg, ret);
62 struct drm_connector *connector = &gconn->connector;
64 struct drm_device *drm = connector->dev;
81 connector_state = drm_atomic_get_connector_state(state, connector);
111 struct drm_connector *connector = bl_get_data(bd);
112 struct gud_connector *gconn = to_gud_connector(connector);
126 struct drm_connector *connector = &gconn->connector;
137 connector->dev->primary->index, connector->name);
141 bd = backlight_device_register(name, connector->kdev, connector,
152 static int gud_connector_detect(struct drm_connector *connector,
155 struct gud_device *gdrm = to_gud_device(connector->dev);
159 if (!drm_dev_enter(connector->dev, &idx))
164 connector->index, NULL, 0);
171 ret = gud_usb_get_u8(gdrm, GUD_REQ_GET_CONNECTOR_STATUS, connector->index, &status);
190 connector->epoch_counter += 1;
218 static int gud_connector_get_modes(struct drm_connector *connector)
220 struct gud_device *gdrm = to_gud_device(connector->dev);
227 if (!drm_dev_enter(connector->dev, &idx))
235 ret = gud_usb_get(gdrm, GUD_REQ_GET_CONNECTOR_EDID, connector->index,
238 gud_conn_err(connector, "Invalid EDID size", ret);
241 drm_edid = drm_edid_read_custom(connector, gud_connector_get_edid_block, &edid_ctx);
245 drm_edid_connector_update(connector, drm_edid);
254 ret = gud_usb_get(gdrm, GUD_REQ_GET_CONNECTOR_MODES, connector->index,
259 gud_conn_err(connector, "Invalid display mode array size", ret);
268 mode = drm_mode_create(connector->dev);
275 drm_mode_probed_add(connector, mode);
279 num_modes = drm_edid_connector_add_modes(connector);
288 static int gud_connector_atomic_check(struct drm_connector *connector,
295 new_state = drm_atomic_get_new_connector_state(state, connector);
299 old_state = drm_atomic_get_old_connector_state(state, connector);
324 static int gud_connector_late_register(struct drm_connector *connector)
326 struct gud_connector *gconn = to_gud_connector(connector);
334 static void gud_connector_early_unregister(struct drm_connector *connector)
336 struct gud_connector *gconn = to_gud_connector(connector);
342 static void gud_connector_destroy(struct drm_connector *connector)
344 struct gud_connector *gconn = to_gud_connector(connector);
346 drm_connector_cleanup(connector);
351 static void gud_connector_reset(struct drm_connector *connector)
353 struct gud_connector *gconn = to_gud_connector(connector);
355 drm_atomic_helper_connector_reset(connector);
356 connector->state->tv = gconn->initial_tv_state;
358 drm_atomic_helper_connector_tv_margins_reset(connector);
360 connector->state->tv.brightness = gconn->initial_brightness;
375 * driver specific. This means that if more than one connector uses tv.mode,
378 static int gud_connector_add_tv_mode(struct gud_device *gdrm, struct drm_connector *connector)
391 connector->index, buf, buf_len);
403 ret = drm_mode_create_tv_properties_legacy(connector->dev, num_modes, modes);
407 gud_conn_err(connector, "Failed to add TV modes", ret);
413 gud_connector_property_lookup(struct drm_connector *connector, u16 prop)
415 struct drm_mode_config *config = &connector->dev->mode_config;
477 struct drm_connector *connector = &gconn->connector;
487 ret = gud_usb_get(gdrm, GUD_REQ_GET_CONNECTOR_PROPERTIES, connector->index,
526 ret = gud_connector_add_tv_mode(gdrm, connector);
564 property = gud_connector_property_lookup(connector, prop);
573 drm_object_attach_property(&connector->base, property, 0);
584 struct gud_connector *gconn = to_gud_connector(connector_state->connector);
615 struct drm_connector *connector;
627 connector = &gconn->connector;
661 drm_connector_helper_add(connector, &gud_connector_helper_funcs);
662 ret = drm_connector_init(drm, connector, &gud_connector_funcs, connector_type);
664 kfree(connector);
668 if (WARN_ON(connector->index != index))
672 connector->polled = (DRM_CONNECTOR_POLL_CONNECT | DRM_CONNECTOR_POLL_DISCONNECT);
674 connector->interlace_allowed = true;
676 connector->doublescan_allowed = true;
680 gud_conn_err(connector, "Failed to add properties", ret);
684 /* The first connector is attached to the existing simple pipe encoder */
685 if (!connector->index) {
697 return drm_connector_attach_encoder(connector, encoder);