/linux-4.4.14/drivers/gpu/drm/rcar-du/ |
H A D | rcar_du_hdmicon.c | 27 static int rcar_du_hdmi_connector_get_modes(struct drm_connector *connector) rcar_du_hdmi_connector_get_modes() argument 29 struct rcar_du_connector *con = to_rcar_connector(connector); rcar_du_hdmi_connector_get_modes() 36 return sfuncs->get_modes(encoder, connector); rcar_du_hdmi_connector_get_modes() 39 static int rcar_du_hdmi_connector_mode_valid(struct drm_connector *connector, rcar_du_hdmi_connector_mode_valid() argument 42 struct rcar_du_connector *con = to_rcar_connector(connector); rcar_du_hdmi_connector_mode_valid() 58 static void rcar_du_hdmi_connector_destroy(struct drm_connector *connector) rcar_du_hdmi_connector_destroy() argument 60 drm_connector_unregister(connector); rcar_du_hdmi_connector_destroy() 61 drm_connector_cleanup(connector); rcar_du_hdmi_connector_destroy() 65 rcar_du_hdmi_connector_detect(struct drm_connector *connector, bool force) rcar_du_hdmi_connector_detect() argument 67 struct rcar_du_connector *con = to_rcar_connector(connector); rcar_du_hdmi_connector_detect() 74 return sfuncs->detect(encoder, connector); rcar_du_hdmi_connector_detect() 92 struct drm_connector *connector; rcar_du_hdmi_connector_init() local 99 connector = &rcon->connector; rcar_du_hdmi_connector_init() 100 connector->display_info.width_mm = 0; rcar_du_hdmi_connector_init() 101 connector->display_info.height_mm = 0; rcar_du_hdmi_connector_init() 102 connector->interlace_allowed = true; rcar_du_hdmi_connector_init() 103 connector->polled = DRM_CONNECTOR_POLL_HPD; rcar_du_hdmi_connector_init() 105 ret = drm_connector_init(rcdu->ddev, connector, &connector_funcs, rcar_du_hdmi_connector_init() 110 drm_connector_helper_add(connector, &connector_helper_funcs); rcar_du_hdmi_connector_init() 111 ret = drm_connector_register(connector); rcar_du_hdmi_connector_init() 115 connector->dpms = DRM_MODE_DPMS_OFF; rcar_du_hdmi_connector_init() 116 drm_object_property_set_value(&connector->base, rcar_du_hdmi_connector_init() 119 ret = drm_mode_connector_attach_encoder(connector, encoder); rcar_du_hdmi_connector_init()
|
H A D | rcar_du_lvdscon.c | 29 struct rcar_du_connector connector; member in struct:rcar_du_lvds_connector 39 container_of(c, struct rcar_du_lvds_connector, connector.connector) 41 static int rcar_du_lvds_connector_get_modes(struct drm_connector *connector) rcar_du_lvds_connector_get_modes() argument 44 to_rcar_lvds_connector(connector); rcar_du_lvds_connector_get_modes() 47 mode = drm_mode_create(connector->dev); rcar_du_lvds_connector_get_modes() 55 drm_mode_probed_add(connector, mode); rcar_du_lvds_connector_get_modes() 65 static void rcar_du_lvds_connector_destroy(struct drm_connector *connector) rcar_du_lvds_connector_destroy() argument 67 drm_connector_unregister(connector); rcar_du_lvds_connector_destroy() 68 drm_connector_cleanup(connector); rcar_du_lvds_connector_destroy() 72 rcar_du_lvds_connector_detect(struct drm_connector *connector, bool force) rcar_du_lvds_connector_detect() argument 93 struct drm_connector *connector; rcar_du_lvds_connector_init() local 110 connector = &lvdscon->connector.connector; rcar_du_lvds_connector_init() 111 connector->display_info.width_mm = lvdscon->panel.width_mm; rcar_du_lvds_connector_init() 112 connector->display_info.height_mm = lvdscon->panel.height_mm; rcar_du_lvds_connector_init() 114 ret = drm_connector_init(rcdu->ddev, connector, &connector_funcs, rcar_du_lvds_connector_init() 119 drm_connector_helper_add(connector, &connector_helper_funcs); rcar_du_lvds_connector_init() 120 ret = drm_connector_register(connector); rcar_du_lvds_connector_init() 124 connector->dpms = DRM_MODE_DPMS_OFF; rcar_du_lvds_connector_init() 125 drm_object_property_set_value(&connector->base, rcar_du_lvds_connector_init() 128 ret = drm_mode_connector_attach_encoder(connector, encoder); rcar_du_lvds_connector_init() 132 lvdscon->connector.encoder = renc; rcar_du_lvds_connector_init()
|
H A D | rcar_du_vgacon.c | 24 static int rcar_du_vga_connector_get_modes(struct drm_connector *connector) rcar_du_vga_connector_get_modes() argument 34 static void rcar_du_vga_connector_destroy(struct drm_connector *connector) rcar_du_vga_connector_destroy() argument 36 drm_connector_unregister(connector); rcar_du_vga_connector_destroy() 37 drm_connector_cleanup(connector); rcar_du_vga_connector_destroy() 41 rcar_du_vga_connector_detect(struct drm_connector *connector, bool force) rcar_du_vga_connector_detect() argument 61 struct drm_connector *connector; rcar_du_vga_connector_init() local 68 connector = &rcon->connector; rcar_du_vga_connector_init() 69 connector->display_info.width_mm = 0; rcar_du_vga_connector_init() 70 connector->display_info.height_mm = 0; rcar_du_vga_connector_init() 71 connector->interlace_allowed = true; rcar_du_vga_connector_init() 73 ret = drm_connector_init(rcdu->ddev, connector, &connector_funcs, rcar_du_vga_connector_init() 78 drm_connector_helper_add(connector, &connector_helper_funcs); rcar_du_vga_connector_init() 79 ret = drm_connector_register(connector); rcar_du_vga_connector_init() 83 connector->dpms = DRM_MODE_DPMS_OFF; rcar_du_vga_connector_init() 84 drm_object_property_set_value(&connector->base, rcar_du_vga_connector_init() 87 ret = drm_mode_connector_attach_encoder(connector, encoder); rcar_du_vga_connector_init()
|
H A D | rcar_du_encoder.h | 45 struct drm_connector connector; member in struct:rcar_du_connector 50 container_of(c, struct rcar_du_connector, connector) 53 rcar_du_connector_best_encoder(struct drm_connector *connector);
|
H A D | rcar_du_encoder.c | 30 * Common connector functions 34 rcar_du_connector_best_encoder(struct drm_connector *connector) rcar_du_connector_best_encoder() argument 36 struct rcar_du_connector *rcon = to_rcar_connector(connector); rcar_du_connector_best_encoder() 69 struct drm_connector *connector = conn_state->connector; rcar_du_encoder_atomic_check() local 76 if (list_empty(&connector->modes)) { rcar_du_encoder_atomic_check() 81 panel_mode = list_first_entry(&connector->modes, rcar_du_encoder_atomic_check()
|
H A D | rcar_du_kms.c | 567 struct device_node *connector = NULL; rcar_du_encoders_init_one() local 593 * be an encoder. Locate the connector. for_each_endpoint_of_node() 596 connector = of_graph_get_remote_port_parent(ep_node); for_each_endpoint_of_node() 599 if (!connector) { for_each_endpoint_of_node() 601 "no connector for encoder %s, skipping\n", for_each_endpoint_of_node() 633 of_node_put(connector); 639 * connector. 641 connector = entity; 644 ret = rcar_du_encoder_init(rcdu, enc_type, output, encoder, connector); 646 of_node_put(connector); 839 "no connector found, disabling fbdev emulation\n"); rcar_du_modeset_init()
|
/linux-4.4.14/drivers/gpu/drm/msm/edp/ |
H A D | edp_connector.c | 25 struct drm_connector *connector, bool force) edp_connector_detect() 27 struct edp_connector *edp_connector = to_edp_connector(connector); edp_connector_detect() 35 static void edp_connector_destroy(struct drm_connector *connector) edp_connector_destroy() argument 37 struct edp_connector *edp_connector = to_edp_connector(connector); edp_connector_destroy() 40 drm_connector_unregister(connector); edp_connector_destroy() 41 drm_connector_cleanup(connector); edp_connector_destroy() 46 static int edp_connector_get_modes(struct drm_connector *connector) edp_connector_get_modes() argument 48 struct edp_connector *edp_connector = to_edp_connector(connector); edp_connector_get_modes() 55 ret = msm_edp_ctrl_get_panel_info(edp->ctrl, connector, &drm_edid); edp_connector_get_modes() 59 drm_mode_connector_update_edid_property(connector, drm_edid); edp_connector_get_modes() 61 ret = drm_add_edid_modes(connector, drm_edid); edp_connector_get_modes() 66 static int edp_connector_mode_valid(struct drm_connector *connector, edp_connector_mode_valid() argument 69 struct edp_connector *edp_connector = to_edp_connector(connector); edp_connector_mode_valid() 71 struct msm_drm_private *priv = connector->dev->dev_private; edp_connector_mode_valid() 88 if (connector->display_info.bpc > 8) edp_connector_mode_valid() 95 edp_connector_best_encoder(struct drm_connector *connector) edp_connector_best_encoder() argument 97 struct edp_connector *edp_connector = to_edp_connector(connector); edp_connector_best_encoder() 119 /* initialize connector */ msm_edp_connector_init() 122 struct drm_connector *connector = NULL; msm_edp_connector_init() local 134 connector = &edp_connector->base; msm_edp_connector_init() 136 ret = drm_connector_init(edp->dev, connector, &edp_connector_funcs, msm_edp_connector_init() 141 drm_connector_helper_add(connector, &edp_connector_helper_funcs); msm_edp_connector_init() 144 connector->polled = DRM_CONNECTOR_POLL_CONNECT; msm_edp_connector_init() 147 connector->interlace_allowed = false; msm_edp_connector_init() 148 connector->doublescan_allowed = false; msm_edp_connector_init() 150 ret = drm_connector_register(connector); msm_edp_connector_init() 154 drm_mode_connector_attach_encoder(connector, edp->encoder); msm_edp_connector_init() 156 return connector; msm_edp_connector_init() 159 if (connector) msm_edp_connector_init() 160 edp_connector_destroy(connector); msm_edp_connector_init() 24 edp_connector_detect( struct drm_connector *connector, bool force) edp_connector_detect() argument
|
H A D | edp.c | 165 edp->connector = msm_edp_connector_init(edp); msm_edp_modeset_init() 166 if (IS_ERR(edp->connector)) { msm_edp_modeset_init() 167 ret = PTR_ERR(edp->connector); msm_edp_modeset_init() 168 dev_err(dev->dev, "failed to create eDP connector: %d\n", ret); msm_edp_modeset_init() 169 edp->connector = NULL; msm_edp_modeset_init() 192 priv->connectors[priv->num_connectors++] = edp->connector; msm_edp_modeset_init() 197 /* bridge/connector are normally destroyed by drm */ msm_edp_modeset_init() 202 if (edp->connector) { msm_edp_modeset_init() 203 edp->connector->funcs->destroy(edp->connector); msm_edp_modeset_init() 204 edp->connector = NULL; msm_edp_modeset_init()
|
H A D | edp_bridge.c | 59 struct drm_connector *connector; edp_bridge_mode_set() local 72 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { edp_bridge_mode_set() 73 if ((connector->encoder != NULL) && edp_bridge_mode_set() 74 (connector->encoder->bridge == bridge)) { edp_bridge_mode_set() 76 adjusted_mode, &connector->display_info); edp_bridge_mode_set()
|
H A D | edp.h | 37 struct drm_connector *connector; member in struct:msm_edp 52 /* eDP connector */ 77 struct drm_connector *connector, struct edid **edid);
|
/linux-4.4.14/drivers/gpu/drm/udl/ |
H A D | udl_connector.c | 19 /* dummy connector to just get EDID, 57 static int udl_get_modes(struct drm_connector *connector) udl_get_modes() argument 59 struct udl_device *udl = connector->dev->dev_private; udl_get_modes() 65 drm_mode_connector_update_edid_property(connector, NULL); udl_get_modes() 77 drm_mode_connector_update_edid_property(connector, edid); udl_get_modes() 78 ret = drm_add_edid_modes(connector, edid); udl_get_modes() 83 static int udl_mode_valid(struct drm_connector *connector, udl_mode_valid() argument 86 struct udl_device *udl = connector->dev->dev_private; udl_mode_valid() 97 udl_detect(struct drm_connector *connector, bool force) udl_detect() argument 99 if (drm_device_is_unplugged(connector->dev)) udl_detect() 105 udl_best_single_encoder(struct drm_connector *connector) udl_best_single_encoder() argument 107 int enc_id = connector->encoder_ids[0]; udl_best_single_encoder() 108 return drm_encoder_find(connector->dev, enc_id); udl_best_single_encoder() 111 static int udl_connector_set_property(struct drm_connector *connector, udl_connector_set_property() argument 118 static void udl_connector_destroy(struct drm_connector *connector) udl_connector_destroy() argument 120 drm_connector_unregister(connector); udl_connector_destroy() 121 drm_connector_cleanup(connector); udl_connector_destroy() 122 kfree(connector); udl_connector_destroy() 141 struct drm_connector *connector; udl_connector_init() local 143 connector = kzalloc(sizeof(struct drm_connector), GFP_KERNEL); udl_connector_init() 144 if (!connector) udl_connector_init() 147 drm_connector_init(dev, connector, &udl_connector_funcs, DRM_MODE_CONNECTOR_DVII); udl_connector_init() 148 drm_connector_helper_add(connector, &udl_connector_helper_funcs); udl_connector_init() 150 drm_connector_register(connector); udl_connector_init() 151 drm_mode_connector_attach_encoder(connector, encoder); udl_connector_init() 153 drm_object_attach_property(&connector->base, udl_connector_init()
|
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp4/ |
H A D | mdp4_lvds_connector.c | 31 struct drm_connector *connector, bool force) mdp4_lvds_connector_detect() 34 to_mdp4_lvds_connector(connector); mdp4_lvds_connector_detect() 41 static void mdp4_lvds_connector_destroy(struct drm_connector *connector) mdp4_lvds_connector_destroy() argument 44 to_mdp4_lvds_connector(connector); mdp4_lvds_connector_destroy() 50 drm_connector_unregister(connector); mdp4_lvds_connector_destroy() 51 drm_connector_cleanup(connector); mdp4_lvds_connector_destroy() 56 static int mdp4_lvds_connector_get_modes(struct drm_connector *connector) mdp4_lvds_connector_get_modes() argument 59 to_mdp4_lvds_connector(connector); mdp4_lvds_connector_get_modes() 69 static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector, mdp4_lvds_connector_mode_valid() argument 73 to_mdp4_lvds_connector(connector); mdp4_lvds_connector_mode_valid() 89 mdp4_lvds_connector_best_encoder(struct drm_connector *connector) mdp4_lvds_connector_best_encoder() argument 92 to_mdp4_lvds_connector(connector); mdp4_lvds_connector_best_encoder() 112 /* initialize connector */ mdp4_lvds_connector_init() 116 struct drm_connector *connector = NULL; mdp4_lvds_connector_init() local 129 connector = &mdp4_lvds_connector->base; mdp4_lvds_connector_init() 131 drm_connector_init(dev, connector, &mdp4_lvds_connector_funcs, mdp4_lvds_connector_init() 133 drm_connector_helper_add(connector, &mdp4_lvds_connector_helper_funcs); mdp4_lvds_connector_init() 135 connector->polled = 0; mdp4_lvds_connector_init() 137 connector->interlace_allowed = 0; mdp4_lvds_connector_init() 138 connector->doublescan_allowed = 0; mdp4_lvds_connector_init() 140 drm_connector_register(connector); mdp4_lvds_connector_init() 142 drm_mode_connector_attach_encoder(connector, encoder); mdp4_lvds_connector_init() 145 drm_panel_attach(panel, connector); mdp4_lvds_connector_init() 147 return connector; mdp4_lvds_connector_init() 150 if (connector) mdp4_lvds_connector_init() 151 mdp4_lvds_connector_destroy(connector); mdp4_lvds_connector_init() 30 mdp4_lvds_connector_detect( struct drm_connector *connector, bool force) mdp4_lvds_connector_detect() argument
|
H A D | mdp4_lcdc_encoder.c | 98 struct drm_connector *connector; get_connector() local 100 list_for_each_entry(connector, &dev->mode_config.connector_list, head) get_connector() 101 if (connector->encoder == encoder) get_connector() 102 return connector; get_connector() 110 struct drm_connector *connector = get_connector(encoder); setup_phy() local 115 if (!connector) setup_phy() 118 bpp = 3 * connector->display_info.bpc; setup_phy() 356 * the (connector) source of the vsync's gets disabled, mdp4_lcdc_encoder_disable()
|
H A D | mdp4_kms.c | 287 struct drm_connector *connector; modeset_init() local 346 connector = mdp4_lvds_connector_init(dev, panel, encoder); modeset_init() 347 if (IS_ERR(connector)) { modeset_init() 348 ret = PTR_ERR(connector); modeset_init() 349 dev_err(dev->dev, "failed to initialize LVDS connector: %d\n", ret); modeset_init() 353 priv->connectors[priv->num_connectors++] = connector; modeset_init() 387 /* Construct bridge/connector for HDMI: */ modeset_init()
|
/linux-4.4.14/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_connectors.c | 40 void amdgpu_connector_hotplug(struct drm_connector *connector) amdgpu_connector_hotplug() argument 42 struct drm_device *dev = connector->dev; amdgpu_connector_hotplug() 44 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_hotplug() 46 /* bail if the connector does not have hpd pin, e.g., amdgpu_connector_hotplug() 54 /* if the connector is already off, don't turn it back on */ amdgpu_connector_hotplug() 55 if (connector->dpms != DRM_MODE_DPMS_ON) amdgpu_connector_hotplug() 59 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { amdgpu_connector_hotplug() 73 int saved_dpms = connector->dpms; amdgpu_connector_hotplug() 76 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); amdgpu_connector_hotplug() 87 connector->dpms = DRM_MODE_DPMS_OFF; amdgpu_connector_hotplug() 88 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); amdgpu_connector_hotplug() 90 connector->dpms = saved_dpms; amdgpu_connector_hotplug() 105 int amdgpu_connector_get_monitor_bpc(struct drm_connector *connector) amdgpu_connector_get_monitor_bpc() argument 107 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_get_monitor_bpc() 112 switch (connector->connector_type) { amdgpu_connector_get_monitor_bpc() 116 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_connector_get_monitor_bpc() 117 if (connector->display_info.bpc) amdgpu_connector_get_monitor_bpc() 118 bpc = connector->display_info.bpc; amdgpu_connector_get_monitor_bpc() 124 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_connector_get_monitor_bpc() 125 if (connector->display_info.bpc) amdgpu_connector_get_monitor_bpc() 126 bpc = connector->display_info.bpc; amdgpu_connector_get_monitor_bpc() 133 drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_connector_get_monitor_bpc() 134 if (connector->display_info.bpc) amdgpu_connector_get_monitor_bpc() 135 bpc = connector->display_info.bpc; amdgpu_connector_get_monitor_bpc() 140 if (connector->display_info.bpc) amdgpu_connector_get_monitor_bpc() 141 bpc = connector->display_info.bpc; amdgpu_connector_get_monitor_bpc() 144 connector->helper_private; amdgpu_connector_get_monitor_bpc() 145 struct drm_encoder *encoder = connector_funcs->best_encoder(connector); amdgpu_connector_get_monitor_bpc() 157 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_connector_get_monitor_bpc() 166 connector->name, bpc); amdgpu_connector_get_monitor_bpc() 171 if (connector->max_tmds_clock > 0) { amdgpu_connector_get_monitor_bpc() 172 /* mode_clock is clock in kHz for mode to be modeset on this connector */ amdgpu_connector_get_monitor_bpc() 176 max_tmds_clock = connector->max_tmds_clock * 1000; amdgpu_connector_get_monitor_bpc() 179 connector->name, mode_clock, max_tmds_clock); amdgpu_connector_get_monitor_bpc() 183 if ((connector->display_info.edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_30) && amdgpu_connector_get_monitor_bpc() 190 connector->name, bpc); amdgpu_connector_get_monitor_bpc() 196 connector->name, bpc); amdgpu_connector_get_monitor_bpc() 201 connector->name); amdgpu_connector_get_monitor_bpc() 208 connector->name); amdgpu_connector_get_monitor_bpc() 213 connector->name, connector->display_info.bpc, bpc); amdgpu_connector_get_monitor_bpc() 219 amdgpu_connector_update_scratch_regs(struct drm_connector *connector, amdgpu_connector_update_scratch_regs() argument 224 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; amdgpu_connector_update_scratch_regs() 228 best_encoder = connector_funcs->best_encoder(connector); amdgpu_connector_update_scratch_regs() 231 if (connector->encoder_ids[i] == 0) amdgpu_connector_update_scratch_regs() 234 encoder = drm_encoder_find(connector->dev, amdgpu_connector_update_scratch_regs() 235 connector->encoder_ids[i]); amdgpu_connector_update_scratch_regs() 244 amdgpu_atombios_encoder_set_bios_scratch_regs(connector, encoder, connected); amdgpu_connector_update_scratch_regs() 250 amdgpu_connector_find_encoder(struct drm_connector *connector, amdgpu_connector_find_encoder() argument 257 if (connector->encoder_ids[i] == 0) amdgpu_connector_find_encoder() 259 encoder = drm_encoder_find(connector->dev, amdgpu_connector_find_encoder() 260 connector->encoder_ids[i]); amdgpu_connector_find_encoder() 270 struct edid *amdgpu_connector_edid(struct drm_connector *connector) amdgpu_connector_edid() argument 272 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_edid() 273 struct drm_property_blob *edid_blob = connector->edid_blob_ptr; amdgpu_connector_edid() 302 static void amdgpu_connector_get_edid(struct drm_connector *connector) amdgpu_connector_get_edid() argument 304 struct drm_device *dev = connector->dev; amdgpu_connector_get_edid() 306 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_get_edid() 315 if ((amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != amdgpu_connector_get_edid() 318 amdgpu_connector->edid = drm_get_edid(connector, amdgpu_connector_get_edid() 320 } else if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) || amdgpu_connector_get_edid() 321 (connector->connector_type == DRM_MODE_CONNECTOR_eDP)) { amdgpu_connector_get_edid() 327 amdgpu_connector->edid = drm_get_edid(connector, amdgpu_connector_get_edid() 330 amdgpu_connector->edid = drm_get_edid(connector, amdgpu_connector_get_edid() 333 amdgpu_connector->edid = drm_get_edid(connector, amdgpu_connector_get_edid() 339 if (((connector->connector_type == DRM_MODE_CONNECTOR_LVDS) || amdgpu_connector_get_edid() 340 (connector->connector_type == DRM_MODE_CONNECTOR_eDP))) amdgpu_connector_get_edid() 345 static void amdgpu_connector_free_edid(struct drm_connector *connector) amdgpu_connector_free_edid() argument 347 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_free_edid() 355 static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector) amdgpu_connector_ddc_get_modes() argument 357 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_ddc_get_modes() 361 drm_mode_connector_update_edid_property(connector, amdgpu_connector->edid); amdgpu_connector_ddc_get_modes() 362 ret = drm_add_edid_modes(connector, amdgpu_connector->edid); amdgpu_connector_ddc_get_modes() 363 drm_edid_to_eld(connector, amdgpu_connector->edid); amdgpu_connector_ddc_get_modes() 366 drm_mode_connector_update_edid_property(connector, NULL); amdgpu_connector_ddc_get_modes() 371 amdgpu_connector_best_single_encoder(struct drm_connector *connector) amdgpu_connector_best_single_encoder() argument 373 int enc_id = connector->encoder_ids[0]; amdgpu_connector_best_single_encoder() 377 return drm_encoder_find(connector->dev, enc_id); amdgpu_connector_best_single_encoder() 381 static void amdgpu_get_native_mode(struct drm_connector *connector) amdgpu_get_native_mode() argument 383 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_get_native_mode() 391 if (!list_empty(&connector->probed_modes)) { amdgpu_get_native_mode() 393 list_first_entry(&connector->probed_modes, amdgpu_get_native_mode() 435 struct drm_connector *connector) amdgpu_connector_add_common_modes() 482 drm_mode_probed_add(connector, mode); amdgpu_connector_add_common_modes() 486 static int amdgpu_connector_set_property(struct drm_connector *connector, amdgpu_connector_set_property() argument 490 struct drm_device *dev = connector->dev; amdgpu_connector_set_property() 499 /* need to find digital encoder on connector */ amdgpu_connector_set_property() 500 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); amdgpu_connector_set_property() 518 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_set_property() 519 /* need to find digital encoder on connector */ amdgpu_connector_set_property() 520 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); amdgpu_connector_set_property() 533 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_set_property() 534 /* need to find digital encoder on connector */ amdgpu_connector_set_property() 535 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); amdgpu_connector_set_property() 548 /* need to find digital encoder on connector */ amdgpu_connector_set_property() 549 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); amdgpu_connector_set_property() 562 /* need to find digital encoder on connector */ amdgpu_connector_set_property() 563 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); amdgpu_connector_set_property() 576 /* need to find digital encoder on connector */ amdgpu_connector_set_property() 577 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); amdgpu_connector_set_property() 591 to_amdgpu_connector(connector); amdgpu_connector_set_property() 602 if (connector->encoder) { amdgpu_connector_set_property() 603 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); amdgpu_connector_set_property() 605 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; amdgpu_connector_set_property() 606 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); amdgpu_connector_set_property() 633 struct drm_connector *connector) amdgpu_connector_fixup_lcd_native_mode() 640 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { amdgpu_connector_fixup_lcd_native_mode() 650 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { amdgpu_connector_fixup_lcd_native_mode() 667 static int amdgpu_connector_lvds_get_modes(struct drm_connector *connector) amdgpu_connector_lvds_get_modes() argument 673 amdgpu_connector_get_edid(connector); amdgpu_connector_lvds_get_modes() 674 ret = amdgpu_connector_ddc_get_modes(connector); amdgpu_connector_lvds_get_modes() 676 encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_lvds_get_modes() 678 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); amdgpu_connector_lvds_get_modes() 680 amdgpu_connector_add_common_modes(encoder, connector); amdgpu_connector_lvds_get_modes() 685 encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_lvds_get_modes() 693 drm_mode_probed_add(connector, mode); amdgpu_connector_lvds_get_modes() 695 connector->display_info.width_mm = mode->width_mm; amdgpu_connector_lvds_get_modes() 696 connector->display_info.height_mm = mode->height_mm; amdgpu_connector_lvds_get_modes() 698 amdgpu_connector_add_common_modes(encoder, connector); amdgpu_connector_lvds_get_modes() 704 static int amdgpu_connector_lvds_mode_valid(struct drm_connector *connector, amdgpu_connector_lvds_mode_valid() argument 707 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_lvds_mode_valid() 735 amdgpu_connector_lvds_detect(struct drm_connector *connector, bool force) amdgpu_connector_lvds_detect() argument 737 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_lvds_detect() 738 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_lvds_detect() 742 r = pm_runtime_get_sync(connector->dev->dev); amdgpu_connector_lvds_detect() 757 amdgpu_connector_get_edid(connector); amdgpu_connector_lvds_detect() 762 amdgpu_connector_update_scratch_regs(connector, ret); amdgpu_connector_lvds_detect() 763 pm_runtime_mark_last_busy(connector->dev->dev); amdgpu_connector_lvds_detect() 764 pm_runtime_put_autosuspend(connector->dev->dev); amdgpu_connector_lvds_detect() 768 static void amdgpu_connector_destroy(struct drm_connector *connector) amdgpu_connector_destroy() argument 770 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_destroy() 774 amdgpu_connector_free_edid(connector); amdgpu_connector_destroy() 776 drm_connector_unregister(connector); amdgpu_connector_destroy() 777 drm_connector_cleanup(connector); amdgpu_connector_destroy() 778 kfree(connector); amdgpu_connector_destroy() 781 static int amdgpu_connector_set_lcd_property(struct drm_connector *connector, amdgpu_connector_set_lcd_property() argument 785 struct drm_device *dev = connector->dev; amdgpu_connector_set_lcd_property() 793 if (connector->encoder) amdgpu_connector_set_lcd_property() 794 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); amdgpu_connector_set_lcd_property() 796 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; amdgpu_connector_set_lcd_property() 797 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); amdgpu_connector_set_lcd_property() 831 static int amdgpu_connector_vga_get_modes(struct drm_connector *connector) amdgpu_connector_vga_get_modes() argument 835 amdgpu_connector_get_edid(connector); amdgpu_connector_vga_get_modes() 836 ret = amdgpu_connector_ddc_get_modes(connector); amdgpu_connector_vga_get_modes() 841 static int amdgpu_connector_vga_mode_valid(struct drm_connector *connector, amdgpu_connector_vga_mode_valid() argument 844 struct drm_device *dev = connector->dev; amdgpu_connector_vga_mode_valid() 856 amdgpu_connector_vga_detect(struct drm_connector *connector, bool force) amdgpu_connector_vga_detect() argument 858 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_vga_detect() 865 r = pm_runtime_get_sync(connector->dev->dev); amdgpu_connector_vga_detect() 869 encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_vga_detect() 877 amdgpu_connector_free_edid(connector); amdgpu_connector_vga_detect() 878 amdgpu_connector_get_edid(connector); amdgpu_connector_vga_detect() 882 connector->name); amdgpu_connector_vga_detect() 892 amdgpu_connector_free_edid(connector); amdgpu_connector_vga_detect() 906 ret = connector->status; amdgpu_connector_vga_detect() 912 ret = encoder_funcs->detect(encoder, connector); amdgpu_connector_vga_detect() 918 amdgpu_connector_update_scratch_regs(connector, ret); amdgpu_connector_vga_detect() 921 pm_runtime_mark_last_busy(connector->dev->dev); amdgpu_connector_vga_detect() 922 pm_runtime_put_autosuspend(connector->dev->dev); amdgpu_connector_vga_detect() 942 amdgpu_connector_check_hpd_status_unchanged(struct drm_connector *connector) amdgpu_connector_check_hpd_status_unchanged() argument 944 struct drm_device *dev = connector->dev; amdgpu_connector_check_hpd_status_unchanged() 946 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_check_hpd_status_unchanged() 954 if (connector->status == status) amdgpu_connector_check_hpd_status_unchanged() 966 * we need to find the DAC encoder object for this connector. 970 * if its shared we have to set the other connector to disconnected. 973 amdgpu_connector_dvi_detect(struct drm_connector *connector, bool force) amdgpu_connector_dvi_detect() argument 975 struct drm_device *dev = connector->dev; amdgpu_connector_dvi_detect() 977 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_dvi_detect() 984 r = pm_runtime_get_sync(connector->dev->dev); amdgpu_connector_dvi_detect() 988 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { amdgpu_connector_dvi_detect() 989 ret = connector->status; amdgpu_connector_dvi_detect() 997 amdgpu_connector_free_edid(connector); amdgpu_connector_dvi_detect() 998 amdgpu_connector_get_edid(connector); amdgpu_connector_dvi_detect() 1002 connector->name); amdgpu_connector_dvi_detect() 1013 amdgpu_connector_free_edid(connector); amdgpu_connector_dvi_detect() 1028 if (connector == list_connector) amdgpu_connector_dvi_detect() 1038 amdgpu_connector_free_edid(connector); amdgpu_connector_dvi_detect() 1052 if ((connector->connector_type == DRM_MODE_CONNECTOR_DVID) || amdgpu_connector_dvi_detect() 1053 (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA)) amdgpu_connector_dvi_detect() 1062 ret = connector->status; amdgpu_connector_dvi_detect() 1069 if (connector->encoder_ids[i] == 0) amdgpu_connector_dvi_detect() 1072 encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); amdgpu_connector_dvi_detect() 1085 ret = encoder_funcs->detect(encoder, connector); amdgpu_connector_dvi_detect() 1096 lret = encoder_funcs->detect(encoder, connector); amdgpu_connector_dvi_detect() 1108 amdgpu_connector_update_scratch_regs(connector, ret); amdgpu_connector_dvi_detect() 1111 pm_runtime_mark_last_busy(connector->dev->dev); amdgpu_connector_dvi_detect() 1112 pm_runtime_put_autosuspend(connector->dev->dev); amdgpu_connector_dvi_detect() 1119 amdgpu_connector_dvi_encoder(struct drm_connector *connector) amdgpu_connector_dvi_encoder() argument 1121 int enc_id = connector->encoder_ids[0]; amdgpu_connector_dvi_encoder() 1122 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_dvi_encoder() 1126 if (connector->encoder_ids[i] == 0) amdgpu_connector_dvi_encoder() 1129 encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); amdgpu_connector_dvi_encoder() 1148 return drm_encoder_find(connector->dev, enc_id); amdgpu_connector_dvi_encoder() 1152 static void amdgpu_connector_dvi_force(struct drm_connector *connector) amdgpu_connector_dvi_force() argument 1154 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_dvi_force() 1155 if (connector->force == DRM_FORCE_ON) amdgpu_connector_dvi_force() 1157 if (connector->force == DRM_FORCE_ON_DIGITAL) amdgpu_connector_dvi_force() 1161 static int amdgpu_connector_dvi_mode_valid(struct drm_connector *connector, amdgpu_connector_dvi_mode_valid() argument 1164 struct drm_device *dev = connector->dev; amdgpu_connector_dvi_mode_valid() 1166 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_dvi_mode_valid() 1175 } else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_connector_dvi_mode_valid() 1208 static int amdgpu_connector_dp_get_modes(struct drm_connector *connector) amdgpu_connector_dp_get_modes() argument 1210 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_dp_get_modes() 1212 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_dp_get_modes() 1215 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || amdgpu_connector_dp_get_modes() 1216 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { amdgpu_connector_dp_get_modes() 1219 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { amdgpu_connector_dp_get_modes() 1221 amdgpu_atombios_encoder_set_edp_panel_power(connector, amdgpu_connector_dp_get_modes() 1223 amdgpu_connector_get_edid(connector); amdgpu_connector_dp_get_modes() 1224 ret = amdgpu_connector_ddc_get_modes(connector); amdgpu_connector_dp_get_modes() 1226 amdgpu_atombios_encoder_set_edp_panel_power(connector, amdgpu_connector_dp_get_modes() 1230 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != amdgpu_connector_dp_get_modes() 1235 amdgpu_connector_get_edid(connector); amdgpu_connector_dp_get_modes() 1236 ret = amdgpu_connector_ddc_get_modes(connector); amdgpu_connector_dp_get_modes() 1241 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); amdgpu_connector_dp_get_modes() 1243 amdgpu_connector_add_common_modes(encoder, connector); amdgpu_connector_dp_get_modes() 1255 drm_mode_probed_add(connector, mode); amdgpu_connector_dp_get_modes() 1257 connector->display_info.width_mm = mode->width_mm; amdgpu_connector_dp_get_modes() 1258 connector->display_info.height_mm = mode->height_mm; amdgpu_connector_dp_get_modes() 1260 amdgpu_connector_add_common_modes(encoder, connector); amdgpu_connector_dp_get_modes() 1264 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != amdgpu_connector_dp_get_modes() 1269 amdgpu_connector_get_edid(connector); amdgpu_connector_dp_get_modes() 1270 ret = amdgpu_connector_ddc_get_modes(connector); amdgpu_connector_dp_get_modes() 1272 amdgpu_get_native_mode(connector); amdgpu_connector_dp_get_modes() 1278 u16 amdgpu_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector) amdgpu_connector_encoder_get_dp_bridge_encoder_id() argument 1285 if (connector->encoder_ids[i] == 0) amdgpu_connector_encoder_get_dp_bridge_encoder_id() 1288 encoder = drm_encoder_find(connector->dev, amdgpu_connector_encoder_get_dp_bridge_encoder_id() 1289 connector->encoder_ids[i]); amdgpu_connector_encoder_get_dp_bridge_encoder_id() 1307 static bool amdgpu_connector_encoder_is_hbr2(struct drm_connector *connector) amdgpu_connector_encoder_is_hbr2() argument 1315 if (connector->encoder_ids[i] == 0) amdgpu_connector_encoder_is_hbr2() 1317 encoder = drm_encoder_find(connector->dev, amdgpu_connector_encoder_is_hbr2() 1318 connector->encoder_ids[i]); amdgpu_connector_encoder_is_hbr2() 1330 bool amdgpu_connector_is_dp12_capable(struct drm_connector *connector) amdgpu_connector_is_dp12_capable() argument 1332 struct drm_device *dev = connector->dev; amdgpu_connector_is_dp12_capable() 1336 amdgpu_connector_encoder_is_hbr2(connector)) { amdgpu_connector_is_dp12_capable() 1344 amdgpu_connector_dp_detect(struct drm_connector *connector, bool force) amdgpu_connector_dp_detect() argument 1346 struct drm_device *dev = connector->dev; amdgpu_connector_dp_detect() 1348 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_dp_detect() 1351 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_dp_detect() 1354 r = pm_runtime_get_sync(connector->dev->dev); amdgpu_connector_dp_detect() 1358 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { amdgpu_connector_dp_detect() 1359 ret = connector->status; amdgpu_connector_dp_detect() 1363 amdgpu_connector_free_edid(connector); amdgpu_connector_dp_detect() 1365 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || amdgpu_connector_dp_detect() 1366 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { amdgpu_connector_dp_detect() 1378 amdgpu_atombios_encoder_set_edp_panel_power(connector, amdgpu_connector_dp_detect() 1383 amdgpu_atombios_encoder_set_edp_panel_power(connector, amdgpu_connector_dp_detect() 1385 } else if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != amdgpu_connector_dp_detect() 1400 ret = encoder_funcs->detect(encoder, connector); amdgpu_connector_dp_detect() 1422 amdgpu_connector_update_scratch_regs(connector, ret); amdgpu_connector_dp_detect() 1424 pm_runtime_mark_last_busy(connector->dev->dev); amdgpu_connector_dp_detect() 1425 pm_runtime_put_autosuspend(connector->dev->dev); amdgpu_connector_dp_detect() 1430 static int amdgpu_connector_dp_mode_valid(struct drm_connector *connector, amdgpu_connector_dp_mode_valid() argument 1433 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_dp_mode_valid() 1438 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || amdgpu_connector_dp_mode_valid() 1439 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { amdgpu_connector_dp_mode_valid() 1440 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); amdgpu_connector_dp_mode_valid() 1467 return amdgpu_atombios_dp_mode_valid_helper(connector, mode); amdgpu_connector_dp_mode_valid() 1469 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_connector_dp_mode_valid() 1518 struct drm_connector *connector; amdgpu_connector_add() local 1532 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { amdgpu_connector_add() 1533 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_connector_add() 1570 connector = &amdgpu_connector->base; amdgpu_connector_add() 1605 connector->interlace_allowed = true; amdgpu_connector_add() 1606 connector->doublescan_allowed = true; amdgpu_connector_add() 1648 connector->interlace_allowed = true; amdgpu_connector_add() 1650 connector->doublescan_allowed = true; amdgpu_connector_add() 1652 connector->doublescan_allowed = false; amdgpu_connector_add() 1670 connector->interlace_allowed = false; amdgpu_connector_add() 1671 connector->doublescan_allowed = false; amdgpu_connector_add() 1693 connector->polled = DRM_CONNECTOR_POLL_CONNECT; amdgpu_connector_add() 1694 connector->interlace_allowed = true; amdgpu_connector_add() 1695 connector->doublescan_allowed = true; amdgpu_connector_add() 1714 connector->interlace_allowed = true; amdgpu_connector_add() 1715 connector->doublescan_allowed = true; amdgpu_connector_add() 1761 connector->interlace_allowed = true; amdgpu_connector_add() 1763 connector->doublescan_allowed = true; amdgpu_connector_add() 1765 connector->doublescan_allowed = false; amdgpu_connector_add() 1804 connector->interlace_allowed = true; amdgpu_connector_add() 1806 connector->doublescan_allowed = true; amdgpu_connector_add() 1808 connector->doublescan_allowed = false; amdgpu_connector_add() 1848 connector->interlace_allowed = true; amdgpu_connector_add() 1850 connector->doublescan_allowed = false; amdgpu_connector_add() 1870 connector->interlace_allowed = false; amdgpu_connector_add() 1871 connector->doublescan_allowed = false; amdgpu_connector_add() 1889 connector->interlace_allowed = false; amdgpu_connector_add() 1890 connector->doublescan_allowed = false; amdgpu_connector_add() 1897 connector->polled = DRM_CONNECTOR_POLL_CONNECT; amdgpu_connector_add() 1899 connector->polled = DRM_CONNECTOR_POLL_HPD; amdgpu_connector_add() 1901 connector->display_info.subpixel_order = subpixel_order; amdgpu_connector_add() 1902 drm_connector_register(connector); amdgpu_connector_add() 1910 drm_connector_cleanup(connector); amdgpu_connector_add() 1911 kfree(connector); amdgpu_connector_add() 434 amdgpu_connector_add_common_modes(struct drm_encoder *encoder, struct drm_connector *connector) amdgpu_connector_add_common_modes() argument 632 amdgpu_connector_fixup_lcd_native_mode(struct drm_encoder *encoder, struct drm_connector *connector) amdgpu_connector_fixup_lcd_native_mode() argument
|
H A D | amdgpu_encoders.c | 38 struct drm_connector *connector; amdgpu_link_encoder_connector() local 44 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { amdgpu_link_encoder_connector() 45 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_link_encoder_connector() 49 drm_mode_connector_attach_encoder(connector, encoder); amdgpu_link_encoder_connector() 51 amdgpu_atombios_encoder_init_backlight(amdgpu_encoder, connector); amdgpu_link_encoder_connector() 63 struct drm_connector *connector; amdgpu_encoder_set_active_device() local 65 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { amdgpu_encoder_set_active_device() 66 if (connector->encoder == encoder) { amdgpu_encoder_set_active_device() 67 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_encoder_set_active_device() 81 struct drm_connector *connector; amdgpu_get_connector_for_encoder() local 84 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { amdgpu_get_connector_for_encoder() 85 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_get_connector_for_encoder() 87 return connector; amdgpu_get_connector_for_encoder() 97 struct drm_connector *connector; amdgpu_get_connector_for_encoder_init() local 100 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { amdgpu_get_connector_for_encoder_init() 101 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_get_connector_for_encoder_init() 103 return connector; amdgpu_get_connector_for_encoder_init() 191 struct drm_connector *connector; amdgpu_dig_monitor_is_duallink() local 195 connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_dig_monitor_is_duallink() 199 if (!connector) amdgpu_dig_monitor_is_duallink() 200 connector = amdgpu_get_connector_for_encoder_init(encoder); amdgpu_dig_monitor_is_duallink() 201 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_dig_monitor_is_duallink() 203 switch (connector->connector_type) { amdgpu_dig_monitor_is_duallink() 208 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_dig_monitor_is_duallink() 230 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { amdgpu_dig_monitor_is_duallink()
|
H A D | amdgpu_connectors.h | 27 struct edid *amdgpu_connector_edid(struct drm_connector *connector); 28 void amdgpu_connector_hotplug(struct drm_connector *connector); 29 int amdgpu_connector_get_monitor_bpc(struct drm_connector *connector); 30 u16 amdgpu_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector); 31 bool amdgpu_connector_is_dp12_capable(struct drm_connector *connector);
|
H A D | atombios_dp.h | 31 struct drm_connector *connector); 32 void amdgpu_atombios_dp_set_link_config(struct drm_connector *connector, 34 int amdgpu_atombios_dp_mode_valid_helper(struct drm_connector *connector, 37 void amdgpu_atombios_dp_set_rx_power_state(struct drm_connector *connector, 40 struct drm_connector *connector);
|
H A D | atombios_encoders.h | 48 amdgpu_atombios_encoder_set_edp_panel_power(struct drm_connector *connector, 58 struct drm_connector *connector); 61 struct drm_connector *connector); 65 amdgpu_atombios_encoder_set_bios_scratch_regs(struct drm_connector *connector,
|
H A D | atombios_encoders.c | 292 /* set the active encoder to connector routing */ amdgpu_atombios_encoder_mode_fixup() 313 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_mode_fixup() local 314 amdgpu_atombios_dp_set_link_config(connector, adjusted_mode); amdgpu_atombios_encoder_mode_fixup() 449 struct drm_connector *connector; amdgpu_atombios_encoder_get_encoder_mode() local 462 connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_get_encoder_mode() 466 if (!connector) amdgpu_atombios_encoder_get_encoder_mode() 467 connector = amdgpu_get_connector_for_encoder_init(encoder); amdgpu_atombios_encoder_get_encoder_mode() 468 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_get_encoder_mode() 470 switch (connector->connector_type) { amdgpu_atombios_encoder_get_encoder_mode() 477 else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector)) && amdgpu_atombios_encoder_get_encoder_mode() 496 else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector)) && amdgpu_atombios_encoder_get_encoder_mode() 516 else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector)) && amdgpu_atombios_encoder_get_encoder_mode() 580 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_setup_dig_encoder() local 588 if (connector) { amdgpu_atombios_encoder_setup_dig_encoder() 589 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_setup_dig_encoder() 727 struct drm_connector *connector; amdgpu_atombios_encoder_setup_dig_transmitter() local 741 connector = amdgpu_get_connector_for_encoder_init(encoder); amdgpu_atombios_encoder_setup_dig_transmitter() 747 connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_setup_dig_transmitter() 749 if (connector) { amdgpu_atombios_encoder_setup_dig_transmitter() 750 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_setup_dig_transmitter() 1087 amdgpu_atombios_encoder_set_edp_panel_power(struct drm_connector *connector, amdgpu_atombios_encoder_set_edp_panel_power() argument 1090 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_set_edp_panel_power() 1097 if (connector->connector_type != DRM_MODE_CONNECTOR_eDP) amdgpu_atombios_encoder_set_edp_panel_power() 1143 struct drm_connector *connector; amdgpu_atombios_encoder_setup_external_encoder() local 1152 connector = amdgpu_get_connector_for_encoder_init(encoder); amdgpu_atombios_encoder_setup_external_encoder() 1154 connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_setup_external_encoder() 1156 if (connector) { amdgpu_atombios_encoder_setup_external_encoder() 1157 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_setup_external_encoder() 1244 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_setup_dig() local 1248 if (connector) { amdgpu_atombios_encoder_setup_dig() 1249 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_setup_dig() 1254 if (!connector) amdgpu_atombios_encoder_setup_dig() 1257 dig->panel_mode = amdgpu_atombios_dp_get_panel_mode(encoder, connector); amdgpu_atombios_encoder_setup_dig() 1268 connector) { amdgpu_atombios_encoder_setup_dig() 1269 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { amdgpu_atombios_encoder_setup_dig() 1270 amdgpu_atombios_encoder_set_edp_panel_power(connector, amdgpu_atombios_encoder_setup_dig() 1280 connector) { amdgpu_atombios_encoder_setup_dig() 1282 amdgpu_atombios_dp_link_train(encoder, connector); amdgpu_atombios_encoder_setup_dig() 1291 connector) amdgpu_atombios_encoder_setup_dig() 1301 connector) amdgpu_atombios_encoder_setup_dig() 1302 amdgpu_atombios_dp_set_rx_power_state(connector, DP_SET_POWER_D3); amdgpu_atombios_encoder_setup_dig() 1307 connector) { amdgpu_atombios_encoder_setup_dig() 1308 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { amdgpu_atombios_encoder_setup_dig() 1309 amdgpu_atombios_encoder_set_edp_panel_power(connector, amdgpu_atombios_encoder_setup_dig() 1439 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_set_crtc_source() local 1441 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) amdgpu_atombios_encoder_set_crtc_source() 1443 else if (connector->connector_type == DRM_MODE_CONNECTOR_VGA) amdgpu_atombios_encoder_set_crtc_source() 1507 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_atombios_encoder_set_crtc_source() local 1509 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) amdgpu_atombios_encoder_set_crtc_source() 1511 else if (connector->connector_type == DRM_MODE_CONNECTOR_VGA) amdgpu_atombios_encoder_set_crtc_source() 1612 struct drm_connector *connector) amdgpu_atombios_encoder_dac_load_detect() 1617 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_dac_load_detect() 1662 struct drm_connector *connector) amdgpu_atombios_encoder_dac_detect() 1667 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_dac_detect() 1670 if (!amdgpu_atombios_encoder_dac_load_detect(encoder, connector)) { amdgpu_atombios_encoder_dac_detect() 1701 struct drm_connector *connector) amdgpu_atombios_encoder_dig_detect() 1706 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_encoder_dig_detect() 1757 amdgpu_atombios_encoder_set_bios_scratch_regs(struct drm_connector *connector, amdgpu_atombios_encoder_set_bios_scratch_regs() argument 1761 struct drm_device *dev = connector->dev; amdgpu_atombios_encoder_set_bios_scratch_regs() 1764 to_amdgpu_connector(connector); amdgpu_atombios_encoder_set_bios_scratch_regs() 1611 amdgpu_atombios_encoder_dac_load_detect(struct drm_encoder *encoder, struct drm_connector *connector) amdgpu_atombios_encoder_dac_load_detect() argument 1661 amdgpu_atombios_encoder_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector) amdgpu_atombios_encoder_dac_detect() argument 1700 amdgpu_atombios_encoder_dig_detect(struct drm_encoder *encoder, struct drm_connector *connector) amdgpu_atombios_encoder_dig_detect() argument
|
H A D | atombios_dp.c | 268 static int amdgpu_atombios_dp_get_dp_lane_number(struct drm_connector *connector, amdgpu_atombios_dp_get_dp_lane_number() argument 272 int bpp = amdgpu_atombios_dp_convert_bpc_to_bpp(amdgpu_connector_get_monitor_bpc(connector)); amdgpu_atombios_dp_get_dp_lane_number() 287 static int amdgpu_atombios_dp_get_dp_link_clock(struct drm_connector *connector, amdgpu_atombios_dp_get_dp_link_clock() argument 291 int bpp = amdgpu_atombios_dp_convert_bpc_to_bpp(amdgpu_connector_get_monitor_bpc(connector)); amdgpu_atombios_dp_get_dp_link_clock() 294 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) == amdgpu_atombios_dp_get_dp_link_clock() 298 lane_num = amdgpu_atombios_dp_get_dp_lane_number(connector, dpcd, pix_clock); amdgpu_atombios_dp_get_dp_link_clock() 305 if (amdgpu_connector_is_dp12_capable(connector)) { amdgpu_atombios_dp_get_dp_link_clock() 383 struct drm_connector *connector) amdgpu_atombios_dp_get_panel_mode() 385 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_dp_get_panel_mode() 388 u16 dp_bridge = amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector); amdgpu_atombios_dp_get_panel_mode() 408 } else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { amdgpu_atombios_dp_get_panel_mode() 420 void amdgpu_atombios_dp_set_link_config(struct drm_connector *connector, amdgpu_atombios_dp_set_link_config() argument 423 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_dp_set_link_config() 433 amdgpu_atombios_dp_get_dp_link_clock(connector, dig_connector->dpcd, mode->clock); amdgpu_atombios_dp_set_link_config() 435 amdgpu_atombios_dp_get_dp_lane_number(connector, dig_connector->dpcd, mode->clock); amdgpu_atombios_dp_set_link_config() 439 int amdgpu_atombios_dp_mode_valid_helper(struct drm_connector *connector, amdgpu_atombios_dp_mode_valid_helper() argument 442 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_dp_mode_valid_helper() 451 amdgpu_atombios_dp_get_dp_link_clock(connector, dig_connector->dpcd, mode->clock); amdgpu_atombios_dp_mode_valid_helper() 454 (!amdgpu_connector_is_dp12_capable(connector))) amdgpu_atombios_dp_mode_valid_helper() 473 void amdgpu_atombios_dp_set_rx_power_state(struct drm_connector *connector, amdgpu_atombios_dp_set_rx_power_state() argument 476 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_dp_set_rx_power_state() 495 struct drm_connector *connector; member in struct:amdgpu_atombios_dp_link_train_info 550 amdgpu_atombios_dp_set_rx_power_state(dp_info->connector, DP_SET_POWER_D0); amdgpu_atombios_dp_link_train_init() 725 struct drm_connector *connector) amdgpu_atombios_dp_link_train() 740 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_atombios_dp_link_train() 762 dp_info.connector = connector; amdgpu_atombios_dp_link_train() 382 amdgpu_atombios_dp_get_panel_mode(struct drm_encoder *encoder, struct drm_connector *connector) amdgpu_atombios_dp_get_panel_mode() argument 724 amdgpu_atombios_dp_link_train(struct drm_encoder *encoder, struct drm_connector *connector) amdgpu_atombios_dp_link_train() argument
|
H A D | dce_v8_0.c | 387 struct drm_connector *connector; dce_v8_0_hpd_init() local 392 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { dce_v8_0_hpd_init() 393 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v8_0_hpd_init() 395 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || dce_v8_0_hpd_init() 396 connector->connector_type == DRM_MODE_CONNECTOR_LVDS) { dce_v8_0_hpd_init() 442 struct drm_connector *connector; dce_v8_0_hpd_fini() local 444 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { dce_v8_0_hpd_fini() 445 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v8_0_hpd_fini() 663 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v8_0_program_fmt() local 668 if (connector) { dce_v8_0_program_fmt() 669 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v8_0_program_fmt() 670 bpc = amdgpu_connector_get_monitor_bpc(connector); dce_v8_0_program_fmt() 1392 struct drm_connector *connector; dce_v8_0_audio_write_latency_fields() local 1401 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v8_0_audio_write_latency_fields() 1402 if (connector->encoder == encoder) { dce_v8_0_audio_write_latency_fields() 1403 amdgpu_connector = to_amdgpu_connector(connector); dce_v8_0_audio_write_latency_fields() 1409 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v8_0_audio_write_latency_fields() 1414 if (connector->latency_present[1]) dce_v8_0_audio_write_latency_fields() 1416 (connector->video_latency[1] << dce_v8_0_audio_write_latency_fields() 1418 (connector->audio_latency[1] << dce_v8_0_audio_write_latency_fields() 1427 if (connector->latency_present[0]) dce_v8_0_audio_write_latency_fields() 1429 (connector->video_latency[0] << dce_v8_0_audio_write_latency_fields() 1431 (connector->audio_latency[0] << dce_v8_0_audio_write_latency_fields() 1449 struct drm_connector *connector; dce_v8_0_audio_write_speaker_allocation() local 1460 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v8_0_audio_write_speaker_allocation() 1461 if (connector->encoder == encoder) { dce_v8_0_audio_write_speaker_allocation() 1462 amdgpu_connector = to_amdgpu_connector(connector); dce_v8_0_audio_write_speaker_allocation() 1468 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v8_0_audio_write_speaker_allocation() 1472 sad_count = drm_edid_to_speaker_allocation(amdgpu_connector_edid(connector), &sadb); dce_v8_0_audio_write_speaker_allocation() 1499 struct drm_connector *connector; dce_v8_0_audio_write_sad_regs() local 1524 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v8_0_audio_write_sad_regs() 1525 if (connector->encoder == encoder) { dce_v8_0_audio_write_sad_regs() 1526 amdgpu_connector = to_amdgpu_connector(connector); dce_v8_0_audio_write_sad_regs() 1532 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v8_0_audio_write_sad_regs() 1536 sad_count = drm_edid_to_sad(amdgpu_connector_edid(connector), &sads); dce_v8_0_audio_write_sad_regs() 1730 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v8_0_afmt_setmode() local 1773 connector->name, bpc); dce_v8_0_afmt_setmode() 1779 connector->name); dce_v8_0_afmt_setmode() 1785 connector->name); dce_v8_0_afmt_setmode() 2713 amdgpu_crtc->connector = NULL; dce_v8_0_crtc_disable() 2750 amdgpu_crtc->connector = amdgpu_get_connector_for_encoder(encoder); dce_v8_0_crtc_mode_fixup() 2754 if ((amdgpu_crtc->encoder == NULL) || (amdgpu_crtc->connector == NULL)) { dce_v8_0_crtc_mode_fixup() 2756 amdgpu_crtc->connector = NULL; dce_v8_0_crtc_mode_fixup() 2831 amdgpu_crtc->connector = NULL; dce_v8_0_crtc_init() 3466 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v8_0_encoder_prepare() local 3482 if (connector) { dce_v8_0_encoder_prepare() 3483 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v8_0_encoder_prepare() 3490 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) dce_v8_0_encoder_prepare() 3491 amdgpu_atombios_encoder_set_edp_panel_power(connector, dce_v8_0_encoder_prepare()
|
H A D | dce_v10_0.c | 415 struct drm_connector *connector; dce_v10_0_hpd_init() local 419 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { dce_v10_0_hpd_init() 420 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v10_0_hpd_init() 422 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || dce_v10_0_hpd_init() 423 connector->connector_type == DRM_MODE_CONNECTOR_LVDS) { dce_v10_0_hpd_init() 485 struct drm_connector *connector; dce_v10_0_hpd_fini() local 489 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { dce_v10_0_hpd_fini() 490 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v10_0_hpd_fini() 715 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v10_0_program_fmt() local 720 if (connector) { dce_v10_0_program_fmt() 721 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v10_0_program_fmt() 722 bpc = amdgpu_connector_get_monitor_bpc(connector); dce_v10_0_program_fmt() 1446 struct drm_connector *connector; dce_v10_0_audio_write_latency_fields() local 1454 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v10_0_audio_write_latency_fields() 1455 if (connector->encoder == encoder) { dce_v10_0_audio_write_latency_fields() 1456 amdgpu_connector = to_amdgpu_connector(connector); dce_v10_0_audio_write_latency_fields() 1462 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v10_0_audio_write_latency_fields() 1468 if (connector->latency_present[interlace]) { dce_v10_0_audio_write_latency_fields() 1470 VIDEO_LIPSYNC, connector->video_latency[interlace]); dce_v10_0_audio_write_latency_fields() 1472 AUDIO_LIPSYNC, connector->audio_latency[interlace]); dce_v10_0_audio_write_latency_fields() 1488 struct drm_connector *connector; dce_v10_0_audio_write_speaker_allocation() local 1497 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v10_0_audio_write_speaker_allocation() 1498 if (connector->encoder == encoder) { dce_v10_0_audio_write_speaker_allocation() 1499 amdgpu_connector = to_amdgpu_connector(connector); dce_v10_0_audio_write_speaker_allocation() 1505 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v10_0_audio_write_speaker_allocation() 1509 sad_count = drm_edid_to_speaker_allocation(amdgpu_connector_edid(connector), &sadb); dce_v10_0_audio_write_speaker_allocation() 1540 struct drm_connector *connector; dce_v10_0_audio_write_sad_regs() local 1563 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v10_0_audio_write_sad_regs() 1564 if (connector->encoder == encoder) { dce_v10_0_audio_write_sad_regs() 1565 amdgpu_connector = to_amdgpu_connector(connector); dce_v10_0_audio_write_sad_regs() 1571 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v10_0_audio_write_sad_regs() 1575 sad_count = drm_edid_to_sad(amdgpu_connector_edid(connector), &sads); dce_v10_0_audio_write_sad_regs() 1775 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v10_0_afmt_setmode() local 1817 connector->name, bpc); dce_v10_0_afmt_setmode() 1823 connector->name); dce_v10_0_afmt_setmode() 1829 connector->name); dce_v10_0_afmt_setmode() 2794 amdgpu_crtc->connector = NULL; dce_v10_0_crtc_disable() 2831 amdgpu_crtc->connector = amdgpu_get_connector_for_encoder(encoder); dce_v10_0_crtc_mode_fixup() 2835 if ((amdgpu_crtc->encoder == NULL) || (amdgpu_crtc->connector == NULL)) { dce_v10_0_crtc_mode_fixup() 2837 amdgpu_crtc->connector = NULL; dce_v10_0_crtc_mode_fixup() 2932 amdgpu_crtc->connector = NULL; dce_v10_0_crtc_init() 3536 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v10_0_encoder_prepare() local 3552 if (connector) { dce_v10_0_encoder_prepare() 3553 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v10_0_encoder_prepare() 3560 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) dce_v10_0_encoder_prepare() 3561 amdgpu_atombios_encoder_set_edp_panel_power(connector, dce_v10_0_encoder_prepare()
|
H A D | dce_v11_0.c | 405 struct drm_connector *connector; dce_v11_0_hpd_init() local 409 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { dce_v11_0_hpd_init() 410 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v11_0_hpd_init() 412 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || dce_v11_0_hpd_init() 413 connector->connector_type == DRM_MODE_CONNECTOR_LVDS) { dce_v11_0_hpd_init() 474 struct drm_connector *connector; dce_v11_0_hpd_fini() local 478 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { dce_v11_0_hpd_fini() 479 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v11_0_hpd_fini() 703 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v11_0_program_fmt() local 708 if (connector) { dce_v11_0_program_fmt() 709 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v11_0_program_fmt() 710 bpc = amdgpu_connector_get_monitor_bpc(connector); dce_v11_0_program_fmt() 1434 struct drm_connector *connector; dce_v11_0_audio_write_latency_fields() local 1442 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v11_0_audio_write_latency_fields() 1443 if (connector->encoder == encoder) { dce_v11_0_audio_write_latency_fields() 1444 amdgpu_connector = to_amdgpu_connector(connector); dce_v11_0_audio_write_latency_fields() 1450 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v11_0_audio_write_latency_fields() 1456 if (connector->latency_present[interlace]) { dce_v11_0_audio_write_latency_fields() 1458 VIDEO_LIPSYNC, connector->video_latency[interlace]); dce_v11_0_audio_write_latency_fields() 1460 AUDIO_LIPSYNC, connector->audio_latency[interlace]); dce_v11_0_audio_write_latency_fields() 1476 struct drm_connector *connector; dce_v11_0_audio_write_speaker_allocation() local 1485 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v11_0_audio_write_speaker_allocation() 1486 if (connector->encoder == encoder) { dce_v11_0_audio_write_speaker_allocation() 1487 amdgpu_connector = to_amdgpu_connector(connector); dce_v11_0_audio_write_speaker_allocation() 1493 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v11_0_audio_write_speaker_allocation() 1497 sad_count = drm_edid_to_speaker_allocation(amdgpu_connector_edid(connector), &sadb); dce_v11_0_audio_write_speaker_allocation() 1528 struct drm_connector *connector; dce_v11_0_audio_write_sad_regs() local 1551 list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) { dce_v11_0_audio_write_sad_regs() 1552 if (connector->encoder == encoder) { dce_v11_0_audio_write_sad_regs() 1553 amdgpu_connector = to_amdgpu_connector(connector); dce_v11_0_audio_write_sad_regs() 1559 DRM_ERROR("Couldn't find encoder's connector\n"); dce_v11_0_audio_write_sad_regs() 1563 sad_count = drm_edid_to_sad(amdgpu_connector_edid(connector), &sads); dce_v11_0_audio_write_sad_regs() 1763 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v11_0_afmt_setmode() local 1805 connector->name, bpc); dce_v11_0_afmt_setmode() 1811 connector->name); dce_v11_0_afmt_setmode() 1817 connector->name); dce_v11_0_afmt_setmode() 2783 amdgpu_crtc->connector = NULL; dce_v11_0_crtc_disable() 2820 amdgpu_crtc->connector = amdgpu_get_connector_for_encoder(encoder); dce_v11_0_crtc_mode_fixup() 2824 if ((amdgpu_crtc->encoder == NULL) || (amdgpu_crtc->connector == NULL)) { dce_v11_0_crtc_mode_fixup() 2826 amdgpu_crtc->connector = NULL; dce_v11_0_crtc_mode_fixup() 2921 amdgpu_crtc->connector = NULL; dce_v11_0_crtc_init() 3529 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); dce_v11_0_encoder_prepare() local 3545 if (connector) { dce_v11_0_encoder_prepare() 3546 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); dce_v11_0_encoder_prepare() 3553 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) dce_v11_0_encoder_prepare() 3554 amdgpu_atombios_encoder_set_edp_panel_power(connector, dce_v11_0_encoder_prepare()
|
H A D | amdgpu_display.c | 380 struct drm_connector *connector; amdgpu_print_display_setup() local 388 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { amdgpu_print_display_setup() 389 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_print_display_setup() 391 DRM_INFO(" %s\n", connector->name); amdgpu_print_display_setup() 413 if (connector->connector_type == DRM_MODE_CONNECTOR_VGA || amdgpu_print_display_setup() 414 connector->connector_type == DRM_MODE_CONNECTOR_DVII || amdgpu_print_display_setup() 415 connector->connector_type == DRM_MODE_CONNECTOR_DVID || amdgpu_print_display_setup() 416 connector->connector_type == DRM_MODE_CONNECTOR_DVIA || amdgpu_print_display_setup() 417 connector->connector_type == DRM_MODE_CONNECTOR_HDMIA || amdgpu_print_display_setup() 418 connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) amdgpu_print_display_setup() 490 /* Couldn't find an accessible DDC on this connector */ amdgpu_ddc_probe() 499 * connector */ amdgpu_ddc_probe() 689 struct drm_connector *connector; amdgpu_crtc_scaling_mode_fixup() local 701 connector = amdgpu_get_connector_for_encoder(encoder); amdgpu_crtc_scaling_mode_fixup() 702 amdgpu_connector = to_amdgpu_connector(connector); amdgpu_crtc_scaling_mode_fixup() 725 drm_detect_hdmi_monitor(amdgpu_connector_edid(connector)) && amdgpu_crtc_scaling_mode_fixup()
|
/linux-4.4.14/drivers/gpu/drm/radeon/ |
H A D | radeon_connectors.c | 38 static int radeon_dp_handle_hpd(struct drm_connector *connector) radeon_dp_handle_hpd() argument 40 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_handle_hpd() 48 void radeon_connector_hotplug(struct drm_connector *connector) radeon_connector_hotplug() argument 50 struct drm_device *dev = connector->dev; radeon_connector_hotplug() 52 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_connector_hotplug() 54 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { radeon_connector_hotplug() 61 radeon_dp_handle_hpd(connector); radeon_connector_hotplug() 65 /* bail if the connector does not have hpd pin, e.g., radeon_connector_hotplug() 73 /* if the connector is already off, don't turn it back on */ radeon_connector_hotplug() 75 if (connector->dpms != DRM_MODE_DPMS_ON) radeon_connector_hotplug() 79 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { radeon_connector_hotplug() 93 int saved_dpms = connector->dpms; radeon_connector_hotplug() 96 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); radeon_connector_hotplug() 107 connector->dpms = DRM_MODE_DPMS_OFF; radeon_connector_hotplug() 108 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); radeon_connector_hotplug() 110 connector->dpms = saved_dpms; radeon_connector_hotplug() 125 int radeon_get_monitor_bpc(struct drm_connector *connector) radeon_get_monitor_bpc() argument 127 struct drm_device *dev = connector->dev; radeon_get_monitor_bpc() 129 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_get_monitor_bpc() 134 switch (connector->connector_type) { radeon_get_monitor_bpc() 138 if (drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_get_monitor_bpc() 139 if (connector->display_info.bpc) radeon_get_monitor_bpc() 140 bpc = connector->display_info.bpc; radeon_get_monitor_bpc() 146 if (drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_get_monitor_bpc() 147 if (connector->display_info.bpc) radeon_get_monitor_bpc() 148 bpc = connector->display_info.bpc; radeon_get_monitor_bpc() 155 drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_get_monitor_bpc() 156 if (connector->display_info.bpc) radeon_get_monitor_bpc() 157 bpc = connector->display_info.bpc; radeon_get_monitor_bpc() 162 if (connector->display_info.bpc) radeon_get_monitor_bpc() 163 bpc = connector->display_info.bpc; radeon_get_monitor_bpc() 166 connector->helper_private; radeon_get_monitor_bpc() 167 struct drm_encoder *encoder = connector_funcs->best_encoder(connector); radeon_get_monitor_bpc() 179 if (drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_get_monitor_bpc() 183 connector->name, bpc); radeon_get_monitor_bpc() 195 connector->name, bpc); radeon_get_monitor_bpc() 200 if (connector->max_tmds_clock > 0) { radeon_get_monitor_bpc() 201 /* mode_clock is clock in kHz for mode to be modeset on this connector */ radeon_get_monitor_bpc() 205 max_tmds_clock = connector->max_tmds_clock * 1000; radeon_get_monitor_bpc() 208 connector->name, mode_clock, max_tmds_clock); radeon_get_monitor_bpc() 212 if ((connector->display_info.edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_30) && radeon_get_monitor_bpc() 219 connector->name, bpc); radeon_get_monitor_bpc() 225 connector->name, bpc); radeon_get_monitor_bpc() 231 connector->name); radeon_get_monitor_bpc() 238 connector->name); radeon_get_monitor_bpc() 243 connector->name, connector->display_info.bpc, bpc); radeon_get_monitor_bpc() 249 radeon_connector_update_scratch_regs(struct drm_connector *connector, enum drm_connector_status status) radeon_connector_update_scratch_regs() argument 251 struct drm_device *dev = connector->dev; radeon_connector_update_scratch_regs() 255 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; radeon_connector_update_scratch_regs() 259 best_encoder = connector_funcs->best_encoder(connector); radeon_connector_update_scratch_regs() 262 if (connector->encoder_ids[i] == 0) radeon_connector_update_scratch_regs() 265 encoder = drm_encoder_find(connector->dev, radeon_connector_update_scratch_regs() 266 connector->encoder_ids[i]); radeon_connector_update_scratch_regs() 276 radeon_atombios_connected_scratch_regs(connector, encoder, connected); radeon_connector_update_scratch_regs() 278 radeon_combios_connected_scratch_regs(connector, encoder, connected); radeon_connector_update_scratch_regs() 283 static struct drm_encoder *radeon_find_encoder(struct drm_connector *connector, int encoder_type) radeon_find_encoder() argument 289 if (connector->encoder_ids[i] == 0) radeon_find_encoder() 292 encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); radeon_find_encoder() 302 struct edid *radeon_connector_edid(struct drm_connector *connector) radeon_connector_edid() argument 304 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_connector_edid() 305 struct drm_property_blob *edid_blob = connector->edid_blob_ptr; radeon_connector_edid() 317 static void radeon_connector_get_edid(struct drm_connector *connector) radeon_connector_get_edid() argument 319 struct drm_device *dev = connector->dev; radeon_connector_get_edid() 321 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_connector_get_edid() 330 if ((radeon_connector_encoder_get_dp_bridge_encoder_id(connector) != radeon_connector_get_edid() 333 radeon_connector->edid = drm_get_edid(connector, radeon_connector_get_edid() 335 } else if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) || radeon_connector_get_edid() 336 (connector->connector_type == DRM_MODE_CONNECTOR_eDP)) { radeon_connector_get_edid() 361 if (((connector->connector_type == DRM_MODE_CONNECTOR_LVDS) || radeon_connector_get_edid() 362 (connector->connector_type == DRM_MODE_CONNECTOR_eDP))) radeon_connector_get_edid() 371 static void radeon_connector_free_edid(struct drm_connector *connector) radeon_connector_free_edid() argument 373 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_connector_free_edid() 381 static int radeon_ddc_get_modes(struct drm_connector *connector) radeon_ddc_get_modes() argument 383 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_ddc_get_modes() 387 drm_mode_connector_update_edid_property(connector, radeon_connector->edid); radeon_ddc_get_modes() 388 ret = drm_add_edid_modes(connector, radeon_connector->edid); radeon_ddc_get_modes() 389 drm_edid_to_eld(connector, radeon_connector->edid); radeon_ddc_get_modes() 392 drm_mode_connector_update_edid_property(connector, NULL); radeon_ddc_get_modes() 396 static struct drm_encoder *radeon_best_single_encoder(struct drm_connector *connector) radeon_best_single_encoder() argument 398 int enc_id = connector->encoder_ids[0]; radeon_best_single_encoder() 401 return drm_encoder_find(connector->dev, enc_id); radeon_best_single_encoder() 405 static void radeon_get_native_mode(struct drm_connector *connector) radeon_get_native_mode() argument 407 struct drm_encoder *encoder = radeon_best_single_encoder(connector); radeon_get_native_mode() 415 if (!list_empty(&connector->probed_modes)) { radeon_get_native_mode() 417 list_first_entry(&connector->probed_modes, radeon_get_native_mode() 433 radeon_connector_analog_encoder_conflict_solve(struct drm_connector *connector, radeon_connector_analog_encoder_conflict_solve() argument 438 struct drm_device *dev = connector->dev; radeon_connector_analog_encoder_conflict_solve() 444 if (conflict == connector) radeon_connector_analog_encoder_conflict_solve() 464 connector->name); radeon_connector_analog_encoder_conflict_solve() 469 connector->name); radeon_connector_analog_encoder_conflict_solve() 513 static void radeon_add_common_modes(struct drm_encoder *encoder, struct drm_connector *connector) radeon_add_common_modes() argument 560 drm_mode_probed_add(connector, mode); radeon_add_common_modes() 564 static int radeon_connector_set_property(struct drm_connector *connector, struct drm_property *property, radeon_connector_set_property() argument 567 struct drm_device *dev = connector->dev; radeon_connector_set_property() 576 /* need to find digital encoder on connector */ radeon_connector_set_property() 577 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS); radeon_connector_set_property() 595 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_connector_set_property() 596 /* need to find digital encoder on connector */ radeon_connector_set_property() 597 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS); radeon_connector_set_property() 610 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_connector_set_property() 611 /* need to find digital encoder on connector */ radeon_connector_set_property() 612 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS); radeon_connector_set_property() 625 /* need to find digital encoder on connector */ radeon_connector_set_property() 626 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS); radeon_connector_set_property() 639 /* need to find digital encoder on connector */ radeon_connector_set_property() 640 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS); radeon_connector_set_property() 653 /* need to find digital encoder on connector */ radeon_connector_set_property() 654 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS); radeon_connector_set_property() 667 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TVDAC); radeon_connector_set_property() 669 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_DAC); radeon_connector_set_property() 692 to_radeon_connector(connector); radeon_connector_set_property() 703 /* need to find digital encoder on connector */ radeon_connector_set_property() 704 encoder = radeon_find_encoder(connector, DRM_MODE_ENCODER_TMDS); radeon_connector_set_property() 729 if (connector->encoder) radeon_connector_set_property() 730 radeon_encoder = to_radeon_encoder(connector->encoder); radeon_connector_set_property() 732 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; radeon_connector_set_property() 733 radeon_encoder = to_radeon_encoder(connector_funcs->best_encoder(connector)); radeon_connector_set_property() 756 if (connector->encoder) radeon_connector_set_property() 757 radeon_encoder = to_radeon_encoder(connector->encoder); radeon_connector_set_property() 759 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; radeon_connector_set_property() 760 radeon_encoder = to_radeon_encoder(connector_funcs->best_encoder(connector)); radeon_connector_set_property() 768 if (connector->encoder->crtc) { radeon_connector_set_property() 769 struct drm_crtc *crtc = connector->encoder->crtc; radeon_connector_set_property() 783 struct drm_connector *connector) radeon_fixup_lvds_native_mode() 790 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { radeon_fixup_lvds_native_mode() 800 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { radeon_fixup_lvds_native_mode() 817 static int radeon_lvds_get_modes(struct drm_connector *connector) radeon_lvds_get_modes() argument 823 radeon_connector_get_edid(connector); radeon_lvds_get_modes() 824 ret = radeon_ddc_get_modes(connector); radeon_lvds_get_modes() 826 encoder = radeon_best_single_encoder(connector); radeon_lvds_get_modes() 828 radeon_fixup_lvds_native_mode(encoder, connector); radeon_lvds_get_modes() 830 radeon_add_common_modes(encoder, connector); radeon_lvds_get_modes() 835 encoder = radeon_best_single_encoder(connector); radeon_lvds_get_modes() 843 drm_mode_probed_add(connector, mode); radeon_lvds_get_modes() 845 connector->display_info.width_mm = mode->width_mm; radeon_lvds_get_modes() 846 connector->display_info.height_mm = mode->height_mm; radeon_lvds_get_modes() 848 radeon_add_common_modes(encoder, connector); radeon_lvds_get_modes() 854 static int radeon_lvds_mode_valid(struct drm_connector *connector, radeon_lvds_mode_valid() argument 857 struct drm_encoder *encoder = radeon_best_single_encoder(connector); radeon_lvds_mode_valid() 885 radeon_lvds_detect(struct drm_connector *connector, bool force) radeon_lvds_detect() argument 887 struct drm_device *dev = connector->dev; radeon_lvds_detect() 889 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_lvds_detect() 890 struct drm_encoder *encoder = radeon_best_single_encoder(connector); radeon_lvds_detect() 894 r = pm_runtime_get_sync(connector->dev->dev); radeon_lvds_detect() 913 radeon_connector_get_edid(connector); radeon_lvds_detect() 918 radeon_connector_update_scratch_regs(connector, ret); radeon_lvds_detect() 919 pm_runtime_mark_last_busy(connector->dev->dev); radeon_lvds_detect() 920 pm_runtime_put_autosuspend(connector->dev->dev); radeon_lvds_detect() 924 static void radeon_connector_destroy(struct drm_connector *connector) radeon_connector_destroy() argument 926 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_connector_destroy() 928 radeon_connector_free_edid(connector); radeon_connector_destroy() 930 drm_connector_unregister(connector); radeon_connector_destroy() 931 drm_connector_cleanup(connector); radeon_connector_destroy() 932 kfree(connector); radeon_connector_destroy() 935 static int radeon_lvds_set_property(struct drm_connector *connector, radeon_lvds_set_property() argument 939 struct drm_device *dev = connector->dev; radeon_lvds_set_property() 947 if (connector->encoder) radeon_lvds_set_property() 948 radeon_encoder = to_radeon_encoder(connector->encoder); radeon_lvds_set_property() 950 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; radeon_lvds_set_property() 951 radeon_encoder = to_radeon_encoder(connector_funcs->best_encoder(connector)); radeon_lvds_set_property() 985 static int radeon_vga_get_modes(struct drm_connector *connector) radeon_vga_get_modes() argument 989 radeon_connector_get_edid(connector); radeon_vga_get_modes() 990 ret = radeon_ddc_get_modes(connector); radeon_vga_get_modes() 992 radeon_get_native_mode(connector); radeon_vga_get_modes() 997 static int radeon_vga_mode_valid(struct drm_connector *connector, radeon_vga_mode_valid() argument 1000 struct drm_device *dev = connector->dev; radeon_vga_mode_valid() 1012 radeon_vga_detect(struct drm_connector *connector, bool force) radeon_vga_detect() argument 1014 struct drm_device *dev = connector->dev; radeon_vga_detect() 1016 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_vga_detect() 1023 r = pm_runtime_get_sync(connector->dev->dev); radeon_vga_detect() 1027 encoder = radeon_best_single_encoder(connector); radeon_vga_detect() 1035 radeon_connector_free_edid(connector); radeon_vga_detect() 1036 radeon_connector_get_edid(connector); radeon_vga_detect() 1040 connector->name); radeon_vga_detect() 1050 radeon_connector_free_edid(connector); radeon_vga_detect() 1064 ret = connector->status; radeon_vga_detect() 1070 ret = encoder_funcs->detect(encoder, connector); radeon_vga_detect() 1077 ret = radeon_connector_analog_encoder_conflict_solve(connector, encoder, ret, true); radeon_vga_detect() 1089 radeon_connector_update_scratch_regs(connector, ret); radeon_vga_detect() 1092 pm_runtime_mark_last_busy(connector->dev->dev); radeon_vga_detect() 1093 pm_runtime_put_autosuspend(connector->dev->dev); radeon_vga_detect() 1112 static int radeon_tv_get_modes(struct drm_connector *connector) radeon_tv_get_modes() argument 1114 struct drm_device *dev = connector->dev; radeon_tv_get_modes() 1119 encoder = radeon_best_single_encoder(connector); radeon_tv_get_modes() 1126 radeon_add_common_modes(encoder, connector); radeon_tv_get_modes() 1131 drm_mode_probed_add(connector, tv_mode); radeon_tv_get_modes() 1136 static int radeon_tv_mode_valid(struct drm_connector *connector, radeon_tv_mode_valid() argument 1145 radeon_tv_detect(struct drm_connector *connector, bool force) radeon_tv_detect() argument 1149 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_tv_detect() 1156 r = pm_runtime_get_sync(connector->dev->dev); radeon_tv_detect() 1160 encoder = radeon_best_single_encoder(connector); radeon_tv_detect() 1165 ret = encoder_funcs->detect(encoder, connector); radeon_tv_detect() 1168 ret = radeon_connector_analog_encoder_conflict_solve(connector, encoder, ret, false); radeon_tv_detect() 1169 radeon_connector_update_scratch_regs(connector, ret); radeon_tv_detect() 1170 pm_runtime_mark_last_busy(connector->dev->dev); radeon_tv_detect() 1171 pm_runtime_put_autosuspend(connector->dev->dev); radeon_tv_detect() 1189 static bool radeon_check_hpd_status_unchanged(struct drm_connector *connector) radeon_check_hpd_status_unchanged() argument 1191 struct drm_device *dev = connector->dev; radeon_check_hpd_status_unchanged() 1193 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_check_hpd_status_unchanged() 1203 if (connector->status == status) radeon_check_hpd_status_unchanged() 1215 * we need to find the DAC encoder object for this connector. 1219 * if its shared we have to set the other connector to disconnected. 1222 radeon_dvi_detect(struct drm_connector *connector, bool force) radeon_dvi_detect() argument 1224 struct drm_device *dev = connector->dev; radeon_dvi_detect() 1226 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dvi_detect() 1233 r = pm_runtime_get_sync(connector->dev->dev); radeon_dvi_detect() 1242 if (!force && radeon_check_hpd_status_unchanged(connector)) { radeon_dvi_detect() 1243 ret = connector->status; radeon_dvi_detect() 1255 connector->status != connector_status_connected) { radeon_dvi_detect() 1265 radeon_connector_free_edid(connector); radeon_dvi_detect() 1266 radeon_connector_get_edid(connector); radeon_dvi_detect() 1270 connector->name); radeon_dvi_detect() 1277 connector->name); radeon_dvi_detect() 1291 radeon_connector_free_edid(connector); radeon_dvi_detect() 1305 if (connector == list_connector) radeon_dvi_detect() 1315 radeon_connector_free_edid(connector); radeon_dvi_detect() 1329 if ((connector->connector_type == DRM_MODE_CONNECTOR_DVID) || radeon_dvi_detect() 1330 (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA)) radeon_dvi_detect() 1339 ret = connector->status; radeon_dvi_detect() 1346 if (connector->encoder_ids[i] == 0) radeon_dvi_detect() 1349 encoder = drm_encoder_find(connector->dev, radeon_dvi_detect() 1350 connector->encoder_ids[i]); radeon_dvi_detect() 1363 ret = encoder_funcs->detect(encoder, connector); radeon_dvi_detect() 1374 lret = encoder_funcs->detect(encoder, connector); radeon_dvi_detect() 1386 ret = radeon_connector_analog_encoder_conflict_solve(connector, encoder, ret, true); radeon_dvi_detect() 1404 radeon_connector_update_scratch_regs(connector, ret); radeon_dvi_detect() 1408 connector->helper_private; radeon_dvi_detect() 1410 encoder = connector_funcs->best_encoder(connector); radeon_dvi_detect() 1412 radeon_connector_get_edid(connector); radeon_dvi_detect() 1413 radeon_audio_detect(connector, encoder, ret); radeon_dvi_detect() 1418 pm_runtime_mark_last_busy(connector->dev->dev); radeon_dvi_detect() 1419 pm_runtime_put_autosuspend(connector->dev->dev); radeon_dvi_detect() 1425 static struct drm_encoder *radeon_dvi_encoder(struct drm_connector *connector) radeon_dvi_encoder() argument 1427 int enc_id = connector->encoder_ids[0]; radeon_dvi_encoder() 1428 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dvi_encoder() 1432 if (connector->encoder_ids[i] == 0) radeon_dvi_encoder() 1435 encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); radeon_dvi_encoder() 1454 return drm_encoder_find(connector->dev, enc_id); radeon_dvi_encoder() 1458 static void radeon_dvi_force(struct drm_connector *connector) radeon_dvi_force() argument 1460 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dvi_force() 1461 if (connector->force == DRM_FORCE_ON) radeon_dvi_force() 1463 if (connector->force == DRM_FORCE_ON_DIGITAL) radeon_dvi_force() 1467 static int radeon_dvi_mode_valid(struct drm_connector *connector, radeon_dvi_mode_valid() argument 1470 struct drm_device *dev = connector->dev; radeon_dvi_mode_valid() 1472 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dvi_mode_valid() 1487 else if (ASIC_IS_DCE6(rdev) && drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_dvi_mode_valid() 1520 static int radeon_dp_get_modes(struct drm_connector *connector) radeon_dp_get_modes() argument 1522 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_get_modes() 1524 struct drm_encoder *encoder = radeon_best_single_encoder(connector); radeon_dp_get_modes() 1527 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || radeon_dp_get_modes() 1528 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { radeon_dp_get_modes() 1531 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { radeon_dp_get_modes() 1533 atombios_set_edp_panel_power(connector, radeon_dp_get_modes() 1535 radeon_connector_get_edid(connector); radeon_dp_get_modes() 1536 ret = radeon_ddc_get_modes(connector); radeon_dp_get_modes() 1538 atombios_set_edp_panel_power(connector, radeon_dp_get_modes() 1542 if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) != radeon_dp_get_modes() 1547 radeon_connector_get_edid(connector); radeon_dp_get_modes() 1548 ret = radeon_ddc_get_modes(connector); radeon_dp_get_modes() 1553 radeon_fixup_lvds_native_mode(encoder, connector); radeon_dp_get_modes() 1555 radeon_add_common_modes(encoder, connector); radeon_dp_get_modes() 1567 drm_mode_probed_add(connector, mode); radeon_dp_get_modes() 1569 connector->display_info.width_mm = mode->width_mm; radeon_dp_get_modes() 1570 connector->display_info.height_mm = mode->height_mm; radeon_dp_get_modes() 1572 radeon_add_common_modes(encoder, connector); radeon_dp_get_modes() 1576 if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) != radeon_dp_get_modes() 1581 radeon_connector_get_edid(connector); radeon_dp_get_modes() 1582 ret = radeon_ddc_get_modes(connector); radeon_dp_get_modes() 1584 radeon_get_native_mode(connector); radeon_dp_get_modes() 1590 u16 radeon_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector) radeon_connector_encoder_get_dp_bridge_encoder_id() argument 1597 if (connector->encoder_ids[i] == 0) radeon_connector_encoder_get_dp_bridge_encoder_id() 1600 encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); radeon_connector_encoder_get_dp_bridge_encoder_id() 1618 static bool radeon_connector_encoder_is_hbr2(struct drm_connector *connector) radeon_connector_encoder_is_hbr2() argument 1626 if (connector->encoder_ids[i] == 0) radeon_connector_encoder_is_hbr2() 1629 encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); radeon_connector_encoder_is_hbr2() 1641 bool radeon_connector_is_dp12_capable(struct drm_connector *connector) radeon_connector_is_dp12_capable() argument 1643 struct drm_device *dev = connector->dev; radeon_connector_is_dp12_capable() 1648 radeon_connector_encoder_is_hbr2(connector)) { radeon_connector_is_dp12_capable() 1656 radeon_dp_detect(struct drm_connector *connector, bool force) radeon_dp_detect() argument 1658 struct drm_device *dev = connector->dev; radeon_dp_detect() 1660 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_detect() 1663 struct drm_encoder *encoder = radeon_best_single_encoder(connector); radeon_dp_detect() 1669 r = pm_runtime_get_sync(connector->dev->dev); radeon_dp_detect() 1673 if (!force && radeon_check_hpd_status_unchanged(connector)) { radeon_dp_detect() 1674 ret = connector->status; radeon_dp_detect() 1678 radeon_connector_free_edid(connector); radeon_dp_detect() 1680 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || radeon_dp_detect() 1681 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { radeon_dp_detect() 1698 atombios_set_edp_panel_power(connector, radeon_dp_detect() 1703 atombios_set_edp_panel_power(connector, radeon_dp_detect() 1705 } else if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) != radeon_dp_detect() 1720 ret = encoder_funcs->detect(encoder, connector); radeon_dp_detect() 1750 radeon_connector_update_scratch_regs(connector, ret); radeon_dp_detect() 1753 radeon_connector_get_edid(connector); radeon_dp_detect() 1754 radeon_audio_detect(connector, encoder, ret); radeon_dp_detect() 1758 pm_runtime_mark_last_busy(connector->dev->dev); radeon_dp_detect() 1759 pm_runtime_put_autosuspend(connector->dev->dev); radeon_dp_detect() 1764 static int radeon_dp_mode_valid(struct drm_connector *connector, radeon_dp_mode_valid() argument 1767 struct drm_device *dev = connector->dev; radeon_dp_mode_valid() 1769 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_mode_valid() 1774 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || radeon_dp_mode_valid() 1775 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { radeon_dp_mode_valid() 1776 struct drm_encoder *encoder = radeon_best_single_encoder(connector); radeon_dp_mode_valid() 1802 return radeon_dp_mode_valid_helper(connector, mode); radeon_dp_mode_valid() 1804 if (ASIC_IS_DCE6(rdev) && drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_dp_mode_valid() 1863 struct drm_connector *connector; radeon_add_atom_connector() local 1876 /* if the user selected tv=0 don't try and add the connector */ radeon_add_atom_connector() 1884 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_add_atom_connector() 1885 radeon_connector = to_radeon_connector(connector); radeon_add_atom_connector() 1922 connector = &radeon_connector->base; radeon_add_atom_connector() 1958 connector->interlace_allowed = true; radeon_add_atom_connector() 1959 connector->doublescan_allowed = true; radeon_add_atom_connector() 2011 connector->interlace_allowed = true; radeon_add_atom_connector() 2013 connector->doublescan_allowed = true; radeon_add_atom_connector() 2015 connector->doublescan_allowed = false; radeon_add_atom_connector() 2033 connector->interlace_allowed = false; radeon_add_atom_connector() 2034 connector->doublescan_allowed = false; radeon_add_atom_connector() 2061 connector->polled = DRM_CONNECTOR_POLL_CONNECT; radeon_add_atom_connector() 2062 connector->interlace_allowed = true; radeon_add_atom_connector() 2063 connector->doublescan_allowed = true; radeon_add_atom_connector() 2087 connector->interlace_allowed = true; radeon_add_atom_connector() 2088 connector->doublescan_allowed = true; radeon_add_atom_connector() 2141 connector->interlace_allowed = true; radeon_add_atom_connector() 2143 connector->doublescan_allowed = true; radeon_add_atom_connector() 2145 connector->doublescan_allowed = false; radeon_add_atom_connector() 2192 connector->interlace_allowed = true; radeon_add_atom_connector() 2194 connector->doublescan_allowed = true; radeon_add_atom_connector() 2196 connector->doublescan_allowed = false; radeon_add_atom_connector() 2244 connector->interlace_allowed = true; radeon_add_atom_connector() 2246 connector->doublescan_allowed = false; radeon_add_atom_connector() 2267 connector->interlace_allowed = false; radeon_add_atom_connector() 2268 connector->doublescan_allowed = false; radeon_add_atom_connector() 2284 connector->interlace_allowed = false; radeon_add_atom_connector() 2285 connector->doublescan_allowed = false; radeon_add_atom_connector() 2304 connector->interlace_allowed = false; radeon_add_atom_connector() 2305 connector->doublescan_allowed = false; radeon_add_atom_connector() 2312 connector->polled = DRM_CONNECTOR_POLL_CONNECT; radeon_add_atom_connector() 2314 connector->polled = DRM_CONNECTOR_POLL_HPD; radeon_add_atom_connector() 2316 connector->display_info.subpixel_order = subpixel_order; radeon_add_atom_connector() 2317 drm_connector_register(connector); radeon_add_atom_connector() 2325 drm_connector_cleanup(connector); radeon_add_atom_connector() 2326 kfree(connector); radeon_add_atom_connector() 2339 struct drm_connector *connector; radeon_add_legacy_connector() local 2346 /* if the user selected tv=0 don't try and add the connector */ radeon_add_legacy_connector() 2354 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_add_legacy_connector() 2355 radeon_connector = to_radeon_connector(connector); radeon_add_legacy_connector() 2366 connector = &radeon_connector->base; radeon_add_legacy_connector() 2388 connector->polled = DRM_CONNECTOR_POLL_CONNECT; radeon_add_legacy_connector() 2389 connector->interlace_allowed = true; radeon_add_legacy_connector() 2390 connector->doublescan_allowed = true; radeon_add_legacy_connector() 2406 connector->interlace_allowed = true; radeon_add_legacy_connector() 2407 connector->doublescan_allowed = true; radeon_add_legacy_connector() 2425 connector->interlace_allowed = true; radeon_add_legacy_connector() 2427 connector->doublescan_allowed = true; radeon_add_legacy_connector() 2429 connector->doublescan_allowed = false; radeon_add_legacy_connector() 2452 connector->interlace_allowed = false; radeon_add_legacy_connector() 2453 connector->doublescan_allowed = false; radeon_add_legacy_connector() 2467 connector->interlace_allowed = false; radeon_add_legacy_connector() 2468 connector->doublescan_allowed = false; radeon_add_legacy_connector() 2474 connector->polled = DRM_CONNECTOR_POLL_CONNECT; radeon_add_legacy_connector() 2476 connector->polled = DRM_CONNECTOR_POLL_HPD; radeon_add_legacy_connector() 2477 connector->display_info.subpixel_order = subpixel_order; radeon_add_legacy_connector() 2478 drm_connector_register(connector); radeon_add_legacy_connector() 2484 struct drm_connector *connector; radeon_setup_mst_connector() local 2493 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_setup_mst_connector() 2496 radeon_connector = to_radeon_connector(connector); radeon_setup_mst_connector() 2498 if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort) radeon_setup_mst_connector() 782 radeon_fixup_lvds_native_mode(struct drm_encoder *encoder, struct drm_connector *connector) radeon_fixup_lvds_native_mode() argument
|
H A D | radeon_dp_mst.c | 10 static struct radeon_encoder *radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector); 110 struct drm_connector *connector; radeon_dp_mst_update_stream_attribs() local 113 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_dp_mst_update_stream_attribs() 117 radeon_connector = to_radeon_connector(connector); radeon_dp_mst_update_stream_attribs() 175 static int radeon_dp_mst_get_ddc_modes(struct drm_connector *connector) radeon_dp_mst_get_ddc_modes() argument 177 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_mst_get_ddc_modes() 182 edid = drm_dp_mst_get_edid(connector, &master->mst_mgr, radeon_connector->port); radeon_dp_mst_get_ddc_modes() 196 static int radeon_dp_mst_get_modes(struct drm_connector *connector) radeon_dp_mst_get_modes() argument 198 return radeon_dp_mst_get_ddc_modes(connector); radeon_dp_mst_get_modes() 202 radeon_dp_mst_mode_valid(struct drm_connector *connector, radeon_dp_mst_mode_valid() argument 215 struct drm_encoder *radeon_mst_best_encoder(struct drm_connector *connector) radeon_mst_best_encoder() argument 217 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_mst_best_encoder() 229 radeon_dp_mst_detect(struct drm_connector *connector, bool force) radeon_dp_mst_detect() argument 231 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_mst_detect() 234 return drm_dp_mst_detect_port(connector, &master->mst_mgr, radeon_connector->port); radeon_dp_mst_detect() 238 radeon_dp_mst_connector_destroy(struct drm_connector *connector) radeon_dp_mst_connector_destroy() argument 240 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_mst_connector_destroy() 245 drm_connector_cleanup(connector); radeon_dp_mst_connector_destroy() 249 static int radeon_connector_dpms(struct drm_connector *connector, int mode) radeon_connector_dpms() argument 269 struct drm_connector *connector; radeon_dp_add_mst_connector() local 276 connector = &radeon_connector->base; radeon_dp_add_mst_connector() 281 drm_connector_init(dev, connector, &radeon_dp_mst_connector_funcs, DRM_MODE_CONNECTOR_DisplayPort); radeon_dp_add_mst_connector() 282 drm_connector_helper_add(connector, &radeon_dp_mst_connector_helper_funcs); radeon_dp_add_mst_connector() 285 drm_object_attach_property(&connector->base, dev->mode_config.path_property, 0); radeon_dp_add_mst_connector() 286 drm_object_attach_property(&connector->base, dev->mode_config.tile_property, 0); radeon_dp_add_mst_connector() 287 drm_mode_connector_set_path_property(connector, pathprop); radeon_dp_add_mst_connector() 289 return connector; radeon_dp_add_mst_connector() 292 static void radeon_dp_register_mst_connector(struct drm_connector *connector) radeon_dp_register_mst_connector() argument 294 struct drm_device *dev = connector->dev; radeon_dp_register_mst_connector() 298 radeon_fb_add_connector(rdev, connector); radeon_dp_register_mst_connector() 301 drm_connector_register(connector); radeon_dp_register_mst_connector() 305 struct drm_connector *connector) radeon_dp_destroy_mst_connector() 311 drm_connector_unregister(connector); radeon_dp_destroy_mst_connector() 312 /* need to nuke the connector */ radeon_dp_destroy_mst_connector() 315 radeon_fb_remove_connector(rdev, connector); radeon_dp_destroy_mst_connector() 317 drm_connector_cleanup(connector); radeon_dp_destroy_mst_connector() 320 kfree(connector); radeon_dp_destroy_mst_connector() 342 struct drm_connector *connector; radeon_mst_find_connector() local 344 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_mst_find_connector() 345 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_mst_find_connector() 346 if (!connector->encoder) radeon_mst_find_connector() 351 DRM_DEBUG_KMS("checking %p vs %p\n", connector->encoder, encoder); radeon_mst_find_connector() 352 if (connector->encoder == encoder) radeon_mst_find_connector() 367 struct radeon_connector_atom_dig *dig_connector = mst_enc->connector->con_priv; radeon_dp_mst_prepare_pll() 416 DRM_DEBUG_KMS("got connector %d\n", dig_enc->active_mst_links); radeon_mst_encoder_dpms() 433 if (radeon_dp_needs_link_train(mst_enc->connector) || radeon_mst_encoder_dpms() 435 radeon_dp_link_train(&primary->base, &mst_enc->connector->base); radeon_mst_encoder_dpms() 519 mst_enc->primary->active_device = mst_enc->primary->devices & mst_enc->connector->devices; radeon_mst_mode_fixup() 522 mst_enc->connector->devices, mst_enc->primary->base.encoder_type); radeon_mst_mode_fixup() 529 dig_connector = mst_enc->connector->con_priv; radeon_mst_mode_fixup() 531 dig_connector->dp_clock = radeon_dp_get_max_link_rate(&mst_enc->connector->base, radeon_mst_mode_fixup() 548 DRM_DEBUG_KMS("failed to find connector %p\n", encoder); radeon_mst_encoder_prepare() 606 radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector) radeon_dp_create_fake_mst_encoder() argument 608 struct drm_device *dev = connector->base.dev; radeon_dp_create_fake_mst_encoder() 613 const struct drm_connector_helper_funcs *connector_funcs = connector->base.helper_private; radeon_dp_create_fake_mst_encoder() 614 struct drm_encoder *enc_master = connector_funcs->best_encoder(&connector->base); radeon_dp_create_fake_mst_encoder() 648 mst_enc->connector = connector; radeon_dp_create_fake_mst_encoder() 758 struct drm_connector *connector; radeon_debugfs_mst_info() local 764 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_debugfs_mst_info() 765 if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort) radeon_debugfs_mst_info() 768 radeon_connector = to_radeon_connector(connector); radeon_debugfs_mst_info() 304 radeon_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_connector *connector) radeon_dp_destroy_mst_connector() argument
|
H A D | radeon_encoders.c | 162 struct drm_connector *connector) radeon_encoder_add_backlight() 194 radeon_atom_backlight_init(radeon_encoder, connector); radeon_encoder_add_backlight() 196 radeon_legacy_backlight_init(radeon_encoder, connector); radeon_encoder_add_backlight() 203 struct drm_connector *connector; radeon_link_encoder_connector() local 209 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_link_encoder_connector() 210 radeon_connector = to_radeon_connector(connector); radeon_link_encoder_connector() 214 drm_mode_connector_attach_encoder(connector, encoder); radeon_link_encoder_connector() 216 radeon_encoder_add_backlight(radeon_encoder, connector); radeon_link_encoder_connector() 226 struct drm_connector *connector; radeon_encoder_set_active_device() local 228 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_encoder_set_active_device() 229 if (connector->encoder == encoder) { radeon_encoder_set_active_device() 230 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_encoder_set_active_device() 244 struct drm_connector *connector; radeon_get_connector_for_encoder() local 247 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_get_connector_for_encoder() 248 radeon_connector = to_radeon_connector(connector); radeon_get_connector_for_encoder() 256 if (mst_enc->connector == radeon_connector->mst_port) radeon_get_connector_for_encoder() 257 return connector; radeon_get_connector_for_encoder() 259 return connector; radeon_get_connector_for_encoder() 269 struct drm_connector *connector; radeon_get_connector_for_encoder_init() local 272 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { radeon_get_connector_for_encoder_init() 273 radeon_connector = to_radeon_connector(connector); radeon_get_connector_for_encoder_init() 275 return connector; radeon_get_connector_for_encoder_init() 371 struct drm_connector *connector; radeon_dig_monitor_is_duallink() local 375 connector = radeon_get_connector_for_encoder(encoder); radeon_dig_monitor_is_duallink() 379 if (!connector) radeon_dig_monitor_is_duallink() 380 connector = radeon_get_connector_for_encoder_init(encoder); radeon_dig_monitor_is_duallink() 381 radeon_connector = to_radeon_connector(connector); radeon_dig_monitor_is_duallink() 383 switch (connector->connector_type) { radeon_dig_monitor_is_duallink() 388 if (ASIC_IS_DCE6(rdev) && drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_dig_monitor_is_duallink() 413 if (ASIC_IS_DCE6(rdev) && drm_detect_hdmi_monitor(radeon_connector_edid(connector))) { radeon_dig_monitor_is_duallink() 161 radeon_encoder_add_backlight(struct radeon_encoder *radeon_encoder, struct drm_connector *connector) radeon_encoder_add_backlight() argument
|
H A D | atombios_dp.c | 315 int radeon_dp_get_max_link_rate(struct drm_connector *connector, radeon_dp_get_max_link_rate() argument 320 if (radeon_connector_is_dp12_capable(connector)) radeon_dp_get_max_link_rate() 332 static int radeon_dp_get_dp_lane_number(struct drm_connector *connector, radeon_dp_get_dp_lane_number() argument 336 int bpp = convert_bpc_to_bpp(radeon_get_monitor_bpc(connector)); radeon_dp_get_dp_lane_number() 337 int max_link_rate = radeon_dp_get_max_link_rate(connector, dpcd); radeon_dp_get_dp_lane_number() 351 static int radeon_dp_get_dp_link_clock(struct drm_connector *connector, radeon_dp_get_dp_link_clock() argument 355 int bpp = convert_bpc_to_bpp(radeon_get_monitor_bpc(connector)); radeon_dp_get_dp_link_clock() 358 if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) == radeon_dp_get_dp_link_clock() 362 lane_num = radeon_dp_get_dp_lane_number(connector, dpcd, pix_clock); radeon_dp_get_dp_link_clock() 369 if (radeon_connector_is_dp12_capable(connector)) { radeon_dp_get_dp_link_clock() 375 return radeon_dp_get_max_link_rate(connector, dpcd); radeon_dp_get_dp_link_clock() 447 struct drm_connector *connector) radeon_dp_get_panel_mode() 451 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_get_panel_mode() 454 u16 dp_bridge = radeon_connector_encoder_get_dp_bridge_encoder_id(connector); radeon_dp_get_panel_mode() 477 } else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { radeon_dp_get_panel_mode() 489 void radeon_dp_set_link_config(struct drm_connector *connector, radeon_dp_set_link_config() argument 492 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_set_link_config() 502 radeon_dp_get_dp_link_clock(connector, dig_connector->dpcd, mode->clock); radeon_dp_set_link_config() 504 radeon_dp_get_dp_lane_number(connector, dig_connector->dpcd, mode->clock); radeon_dp_set_link_config() 508 int radeon_dp_mode_valid_helper(struct drm_connector *connector, radeon_dp_mode_valid_helper() argument 511 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_mode_valid_helper() 516 (!radeon_connector_is_dp12_capable(connector))) radeon_dp_mode_valid_helper() 524 radeon_dp_get_dp_link_clock(connector, dig_connector->dpcd, mode->clock); radeon_dp_mode_valid_helper() 527 (!radeon_connector_is_dp12_capable(connector))) radeon_dp_mode_valid_helper() 546 void radeon_dp_set_rx_power_state(struct drm_connector *connector, radeon_dp_set_rx_power_state() argument 549 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_dp_set_rx_power_state() 569 struct drm_connector *connector; member in struct:radeon_dp_link_train_info 636 radeon_dp_set_rx_power_state(dp_info->connector, DP_SET_POWER_D0); radeon_dp_link_train_init() 814 struct drm_connector *connector) radeon_dp_link_train() 830 radeon_connector = to_radeon_connector(connector); radeon_dp_link_train() 874 dp_info.connector = connector; radeon_dp_link_train() 446 radeon_dp_get_panel_mode(struct drm_encoder *encoder, struct drm_connector *connector) radeon_dp_get_panel_mode() argument 813 radeon_dp_link_train(struct drm_encoder *encoder, struct drm_connector *connector) radeon_dp_link_train() argument
|
H A D | evergreen_hdmi.c | 98 struct drm_connector *connector, struct drm_display_mode *mode) dce4_afmt_write_latency_fields() 104 if (connector->latency_present[1]) dce4_afmt_write_latency_fields() 105 tmp = VIDEO_LIPSYNC(connector->video_latency[1]) | dce4_afmt_write_latency_fields() 106 AUDIO_LIPSYNC(connector->audio_latency[1]); dce4_afmt_write_latency_fields() 110 if (connector->latency_present[0]) dce4_afmt_write_latency_fields() 111 tmp = VIDEO_LIPSYNC(connector->video_latency[0]) | dce4_afmt_write_latency_fields() 112 AUDIO_LIPSYNC(connector->audio_latency[0]); dce4_afmt_write_latency_fields() 321 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); dce4_hdmi_set_color_depth() local 335 connector->name, bpc); dce4_hdmi_set_color_depth() 341 connector->name); dce4_hdmi_set_color_depth() 347 connector->name); dce4_hdmi_set_color_depth() 411 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); evergreen_hdmi_enable() local 413 if (connector && drm_detect_monitor_audio(radeon_connector_edid(connector))) { evergreen_hdmi_enable() 446 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); evergreen_dp_enable() local 451 if (enable && connector && evergreen_dp_enable() 452 drm_detect_monitor_audio(radeon_connector_edid(connector))) { evergreen_dp_enable() 453 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); evergreen_dp_enable() local 454 struct radeon_connector *radeon_connector = to_radeon_connector(connector); evergreen_dp_enable() 97 dce4_afmt_write_latency_fields(struct drm_encoder *encoder, struct drm_connector *connector, struct drm_display_mode *mode) dce4_afmt_write_latency_fields() argument
|
H A D | radeon_audio.c | 60 struct drm_connector *connector, struct drm_display_mode *mode); 62 struct drm_connector *connector, struct drm_display_mode *mode); 361 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_audio_write_sad_regs() local 366 if (!connector) radeon_audio_write_sad_regs() 369 sad_count = drm_edid_to_sad(radeon_connector_edid(connector), &sads); radeon_audio_write_sad_regs() 384 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_audio_write_speaker_allocation() local 389 if (!connector) radeon_audio_write_speaker_allocation() 392 sad_count = drm_edid_to_speaker_allocation(radeon_connector_edid(connector), radeon_audio_write_speaker_allocation() 409 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_audio_write_latency_fields() local 412 if (!connector) radeon_audio_write_latency_fields() 416 radeon_encoder->audio->write_latency_fields(encoder, connector, mode); radeon_audio_write_latency_fields() 438 void radeon_audio_detect(struct drm_connector *connector, radeon_audio_detect() argument 442 struct drm_device *dev = connector->dev; radeon_audio_detect() 456 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { radeon_audio_detect() 457 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_audio_detect() 468 if (drm_detect_monitor_audio(radeon_connector_edid(connector))) { radeon_audio_detect() 511 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_audio_set_avi_packet() local 516 if (!connector) radeon_audio_set_avi_packet() 526 if (drm_rgb_quant_range_selectable(radeon_connector_edid(connector))) { radeon_audio_set_avi_packet() 701 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_audio_hdmi_mode_set() local 706 if (!connector) radeon_audio_hdmi_mode_set() 709 if (drm_detect_monitor_audio(radeon_connector_edid(connector))) { radeon_audio_hdmi_mode_set() 741 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_audio_dp_mode_set() local 746 if (!connector) radeon_audio_dp_mode_set() 749 if (drm_detect_monitor_audio(radeon_connector_edid(connector))) { radeon_audio_dp_mode_set()
|
H A D | dce6_afmt.c | 124 struct drm_connector *connector, dce6_afmt_write_latency_fields() 136 if (connector->latency_present[1]) dce6_afmt_write_latency_fields() 137 tmp = VIDEO_LIPSYNC(connector->video_latency[1]) | dce6_afmt_write_latency_fields() 138 AUDIO_LIPSYNC(connector->audio_latency[1]); dce6_afmt_write_latency_fields() 142 if (connector->latency_present[0]) dce6_afmt_write_latency_fields() 143 tmp = VIDEO_LIPSYNC(connector->video_latency[0]) | dce6_afmt_write_latency_fields() 144 AUDIO_LIPSYNC(connector->audio_latency[0]); dce6_afmt_write_latency_fields() 123 dce6_afmt_write_latency_fields(struct drm_encoder *encoder, struct drm_connector *connector, struct drm_display_mode *mode) dce6_afmt_write_latency_fields() argument
|
H A D | atombios_encoders.c | 304 /* set the active encoder to connector routing */ radeon_atom_mode_fixup() 337 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_atom_mode_fixup() local 338 radeon_dp_set_link_config(connector, adjusted_mode); radeon_atom_mode_fixup() 676 struct drm_connector *connector; atombios_get_encoder_mode() local 697 connector = radeon_get_connector_for_encoder(encoder); atombios_get_encoder_mode() 701 if (!connector) atombios_get_encoder_mode() 702 connector = radeon_get_connector_for_encoder_init(encoder); atombios_get_encoder_mode() 703 radeon_connector = to_radeon_connector(connector); atombios_get_encoder_mode() 705 switch (connector->connector_type) { atombios_get_encoder_mode() 712 else if (drm_detect_hdmi_monitor(radeon_connector_edid(connector)) && atombios_get_encoder_mode() 731 else if (drm_detect_hdmi_monitor(radeon_connector_edid(connector)) && atombios_get_encoder_mode() 748 drm_detect_monitor_audio(radeon_connector_edid(connector)) && atombios_get_encoder_mode() 755 else if (drm_detect_hdmi_monitor(radeon_connector_edid(connector)) && atombios_get_encoder_mode() 766 drm_detect_monitor_audio(radeon_connector_edid(connector)) && atombios_get_encoder_mode() 845 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); atombios_dig_encoder_setup2() local 853 if (connector) { atombios_dig_encoder_setup2() 854 struct radeon_connector *radeon_connector = to_radeon_connector(connector); atombios_dig_encoder_setup2() 1015 struct drm_connector *connector; atombios_dig_transmitter_setup2() local 1029 connector = radeon_get_connector_for_encoder_init(encoder); atombios_dig_transmitter_setup2() 1035 connector = radeon_get_connector_for_encoder(encoder); atombios_dig_transmitter_setup2() 1037 if (connector) { atombios_dig_transmitter_setup2() 1038 struct radeon_connector *radeon_connector = to_radeon_connector(connector); atombios_dig_transmitter_setup2() 1382 atombios_set_edp_panel_power(struct drm_connector *connector, int action) atombios_set_edp_panel_power() argument 1384 struct radeon_connector *radeon_connector = to_radeon_connector(connector); atombios_set_edp_panel_power() 1391 if (connector->connector_type != DRM_MODE_CONNECTOR_eDP) atombios_set_edp_panel_power() 1440 struct drm_connector *connector; atombios_external_encoder_setup() local 1449 connector = radeon_get_connector_for_encoder_init(encoder); atombios_external_encoder_setup() 1451 connector = radeon_get_connector_for_encoder(encoder); atombios_external_encoder_setup() 1453 if (connector) { atombios_external_encoder_setup() 1454 struct radeon_connector *radeon_connector = to_radeon_connector(connector); atombios_external_encoder_setup() 1665 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_atom_encoder_dpms_dig() local 1670 if (connector) { radeon_atom_encoder_dpms_dig() 1671 radeon_connector = to_radeon_connector(connector); radeon_atom_encoder_dpms_dig() 1673 if ((radeon_connector_encoder_get_dp_bridge_encoder_id(connector) == radeon_atom_encoder_dpms_dig() 1683 if (!connector) radeon_atom_encoder_dpms_dig() 1686 dig->panel_mode = radeon_dp_get_panel_mode(encoder, connector); radeon_atom_encoder_dpms_dig() 1706 if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(encoder)) && connector) { radeon_atom_encoder_dpms_dig() 1707 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { radeon_atom_encoder_dpms_dig() 1708 atombios_set_edp_panel_power(connector, radeon_atom_encoder_dpms_dig() 1715 if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(encoder)) && connector) { radeon_atom_encoder_dpms_dig() 1717 radeon_dp_link_train(encoder, connector); radeon_atom_encoder_dpms_dig() 1740 if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(encoder)) && connector) radeon_atom_encoder_dpms_dig() 1750 connector && !travis_quirk) radeon_atom_encoder_dpms_dig() 1751 radeon_dp_set_rx_power_state(connector, DP_SET_POWER_D3); radeon_atom_encoder_dpms_dig() 1762 if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(encoder)) && connector) { radeon_atom_encoder_dpms_dig() 1764 radeon_dp_set_rx_power_state(connector, DP_SET_POWER_D3); radeon_atom_encoder_dpms_dig() 1765 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { radeon_atom_encoder_dpms_dig() 1766 atombios_set_edp_panel_power(connector, radeon_atom_encoder_dpms_dig() 1927 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); atombios_set_encoder_crtc_source() local 1929 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) atombios_set_encoder_crtc_source() 1931 else if (connector->connector_type == DRM_MODE_CONNECTOR_VGA) atombios_set_encoder_crtc_source() 2266 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_atom_encoder_mode_set() local 2317 if (connector && (radeon_audio != 0) && radeon_atom_encoder_mode_set() 2324 atombios_dac_load_detect(struct drm_encoder *encoder, struct drm_connector *connector) atombios_dac_load_detect() argument 2329 struct radeon_connector *radeon_connector = to_radeon_connector(connector); atombios_dac_load_detect() 2373 radeon_atom_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector) radeon_atom_dac_detect() argument 2378 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_atom_dac_detect() 2381 if (!atombios_dac_load_detect(encoder, connector)) { radeon_atom_dac_detect() 2414 radeon_atom_dig_detect(struct drm_encoder *encoder, struct drm_connector *connector) radeon_atom_dig_detect() argument 2419 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_atom_dig_detect() 2476 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); radeon_atom_encoder_prepare() local 2499 if (connector) { radeon_atom_encoder_prepare() 2500 struct radeon_connector *radeon_connector = to_radeon_connector(connector); radeon_atom_encoder_prepare() 2507 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) radeon_atom_encoder_prepare() 2508 atombios_set_edp_panel_power(connector, radeon_atom_encoder_prepare() 2541 * the encoder if it's in use by another connector radeon_atom_encoder_disable()
|
H A D | radeon_mode.h | 209 /* mostly for macs, but really any system without connector tables */ 365 struct drm_connector *connector; member in struct:radeon_crtc 453 struct radeon_connector *connector; member in struct:radeon_encoder_mst 726 radeon_combios_connected_scratch_regs(struct drm_connector *connector, 730 radeon_atombios_connected_scratch_regs(struct drm_connector *connector, 742 extern u16 radeon_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector); 743 extern bool radeon_connector_is_dp12_capable(struct drm_connector *connector); 744 extern int radeon_get_monitor_bpc(struct drm_connector *connector); 746 extern struct edid *radeon_connector_edid(struct drm_connector *connector); 748 extern void radeon_connector_hotplug(struct drm_connector *connector); 749 extern int radeon_dp_mode_valid_helper(struct drm_connector *connector, 751 extern void radeon_dp_set_link_config(struct drm_connector *connector, 754 struct drm_connector *connector); 759 struct drm_connector *connector); 760 int radeon_dp_get_max_link_rate(struct drm_connector *connector, 762 extern void radeon_dp_set_rx_power_state(struct drm_connector *connector, 844 extern bool atombios_set_edp_panel_power(struct drm_connector *connector, int action); 994 void radeon_fb_add_connector(struct radeon_device *rdev, struct drm_connector *connector); 995 void radeon_fb_remove_connector(struct radeon_device *rdev, struct drm_connector *connector);
|
H A D | radeon_audio.h | 49 struct drm_connector *connector, struct drm_display_mode *mode); 70 void radeon_audio_detect(struct drm_connector *connector,
|
H A D | radeon_irq_kms.c | 70 * was a hot plug interrupt. It walks the connector table 80 struct drm_connector *connector; radeon_hotplug_work_func() local 89 list_for_each_entry(connector, &mode_config->connector_list, head) radeon_hotplug_work_func() 90 radeon_connector_hotplug(connector); radeon_hotplug_work_func() 103 struct drm_connector *connector; radeon_dp_work_func() local 107 list_for_each_entry(connector, &mode_config->connector_list, head) radeon_dp_work_func() 108 radeon_connector_hotplug(connector); radeon_dp_work_func()
|
H A D | radeon_fb.c | 391 void radeon_fb_add_connector(struct radeon_device *rdev, struct drm_connector *connector) radeon_fb_add_connector() argument 393 drm_fb_helper_add_one_connector(&rdev->mode_info.rfbdev->helper, connector); radeon_fb_add_connector() 396 void radeon_fb_remove_connector(struct radeon_device *rdev, struct drm_connector *connector) radeon_fb_remove_connector() argument 398 drm_fb_helper_remove_one_connector(&rdev->mode_info.rfbdev->helper, connector); radeon_fb_remove_connector()
|
/linux-4.4.14/drivers/gpu/drm/fsl-dcu/ |
H A D | fsl_dcu_drm_rgb.c | 69 static void fsl_dcu_drm_connector_destroy(struct drm_connector *connector) fsl_dcu_drm_connector_destroy() argument 71 drm_connector_unregister(connector); fsl_dcu_drm_connector_destroy() 72 drm_connector_cleanup(connector); fsl_dcu_drm_connector_destroy() 76 fsl_dcu_drm_connector_detect(struct drm_connector *connector, bool force) fsl_dcu_drm_connector_detect() argument 92 fsl_dcu_drm_connector_best_encoder(struct drm_connector *connector) fsl_dcu_drm_connector_best_encoder() argument 94 struct fsl_dcu_drm_connector *fsl_con = to_fsl_dcu_connector(connector); fsl_dcu_drm_connector_best_encoder() 99 static int fsl_dcu_drm_connector_get_modes(struct drm_connector *connector) fsl_dcu_drm_connector_get_modes() argument 105 fsl_connector = to_fsl_dcu_connector(connector); fsl_dcu_drm_connector_get_modes() 115 static int fsl_dcu_drm_connector_mode_valid(struct drm_connector *connector, fsl_dcu_drm_connector_mode_valid() argument 133 struct drm_connector *connector = &fsl_dev->connector.base; fsl_dcu_drm_connector_create() local 138 fsl_dev->connector.encoder = encoder; fsl_dcu_drm_connector_create() 140 ret = drm_connector_init(fsl_dev->drm, connector, fsl_dcu_drm_connector_create() 146 drm_connector_helper_add(connector, &connector_helper_funcs); fsl_dcu_drm_connector_create() 147 ret = drm_connector_register(connector); fsl_dcu_drm_connector_create() 151 ret = drm_mode_connector_attach_encoder(connector, encoder); fsl_dcu_drm_connector_create() 155 drm_object_property_set_value(&connector->base, fsl_dcu_drm_connector_create() 161 fsl_dev->connector.panel = of_drm_find_panel(panel_node); fsl_dcu_drm_connector_create() 162 if (!fsl_dev->connector.panel) { fsl_dcu_drm_connector_create() 169 ret = drm_panel_attach(fsl_dev->connector.panel, connector); fsl_dcu_drm_connector_create() 178 drm_connector_unregister(connector); fsl_dcu_drm_connector_create() 180 drm_connector_cleanup(connector); fsl_dcu_drm_connector_create()
|
/linux-4.4.14/drivers/gpu/drm/i915/ |
H A D | intel_modes.c | 35 * intel_connector_update_modes - update connector from edid 36 * @connector: DRM connector device to use 39 int intel_connector_update_modes(struct drm_connector *connector, intel_connector_update_modes() argument 44 drm_mode_connector_update_edid_property(connector, edid); intel_connector_update_modes() 45 ret = drm_add_edid_modes(connector, edid); intel_connector_update_modes() 46 drm_edid_to_eld(connector, edid); intel_connector_update_modes() 53 * @connector: DRM connector device to use 56 * Fetch the EDID information from @connector using the DDC bus. 58 int intel_ddc_get_modes(struct drm_connector *connector, intel_ddc_get_modes() argument 64 edid = drm_get_edid(connector, adapter); intel_ddc_get_modes() 68 ret = intel_connector_update_modes(connector, edid); intel_ddc_get_modes() 82 intel_attach_force_audio_property(struct drm_connector *connector) intel_attach_force_audio_property() argument 84 struct drm_device *dev = connector->dev; intel_attach_force_audio_property() 99 drm_object_attach_property(&connector->base, prop, 0); intel_attach_force_audio_property() 109 intel_attach_broadcast_rgb_property(struct drm_connector *connector) intel_attach_broadcast_rgb_property() argument 111 struct drm_device *dev = connector->dev; intel_attach_broadcast_rgb_property() 127 drm_object_attach_property(&connector->base, prop, 0); intel_attach_broadcast_rgb_property() 131 intel_attach_aspect_ratio_property(struct drm_connector *connector) intel_attach_aspect_ratio_property() argument 133 if (!drm_mode_create_aspect_ratio_property(connector->dev)) intel_attach_aspect_ratio_property() 134 drm_object_attach_property(&connector->base, intel_attach_aspect_ratio_property() 135 connector->dev->mode_config.aspect_ratio_property, intel_attach_aspect_ratio_property()
|
H A D | intel_panel.c | 53 * @connector: LVDS/eDP connector 61 struct drm_connector *connector) intel_find_panel_downclock() 69 list_for_each_entry(scan, &connector->probed_modes, head) { intel_find_panel_downclock() 428 static inline u32 scale_user_to_hw(struct intel_connector *connector, scale_user_to_hw() argument 431 struct intel_panel *panel = &connector->panel; scale_user_to_hw() 439 static inline u32 clamp_user_to_hw(struct intel_connector *connector, clamp_user_to_hw() argument 442 struct intel_panel *panel = &connector->panel; clamp_user_to_hw() 452 static inline u32 scale_hw_to_user(struct intel_connector *connector, scale_hw_to_user() argument 455 struct intel_panel *panel = &connector->panel; scale_hw_to_user() 461 static u32 intel_panel_compute_brightness(struct intel_connector *connector, intel_panel_compute_brightness() argument 464 struct drm_device *dev = connector->base.dev; intel_panel_compute_brightness() 466 struct intel_panel *panel = &connector->panel; intel_panel_compute_brightness() 481 static u32 lpt_get_backlight(struct intel_connector *connector) lpt_get_backlight() argument 483 struct drm_device *dev = connector->base.dev; lpt_get_backlight() 489 static u32 pch_get_backlight(struct intel_connector *connector) pch_get_backlight() argument 491 struct drm_device *dev = connector->base.dev; pch_get_backlight() 497 static u32 i9xx_get_backlight(struct intel_connector *connector) i9xx_get_backlight() argument 499 struct drm_device *dev = connector->base.dev; i9xx_get_backlight() 501 struct intel_panel *panel = &connector->panel; i9xx_get_backlight() 528 static u32 vlv_get_backlight(struct intel_connector *connector) vlv_get_backlight() argument 530 struct drm_device *dev = connector->base.dev; vlv_get_backlight() 531 enum pipe pipe = intel_get_pipe_from_connector(connector); vlv_get_backlight() 536 static u32 bxt_get_backlight(struct intel_connector *connector) bxt_get_backlight() argument 538 struct drm_device *dev = connector->base.dev; bxt_get_backlight() 539 struct intel_panel *panel = &connector->panel; bxt_get_backlight() 545 static u32 pwm_get_backlight(struct intel_connector *connector) pwm_get_backlight() argument 547 struct intel_panel *panel = &connector->panel; pwm_get_backlight() 554 static u32 intel_panel_get_backlight(struct intel_connector *connector) intel_panel_get_backlight() argument 556 struct drm_device *dev = connector->base.dev; intel_panel_get_backlight() 558 struct intel_panel *panel = &connector->panel; intel_panel_get_backlight() 564 val = panel->backlight.get(connector); intel_panel_get_backlight() 565 val = intel_panel_compute_brightness(connector, val); intel_panel_get_backlight() 574 static void lpt_set_backlight(struct intel_connector *connector, u32 level) lpt_set_backlight() argument 576 struct drm_device *dev = connector->base.dev; lpt_set_backlight() 582 static void pch_set_backlight(struct intel_connector *connector, u32 level) pch_set_backlight() argument 584 struct drm_device *dev = connector->base.dev; pch_set_backlight() 592 static void i9xx_set_backlight(struct intel_connector *connector, u32 level) i9xx_set_backlight() argument 594 struct drm_device *dev = connector->base.dev; i9xx_set_backlight() 596 struct intel_panel *panel = &connector->panel; i9xx_set_backlight() 620 static void vlv_set_backlight(struct intel_connector *connector, u32 level) vlv_set_backlight() argument 622 struct drm_device *dev = connector->base.dev; vlv_set_backlight() 624 enum pipe pipe = intel_get_pipe_from_connector(connector); vlv_set_backlight() 634 static void bxt_set_backlight(struct intel_connector *connector, u32 level) bxt_set_backlight() argument 636 struct drm_device *dev = connector->base.dev; bxt_set_backlight() 638 struct intel_panel *panel = &connector->panel; bxt_set_backlight() 643 static void pwm_set_backlight(struct intel_connector *connector, u32 level) pwm_set_backlight() argument 645 struct intel_panel *panel = &connector->panel; pwm_set_backlight() 652 intel_panel_actually_set_backlight(struct intel_connector *connector, u32 level) intel_panel_actually_set_backlight() argument 654 struct intel_panel *panel = &connector->panel; intel_panel_actually_set_backlight() 658 level = intel_panel_compute_brightness(connector, level); intel_panel_actually_set_backlight() 659 panel->backlight.set(connector, level); intel_panel_actually_set_backlight() 663 static void intel_panel_set_backlight(struct intel_connector *connector, intel_panel_set_backlight() argument 666 struct drm_device *dev = connector->base.dev; intel_panel_set_backlight() 668 struct intel_panel *panel = &connector->panel; intel_panel_set_backlight() 678 hw_level = scale_user_to_hw(connector, user_level, user_max); intel_panel_set_backlight() 682 intel_panel_actually_set_backlight(connector, hw_level); intel_panel_set_backlight() 690 void intel_panel_set_backlight_acpi(struct intel_connector *connector, intel_panel_set_backlight_acpi() argument 693 struct drm_device *dev = connector->base.dev; intel_panel_set_backlight_acpi() 695 struct intel_panel *panel = &connector->panel; intel_panel_set_backlight_acpi() 696 enum pipe pipe = intel_get_pipe_from_connector(connector); intel_panel_set_backlight_acpi() 712 hw_level = clamp_user_to_hw(connector, user_level, user_max); intel_panel_set_backlight_acpi() 717 scale_hw_to_user(connector, intel_panel_set_backlight_acpi() 722 intel_panel_actually_set_backlight(connector, hw_level); intel_panel_set_backlight_acpi() 727 static void lpt_disable_backlight(struct intel_connector *connector) lpt_disable_backlight() argument 729 struct drm_device *dev = connector->base.dev; lpt_disable_backlight() 733 intel_panel_actually_set_backlight(connector, 0); lpt_disable_backlight() 753 static void pch_disable_backlight(struct intel_connector *connector) pch_disable_backlight() argument 755 struct drm_device *dev = connector->base.dev; pch_disable_backlight() 759 intel_panel_actually_set_backlight(connector, 0); pch_disable_backlight() 768 static void i9xx_disable_backlight(struct intel_connector *connector) i9xx_disable_backlight() argument 770 intel_panel_actually_set_backlight(connector, 0); i9xx_disable_backlight() 773 static void i965_disable_backlight(struct intel_connector *connector) i965_disable_backlight() argument 775 struct drm_device *dev = connector->base.dev; i965_disable_backlight() 779 intel_panel_actually_set_backlight(connector, 0); i965_disable_backlight() 785 static void vlv_disable_backlight(struct intel_connector *connector) vlv_disable_backlight() argument 787 struct drm_device *dev = connector->base.dev; vlv_disable_backlight() 789 enum pipe pipe = intel_get_pipe_from_connector(connector); vlv_disable_backlight() 795 intel_panel_actually_set_backlight(connector, 0); vlv_disable_backlight() 801 static void bxt_disable_backlight(struct intel_connector *connector) bxt_disable_backlight() argument 803 struct drm_device *dev = connector->base.dev; bxt_disable_backlight() 805 struct intel_panel *panel = &connector->panel; bxt_disable_backlight() 808 intel_panel_actually_set_backlight(connector, 0); bxt_disable_backlight() 821 static void pwm_disable_backlight(struct intel_connector *connector) pwm_disable_backlight() argument 823 struct intel_panel *panel = &connector->panel; pwm_disable_backlight() 831 void intel_panel_disable_backlight(struct intel_connector *connector) intel_panel_disable_backlight() argument 833 struct drm_device *dev = connector->base.dev; intel_panel_disable_backlight() 835 struct intel_panel *panel = &connector->panel; intel_panel_disable_backlight() 856 panel->backlight.disable(connector); intel_panel_disable_backlight() 861 static void lpt_enable_backlight(struct intel_connector *connector) lpt_enable_backlight() argument 863 struct drm_device *dev = connector->base.dev; lpt_enable_backlight() 865 struct intel_panel *panel = &connector->panel; lpt_enable_backlight() 891 intel_panel_actually_set_backlight(connector, panel->backlight.level); lpt_enable_backlight() 894 static void pch_enable_backlight(struct intel_connector *connector) pch_enable_backlight() argument 896 struct drm_device *dev = connector->base.dev; pch_enable_backlight() 898 struct intel_panel *panel = &connector->panel; pch_enable_backlight() 899 enum pipe pipe = intel_get_pipe_from_connector(connector); pch_enable_backlight() 927 intel_panel_actually_set_backlight(connector, panel->backlight.level); pch_enable_backlight() 941 static void i9xx_enable_backlight(struct intel_connector *connector) i9xx_enable_backlight() argument 943 struct drm_device *dev = connector->base.dev; i9xx_enable_backlight() 945 struct intel_panel *panel = &connector->panel; i9xx_enable_backlight() 968 intel_panel_actually_set_backlight(connector, panel->backlight.level); i9xx_enable_backlight() 979 static void i965_enable_backlight(struct intel_connector *connector) i965_enable_backlight() argument 981 struct drm_device *dev = connector->base.dev; i965_enable_backlight() 983 struct intel_panel *panel = &connector->panel; i965_enable_backlight() 984 enum pipe pipe = intel_get_pipe_from_connector(connector); i965_enable_backlight() 1010 intel_panel_actually_set_backlight(connector, panel->backlight.level); i965_enable_backlight() 1013 static void vlv_enable_backlight(struct intel_connector *connector) vlv_enable_backlight() argument 1015 struct drm_device *dev = connector->base.dev; vlv_enable_backlight() 1017 struct intel_panel *panel = &connector->panel; vlv_enable_backlight() 1018 enum pipe pipe = intel_get_pipe_from_connector(connector); vlv_enable_backlight() 1035 intel_panel_actually_set_backlight(connector, panel->backlight.level); vlv_enable_backlight() 1045 static void bxt_enable_backlight(struct intel_connector *connector) bxt_enable_backlight() argument 1047 struct drm_device *dev = connector->base.dev; bxt_enable_backlight() 1049 struct intel_panel *panel = &connector->panel; bxt_enable_backlight() 1050 enum pipe pipe = intel_get_pipe_from_connector(connector); bxt_enable_backlight() 1083 intel_panel_actually_set_backlight(connector, panel->backlight.level); bxt_enable_backlight() 1095 static void pwm_enable_backlight(struct intel_connector *connector) pwm_enable_backlight() argument 1097 struct intel_panel *panel = &connector->panel; pwm_enable_backlight() 1100 intel_panel_actually_set_backlight(connector, panel->backlight.level); pwm_enable_backlight() 1103 void intel_panel_enable_backlight(struct intel_connector *connector) intel_panel_enable_backlight() argument 1105 struct drm_device *dev = connector->base.dev; intel_panel_enable_backlight() 1107 struct intel_panel *panel = &connector->panel; intel_panel_enable_backlight() 1108 enum pipe pipe = intel_get_pipe_from_connector(connector); intel_panel_enable_backlight() 1123 scale_hw_to_user(connector, intel_panel_enable_backlight() 1128 panel->backlight.enable(connector); intel_panel_enable_backlight() 1139 struct intel_connector *connector = bl_get_data(bd); intel_backlight_device_update_status() local 1140 struct intel_panel *panel = &connector->panel; intel_backlight_device_update_status() 1141 struct drm_device *dev = connector->base.dev; intel_backlight_device_update_status() 1146 intel_panel_set_backlight(connector, bd->props.brightness, intel_backlight_device_update_status() 1159 panel->backlight.power(connector, enable); intel_backlight_device_update_status() 1171 struct intel_connector *connector = bl_get_data(bd); intel_backlight_device_get_brightness() local 1172 struct drm_device *dev = connector->base.dev; intel_backlight_device_get_brightness() 1180 hw_level = intel_panel_get_backlight(connector); intel_backlight_device_get_brightness() 1181 ret = scale_hw_to_user(connector, hw_level, bd->props.max_brightness); intel_backlight_device_get_brightness() 1194 static int intel_backlight_device_register(struct intel_connector *connector) intel_backlight_device_register() argument 1196 struct intel_panel *panel = &connector->panel; intel_backlight_device_register() 1215 props.brightness = scale_hw_to_user(connector, intel_backlight_device_register() 1225 * Note: using the same name independent of the connector prevents intel_backlight_device_register() 1230 connector->base.kdev, intel_backlight_device_register() 1231 connector, intel_backlight_device_register() 1242 connector->base.name); intel_backlight_device_register() 1247 static void intel_backlight_device_unregister(struct intel_connector *connector) intel_backlight_device_unregister() argument 1249 struct intel_panel *panel = &connector->panel; intel_backlight_device_unregister() 1257 static int intel_backlight_device_register(struct intel_connector *connector) intel_backlight_device_register() argument 1261 static void intel_backlight_device_unregister(struct intel_connector *connector) intel_backlight_device_unregister() argument 1271 static u32 spt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz) spt_hz_to_pwm() argument 1273 struct drm_device *dev = connector->base.dev; spt_hz_to_pwm() 1292 static u32 lpt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz) lpt_hz_to_pwm() argument 1294 struct drm_device *dev = connector->base.dev; lpt_hz_to_pwm() 1315 static u32 pch_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz) pch_hz_to_pwm() argument 1317 struct drm_device *dev = connector->base.dev; pch_hz_to_pwm() 1331 static u32 i9xx_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz) i9xx_hz_to_pwm() argument 1333 struct drm_device *dev = connector->base.dev; i9xx_hz_to_pwm() 1349 static u32 i965_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz) i965_hz_to_pwm() argument 1351 struct drm_device *dev = connector->base.dev; i965_hz_to_pwm() 1363 static u32 vlv_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz) vlv_hz_to_pwm() argument 1365 struct drm_device *dev = connector->base.dev; vlv_hz_to_pwm() 1380 static u32 get_backlight_max_vbt(struct intel_connector *connector) get_backlight_max_vbt() argument 1382 struct drm_device *dev = connector->base.dev; get_backlight_max_vbt() 1384 struct intel_panel *panel = &connector->panel; get_backlight_max_vbt() 1398 pwm = panel->backlight.hz_to_pwm(connector, pwm_freq_hz); get_backlight_max_vbt() 1412 static u32 get_backlight_min_vbt(struct intel_connector *connector) get_backlight_min_vbt() argument 1414 struct drm_device *dev = connector->base.dev; get_backlight_min_vbt() 1416 struct intel_panel *panel = &connector->panel; get_backlight_min_vbt() 1438 static int lpt_setup_backlight(struct intel_connector *connector, enum pipe unused) lpt_setup_backlight() argument 1440 struct drm_device *dev = connector->base.dev; lpt_setup_backlight() 1442 struct intel_panel *panel = &connector->panel; lpt_setup_backlight() 1452 panel->backlight.max = get_backlight_max_vbt(connector); lpt_setup_backlight() 1457 panel->backlight.min = get_backlight_min_vbt(connector); lpt_setup_backlight() 1459 val = lpt_get_backlight(connector); lpt_setup_backlight() 1460 panel->backlight.level = intel_panel_compute_brightness(connector, val); lpt_setup_backlight() 1468 static int pch_setup_backlight(struct intel_connector *connector, enum pipe unused) pch_setup_backlight() argument 1470 struct drm_device *dev = connector->base.dev; pch_setup_backlight() 1472 struct intel_panel *panel = &connector->panel; pch_setup_backlight() 1482 panel->backlight.max = get_backlight_max_vbt(connector); pch_setup_backlight() 1487 panel->backlight.min = get_backlight_min_vbt(connector); pch_setup_backlight() 1489 val = pch_get_backlight(connector); pch_setup_backlight() 1490 panel->backlight.level = intel_panel_compute_brightness(connector, val); pch_setup_backlight() 1499 static int i9xx_setup_backlight(struct intel_connector *connector, enum pipe unused) i9xx_setup_backlight() argument 1501 struct drm_device *dev = connector->base.dev; i9xx_setup_backlight() 1503 struct intel_panel *panel = &connector->panel; i9xx_setup_backlight() 1517 panel->backlight.max = get_backlight_max_vbt(connector); i9xx_setup_backlight() 1527 panel->backlight.min = get_backlight_min_vbt(connector); i9xx_setup_backlight() 1529 val = i9xx_get_backlight(connector); i9xx_setup_backlight() 1530 panel->backlight.level = intel_panel_compute_brightness(connector, val); i9xx_setup_backlight() 1537 static int i965_setup_backlight(struct intel_connector *connector, enum pipe unused) i965_setup_backlight() argument 1539 struct drm_device *dev = connector->base.dev; i965_setup_backlight() 1541 struct intel_panel *panel = &connector->panel; i965_setup_backlight() 1552 panel->backlight.max = get_backlight_max_vbt(connector); i965_setup_backlight() 1560 panel->backlight.min = get_backlight_min_vbt(connector); i965_setup_backlight() 1562 val = i9xx_get_backlight(connector); i965_setup_backlight() 1563 panel->backlight.level = intel_panel_compute_brightness(connector, val); i965_setup_backlight() 1571 static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe) vlv_setup_backlight() argument 1573 struct drm_device *dev = connector->base.dev; vlv_setup_backlight() 1575 struct intel_panel *panel = &connector->panel; vlv_setup_backlight() 1588 panel->backlight.max = get_backlight_max_vbt(connector); vlv_setup_backlight() 1593 panel->backlight.min = get_backlight_min_vbt(connector); vlv_setup_backlight() 1596 panel->backlight.level = intel_panel_compute_brightness(connector, val); vlv_setup_backlight() 1605 bxt_setup_backlight(struct intel_connector *connector, enum pipe unused) bxt_setup_backlight() argument 1607 struct drm_device *dev = connector->base.dev; bxt_setup_backlight() 1609 struct intel_panel *panel = &connector->panel; bxt_setup_backlight() 1636 panel->backlight.max = get_backlight_max_vbt(connector); bxt_setup_backlight() 1641 val = bxt_get_backlight(connector); bxt_setup_backlight() 1642 panel->backlight.level = intel_panel_compute_brightness(connector, val); bxt_setup_backlight() 1650 static int pwm_setup_backlight(struct intel_connector *connector, pwm_setup_backlight() argument 1653 struct drm_device *dev = connector->base.dev; pwm_setup_backlight() 1654 struct intel_panel *panel = &connector->panel; pwm_setup_backlight() 1684 int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe) intel_panel_setup_backlight() argument 1686 struct drm_device *dev = connector->dev; intel_panel_setup_backlight() 1688 struct intel_connector *intel_connector = to_intel_connector(connector); intel_panel_setup_backlight() 1711 DRM_DEBUG_KMS("failed to setup backlight for connector %s\n", intel_panel_setup_backlight() 1712 connector->name); intel_panel_setup_backlight() 1719 connector->name, intel_panel_setup_backlight() 1726 void intel_panel_destroy_backlight(struct drm_connector *connector) intel_panel_destroy_backlight() argument 1728 struct intel_connector *intel_connector = to_intel_connector(connector); intel_panel_destroy_backlight() 1829 struct intel_connector *connector; intel_backlight_register() local 1831 list_for_each_entry(connector, &dev->mode_config.connector_list, base.head) intel_backlight_register() 1832 intel_backlight_device_register(connector); intel_backlight_register() 1837 struct intel_connector *connector; intel_backlight_unregister() local 1839 list_for_each_entry(connector, &dev->mode_config.connector_list, base.head) intel_backlight_unregister() 1840 intel_backlight_device_unregister(connector); intel_backlight_unregister() 59 intel_find_panel_downclock(struct drm_device *dev, struct drm_display_mode *fixed_mode, struct drm_connector *connector) intel_find_panel_downclock() argument
|
H A D | intel_dp_mst.c | 45 struct intel_connector *connector, *found = NULL; intel_dp_mst_compute_config() local 68 connector = to_intel_connector(drm_connector); for_each_connector_in_state() 71 found = connector; for_each_connector_in_state() 77 DRM_ERROR("can't find connector\n"); 150 struct intel_connector *found = NULL, *connector; intel_mst_pre_enable_dp() local 155 for_each_intel_connector(dev, connector) { for_each_intel_connector() 156 if (connector->base.state->best_encoder == &encoder->base) { for_each_intel_connector() 157 found = connector; for_each_intel_connector() 163 DRM_ERROR("can't find connector\n"); 167 /* MST encoders are bound to a crtc, not to a connector, 290 static int intel_dp_mst_get_ddc_modes(struct drm_connector *connector) intel_dp_mst_get_ddc_modes() argument 292 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_mst_get_ddc_modes() 297 edid = drm_dp_mst_get_edid(connector, &intel_dp->mst_mgr, intel_connector->port); intel_dp_mst_get_ddc_modes() 301 ret = intel_connector_update_modes(connector, edid); intel_dp_mst_get_ddc_modes() 308 intel_dp_mst_detect(struct drm_connector *connector, bool force) intel_dp_mst_detect() argument 310 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_mst_detect() 313 return drm_dp_mst_detect_port(connector, &intel_dp->mst_mgr, intel_connector->port); intel_dp_mst_detect() 317 intel_dp_mst_set_property(struct drm_connector *connector, intel_dp_mst_set_property() argument 325 intel_dp_mst_connector_destroy(struct drm_connector *connector) intel_dp_mst_connector_destroy() argument 327 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_mst_connector_destroy() 332 drm_connector_cleanup(connector); intel_dp_mst_connector_destroy() 333 kfree(connector); intel_dp_mst_connector_destroy() 347 static int intel_dp_mst_get_modes(struct drm_connector *connector) intel_dp_mst_get_modes() argument 349 return intel_dp_mst_get_ddc_modes(connector); intel_dp_mst_get_modes() 353 intel_dp_mst_mode_valid(struct drm_connector *connector, intel_dp_mst_mode_valid() argument 366 static struct drm_encoder *intel_mst_atomic_best_encoder(struct drm_connector *connector, intel_mst_atomic_best_encoder() argument 369 struct intel_connector *intel_connector = to_intel_connector(connector); intel_mst_atomic_best_encoder() 376 static struct drm_encoder *intel_mst_best_encoder(struct drm_connector *connector) intel_mst_best_encoder() argument 378 struct intel_connector *intel_connector = to_intel_connector(connector); intel_mst_best_encoder() 402 static bool intel_dp_mst_get_hw_state(struct intel_connector *connector) intel_dp_mst_get_hw_state() argument 404 if (connector->encoder && connector->base.state->crtc) { intel_dp_mst_get_hw_state() 406 if (!connector->encoder->get_hw_state(connector->encoder, &pipe)) intel_dp_mst_get_hw_state() 413 static void intel_connector_add_to_fbdev(struct intel_connector *connector) intel_connector_add_to_fbdev() argument 416 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); intel_connector_add_to_fbdev() 417 drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, &connector->base); intel_connector_add_to_fbdev() 421 static void intel_connector_remove_from_fbdev(struct intel_connector *connector) intel_connector_remove_from_fbdev() argument 424 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); intel_connector_remove_from_fbdev() 425 drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, &connector->base); intel_connector_remove_from_fbdev() 435 struct drm_connector *connector; intel_dp_add_mst_connector() local 442 connector = &intel_connector->base; intel_dp_add_mst_connector() 443 drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs, DRM_MODE_CONNECTOR_DisplayPort); intel_dp_add_mst_connector() 444 drm_connector_helper_add(connector, &intel_dp_mst_connector_helper_funcs); intel_dp_add_mst_connector() 455 intel_dp_add_properties(intel_dp, connector); intel_dp_add_mst_connector() 457 drm_object_attach_property(&connector->base, dev->mode_config.path_property, 0); intel_dp_add_mst_connector() 458 drm_object_attach_property(&connector->base, dev->mode_config.tile_property, 0); intel_dp_add_mst_connector() 460 drm_mode_connector_set_path_property(connector, pathprop); intel_dp_add_mst_connector() 461 return connector; intel_dp_add_mst_connector() 464 static void intel_dp_register_mst_connector(struct drm_connector *connector) intel_dp_register_mst_connector() argument 466 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_register_mst_connector() 467 struct drm_device *dev = connector->dev; intel_dp_register_mst_connector() 475 struct drm_connector *connector) intel_dp_destroy_mst_connector() 477 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_destroy_mst_connector() 478 struct drm_device *dev = connector->dev; intel_dp_destroy_mst_connector() 482 /* need to nuke the connector */ intel_dp_destroy_mst_connector() 484 if (connector->state->crtc) { intel_dp_destroy_mst_connector() 489 set.crtc = connector->state->crtc, intel_dp_destroy_mst_connector() 497 drm_connector_cleanup(connector); intel_dp_destroy_mst_connector() 474 intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_connector *connector) intel_dp_destroy_mst_connector() argument
|
H A D | intel_crt.c | 49 /* DPMS state is stored in the connector, which we need in the 51 struct intel_connector *connector; member in struct:intel_crt 61 static struct intel_crt *intel_attached_crt(struct drm_connector *connector) intel_attached_crt() argument 63 return intel_encoder_to_crt(intel_attached_encoder(connector)); intel_attached_crt() 211 intel_crt_set_dpms(encoder, crt->connector->base.dpms); intel_enable_crt() 215 intel_crt_mode_valid(struct drm_connector *connector, intel_crt_mode_valid() argument 218 struct drm_device *dev = connector->dev; intel_crt_mode_valid() 273 static bool intel_ironlake_crt_detect_hotplug(struct drm_connector *connector) intel_ironlake_crt_detect_hotplug() argument 275 struct drm_device *dev = connector->dev; intel_ironlake_crt_detect_hotplug() 276 struct intel_crt *crt = intel_attached_crt(connector); intel_ironlake_crt_detect_hotplug() 318 static bool valleyview_crt_detect_hotplug(struct drm_connector *connector) valleyview_crt_detect_hotplug() argument 320 struct drm_device *dev = connector->dev; valleyview_crt_detect_hotplug() 321 struct intel_crt *crt = intel_attached_crt(connector); valleyview_crt_detect_hotplug() 360 static bool intel_crt_detect_hotplug(struct drm_connector *connector) intel_crt_detect_hotplug() argument 362 struct drm_device *dev = connector->dev; intel_crt_detect_hotplug() 369 return intel_ironlake_crt_detect_hotplug(connector); intel_crt_detect_hotplug() 372 return valleyview_crt_detect_hotplug(connector); intel_crt_detect_hotplug() 408 static struct edid *intel_crt_get_edid(struct drm_connector *connector, intel_crt_get_edid() argument 413 edid = drm_get_edid(connector, i2c); intel_crt_get_edid() 418 edid = drm_get_edid(connector, i2c); intel_crt_get_edid() 426 static int intel_crt_ddc_get_modes(struct drm_connector *connector, intel_crt_ddc_get_modes() argument 432 edid = intel_crt_get_edid(connector, adapter); intel_crt_ddc_get_modes() 436 ret = intel_connector_update_modes(connector, edid); intel_crt_ddc_get_modes() 442 static bool intel_crt_detect_ddc(struct drm_connector *connector) intel_crt_detect_ddc() argument 444 struct intel_crt *crt = intel_attached_crt(connector); intel_crt_detect_ddc() 452 edid = intel_crt_get_edid(connector, i2c); intel_crt_detect_ddc() 458 * This may be a DVI-I connector with a shared DDC intel_crt_detect_ddc() 598 intel_crt_detect(struct drm_connector *connector, bool force) intel_crt_detect() argument 600 struct drm_device *dev = connector->dev; intel_crt_detect() 602 struct intel_crt *crt = intel_attached_crt(connector); intel_crt_detect() 610 connector->base.id, connector->name, intel_crt_detect() 621 if (intel_crt_detect_hotplug(connector)) { intel_crt_detect() 629 if (intel_crt_detect_ddc(connector)) { intel_crt_detect() 644 status = connector->status; intel_crt_detect() 651 if (intel_get_load_detect_pipe(connector, NULL, &tmp, &ctx)) { intel_crt_detect() 652 if (intel_crt_detect_ddc(connector)) intel_crt_detect() 658 intel_release_load_detect_pipe(connector, &tmp, &ctx); intel_crt_detect() 670 static void intel_crt_destroy(struct drm_connector *connector) intel_crt_destroy() argument 672 drm_connector_cleanup(connector); intel_crt_destroy() 673 kfree(connector); intel_crt_destroy() 676 static int intel_crt_get_modes(struct drm_connector *connector) intel_crt_get_modes() argument 678 struct drm_device *dev = connector->dev; intel_crt_get_modes() 680 struct intel_crt *crt = intel_attached_crt(connector); intel_crt_get_modes() 690 ret = intel_crt_ddc_get_modes(connector, i2c); intel_crt_get_modes() 696 ret = intel_crt_ddc_get_modes(connector, i2c); intel_crt_get_modes() 704 static int intel_crt_set_property(struct drm_connector *connector, intel_crt_set_property() argument 711 static void intel_crt_reset(struct drm_connector *connector) intel_crt_reset() argument 713 struct drm_device *dev = connector->dev; intel_crt_reset() 715 struct intel_crt *crt = intel_attached_crt(connector); intel_crt_reset() 786 struct drm_connector *connector; intel_crt_init() local 805 connector = &intel_connector->base; intel_crt_init() 806 crt->connector = intel_connector; intel_crt_init() 823 connector->interlace_allowed = 0; intel_crt_init() 825 connector->interlace_allowed = 1; intel_crt_init() 826 connector->doublescan_allowed = 0; intel_crt_init() 855 drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); intel_crt_init() 857 drm_connector_register(connector); intel_crt_init() 879 intel_crt_reset(connector); intel_crt_init()
|
H A D | intel_hotplug.c | 54 * processing on the connector. 56 * The regular hotplug work function i915_hotplug_work_func() calls connector 57 * detect hooks, and, if connector status changes, triggers sending of hotplug 151 struct drm_connector *connector; intel_hpd_irq_storm_disable() local 157 list_for_each_entry(connector, &mode_config->connector_list, head) { intel_hpd_irq_storm_disable() 158 if (connector->polled != DRM_CONNECTOR_POLL_HPD) intel_hpd_irq_storm_disable() 161 intel_connector = to_intel_connector(connector); intel_hpd_irq_storm_disable() 171 DRM_INFO("HPD interrupt storm detected on connector %s: " intel_hpd_irq_storm_disable() 173 connector->name); intel_hpd_irq_storm_disable() 176 connector->polled = DRM_CONNECTOR_POLL_CONNECT intel_hpd_irq_storm_disable() 202 struct drm_connector *connector; for_each_hpd_pin() local 209 list_for_each_entry(connector, &mode_config->connector_list, head) { for_each_hpd_pin() 210 struct intel_connector *intel_connector = to_intel_connector(connector); for_each_hpd_pin() 213 if (connector->polled != intel_connector->polled) for_each_hpd_pin() 214 DRM_DEBUG_DRIVER("Reenabling HPD on connector %s\n", for_each_hpd_pin() 215 connector->name); for_each_hpd_pin() 216 connector->polled = intel_connector->polled; for_each_hpd_pin() 217 if (!connector->polled) for_each_hpd_pin() 218 connector->polled = DRM_CONNECTOR_POLL_HPD; for_each_hpd_pin() 230 struct drm_connector *connector) intel_hpd_irq_event() 235 old_status = connector->status; intel_hpd_irq_event() 237 connector->status = connector->funcs->detect(connector, false); intel_hpd_irq_event() 238 if (old_status == connector->status) intel_hpd_irq_event() 242 connector->base.id, intel_hpd_irq_event() 243 connector->name, intel_hpd_irq_event() 245 drm_get_connector_status_name(connector->status)); intel_hpd_irq_event() 309 struct drm_connector *connector; i915_hotplug_work_func() local 326 list_for_each_entry(connector, &mode_config->connector_list, head) { i915_hotplug_work_func() 327 intel_connector = to_intel_connector(connector); i915_hotplug_work_func() 333 connector->name, intel_encoder->hpd_pin); i915_hotplug_work_func() 336 if (intel_hpd_irq_event(dev, connector)) i915_hotplug_work_func() 461 struct drm_connector *connector; intel_hpd_init() local 468 list_for_each_entry(connector, &mode_config->connector_list, head) { 469 struct intel_connector *intel_connector = to_intel_connector(connector); 470 connector->polled = intel_connector->polled; 477 if (!connector->polled && I915_HAS_HOTPLUG(dev) && 479 connector->polled = DRM_CONNECTOR_POLL_HPD; 229 intel_hpd_irq_event(struct drm_device *dev, struct drm_connector *connector) intel_hpd_irq_event() argument
|
H A D | intel_dvo.c | 110 static struct intel_dvo *intel_attached_dvo(struct drm_connector *connector) intel_attached_dvo() argument 112 return enc_to_dvo(intel_attached_encoder(connector)); intel_attached_dvo() 115 static bool intel_dvo_connector_get_hw_state(struct intel_connector *connector) intel_dvo_connector_get_hw_state() argument 117 struct drm_device *dev = connector->base.dev; intel_dvo_connector_get_hw_state() 119 struct intel_dvo *intel_dvo = intel_attached_dvo(&connector->base); intel_dvo_connector_get_hw_state() 201 intel_dvo_mode_valid(struct drm_connector *connector, intel_dvo_mode_valid() argument 204 struct intel_dvo *intel_dvo = intel_attached_dvo(connector); intel_dvo_mode_valid() 206 to_intel_connector(connector)->panel.fixed_mode; intel_dvo_mode_valid() 207 int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; intel_dvo_mode_valid() 303 intel_dvo_detect(struct drm_connector *connector, bool force) intel_dvo_detect() argument 305 struct intel_dvo *intel_dvo = intel_attached_dvo(connector); intel_dvo_detect() 307 connector->base.id, connector->name); intel_dvo_detect() 311 static int intel_dvo_get_modes(struct drm_connector *connector) intel_dvo_get_modes() argument 313 struct drm_i915_private *dev_priv = connector->dev->dev_private; intel_dvo_get_modes() 315 to_intel_connector(connector)->panel.fixed_mode; intel_dvo_get_modes() 322 intel_ddc_get_modes(connector, intel_dvo_get_modes() 324 if (!list_empty(&connector->probed_modes)) intel_dvo_get_modes() 329 mode = drm_mode_duplicate(connector->dev, fixed_mode); intel_dvo_get_modes() 331 drm_mode_probed_add(connector, mode); intel_dvo_get_modes() 339 static void intel_dvo_destroy(struct drm_connector *connector) intel_dvo_destroy() argument 341 drm_connector_cleanup(connector); intel_dvo_destroy() 342 intel_panel_fini(&to_intel_connector(connector)->panel); intel_dvo_destroy() 343 kfree(connector); intel_dvo_destroy() 383 intel_dvo_get_current_mode(struct drm_connector *connector) intel_dvo_get_current_mode() argument 385 struct drm_device *dev = connector->dev; intel_dvo_get_current_mode() 387 struct intel_dvo *intel_dvo = intel_attached_dvo(connector); intel_dvo_get_current_mode() 450 struct drm_connector *connector = &intel_connector->base; intel_dvo_init() local 510 drm_connector_init(dev, connector, 517 drm_connector_init(dev, connector, 524 drm_connector_helper_add(connector, 526 connector->display_info.subpixel_order = SubPixelHorizontalRGB; 527 connector->interlace_allowed = false; 528 connector->doublescan_allowed = false; 540 intel_dvo_get_current_mode(connector), 545 drm_connector_register(connector);
|
H A D | intel_lvds.c | 65 static struct intel_lvds_connector *to_lvds_connector(struct drm_connector *connector) to_lvds_connector() argument 67 return container_of(connector, struct intel_lvds_connector, base.base); to_lvds_connector() 282 intel_lvds_mode_valid(struct drm_connector *connector, intel_lvds_mode_valid() argument 285 struct intel_connector *intel_connector = to_intel_connector(connector); intel_lvds_mode_valid() 287 int max_pixclk = to_i915(connector->dev)->max_dotclk_freq; intel_lvds_mode_valid() 365 intel_lvds_detect(struct drm_connector *connector, bool force) intel_lvds_detect() argument 367 struct drm_device *dev = connector->dev; intel_lvds_detect() 371 connector->base.id, connector->name); intel_lvds_detect() 383 static int intel_lvds_get_modes(struct drm_connector *connector) intel_lvds_get_modes() argument 385 struct intel_lvds_connector *lvds_connector = to_lvds_connector(connector); intel_lvds_get_modes() 386 struct drm_device *dev = connector->dev; intel_lvds_get_modes() 391 return drm_add_edid_modes(connector, lvds_connector->base.edid); intel_lvds_get_modes() 397 drm_mode_probed_add(connector, mode); intel_lvds_get_modes() 436 struct drm_connector *connector = &lvds_connector->base.base; intel_lid_notify() local 437 struct drm_device *dev = connector->dev; intel_lid_notify() 447 * check and update the status of LVDS connector after receiving intel_lid_notify() 450 connector->status = connector->funcs->detect(connector, false); intel_lid_notify() 487 * @connector: connector to free 489 * Unregister the DDC bus for this connector then free the driver private 492 static void intel_lvds_destroy(struct drm_connector *connector) intel_lvds_destroy() argument 495 to_lvds_connector(connector); intel_lvds_destroy() 505 drm_connector_cleanup(connector); intel_lvds_destroy() 506 kfree(connector); intel_lvds_destroy() 509 static int intel_lvds_set_property(struct drm_connector *connector, intel_lvds_set_property() argument 513 struct intel_connector *intel_connector = to_intel_connector(connector); intel_lvds_set_property() 514 struct drm_device *dev = connector->dev; intel_lvds_set_property() 530 crtc = intel_attached_encoder(connector)->base.crtc; intel_lvds_set_property() 925 * Create the connector, register the LVDS DDC bus, and try to figure out what 935 struct drm_connector *connector; intel_lvds_init() local 1023 connector = &intel_connector->base; intel_lvds_init() 1055 drm_connector_helper_add(connector, &intel_lvds_connector_helper_funcs); intel_lvds_init() 1056 connector->display_info.subpixel_order = SubPixelHorizontalRGB; intel_lvds_init() 1057 connector->interlace_allowed = false; intel_lvds_init() 1058 connector->doublescan_allowed = false; intel_lvds_init() 1064 drm_object_attach_property(&connector->base, intel_lvds_init() 1083 edid = drm_get_edid(connector, intel_gmbus_get_adapter(dev_priv, pin)); intel_lvds_init() 1085 if (drm_add_edid_modes(connector, edid)) { intel_lvds_init() 1086 drm_mode_connector_update_edid_property(connector, intel_lvds_init() 1102 connector->display_info.min_vfreq = 0; intel_lvds_init() 1103 connector->display_info.max_vfreq = 200; intel_lvds_init() 1104 connector->display_info.min_hfreq = 0; intel_lvds_init() 1105 connector->display_info.max_hfreq = 200; intel_lvds_init() 1108 list_for_each_entry(scan, &connector->probed_modes, head) { intel_lvds_init() 1175 drm_connector_register(connector); intel_lvds_init() 1177 intel_panel_setup_backlight(connector, INVALID_PIPE); intel_lvds_init() 1185 drm_connector_cleanup(connector); intel_lvds_init()
|
H A D | intel_sdvo.c | 160 /* Mark the type of connector */ 216 static struct intel_sdvo *intel_attached_sdvo(struct drm_connector *connector) intel_attached_sdvo() argument 218 return to_sdvo(intel_attached_encoder(connector)); intel_attached_sdvo() 221 static struct intel_sdvo_connector *to_intel_sdvo_connector(struct drm_connector *connector) to_intel_sdvo_connector() argument 223 return container_of(to_intel_connector(connector), struct intel_sdvo_connector, base); to_intel_sdvo_connector() 1319 static bool intel_sdvo_connector_get_hw_state(struct intel_connector *connector) intel_sdvo_connector_get_hw_state() argument 1322 to_intel_sdvo_connector(&connector->base); intel_sdvo_connector_get_hw_state() 1323 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(&connector->base); intel_sdvo_connector_get_hw_state() 1520 intel_sdvo_mode_valid(struct drm_connector *connector, intel_sdvo_mode_valid() argument 1523 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); intel_sdvo_mode_valid() 1618 intel_sdvo_get_edid(struct drm_connector *connector) intel_sdvo_get_edid() argument 1620 struct intel_sdvo *sdvo = intel_attached_sdvo(connector); intel_sdvo_get_edid() 1621 return drm_get_edid(connector, &sdvo->ddc); intel_sdvo_get_edid() 1624 /* Mac mini hack -- use the same DDC as the analog connector */ 1626 intel_sdvo_get_analog_edid(struct drm_connector *connector) intel_sdvo_get_analog_edid() argument 1628 struct drm_i915_private *dev_priv = connector->dev->dev_private; intel_sdvo_get_analog_edid() 1630 return drm_get_edid(connector, intel_sdvo_get_analog_edid() 1636 intel_sdvo_tmds_sink_detect(struct drm_connector *connector) intel_sdvo_tmds_sink_detect() argument 1638 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); intel_sdvo_tmds_sink_detect() 1642 edid = intel_sdvo_get_edid(connector); intel_sdvo_tmds_sink_detect() 1653 edid = intel_sdvo_get_edid(connector); intel_sdvo_tmds_sink_detect() 1667 * port, try to use the CRT ddc to read the EDID for DVI-connector. intel_sdvo_tmds_sink_detect() 1670 edid = intel_sdvo_get_analog_edid(connector); intel_sdvo_tmds_sink_detect() 1674 /* DDC bus is shared, match EDID to connector type */ intel_sdvo_tmds_sink_detect() 1689 struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); intel_sdvo_tmds_sink_detect() 1710 intel_sdvo_detect(struct drm_connector *connector, bool force) intel_sdvo_detect() argument 1713 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); intel_sdvo_detect() 1714 struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); intel_sdvo_detect() 1718 connector->base.id, connector->name); intel_sdvo_detect() 1741 ret = intel_sdvo_tmds_sink_detect(connector); intel_sdvo_detect() 1746 edid = intel_sdvo_get_edid(connector); intel_sdvo_detect() 1748 edid = intel_sdvo_get_analog_edid(connector); intel_sdvo_detect() 1775 static void intel_sdvo_get_ddc_modes(struct drm_connector *connector) intel_sdvo_get_ddc_modes() argument 1780 connector->base.id, connector->name); intel_sdvo_get_ddc_modes() 1783 edid = intel_sdvo_get_edid(connector); intel_sdvo_get_ddc_modes() 1786 * Mac mini hack. On this device, the DVI-I connector shares one DDC intel_sdvo_get_ddc_modes() 1792 edid = intel_sdvo_get_analog_edid(connector); intel_sdvo_get_ddc_modes() 1795 if (intel_sdvo_connector_matches_edid(to_intel_sdvo_connector(connector), intel_sdvo_get_ddc_modes() 1797 drm_mode_connector_update_edid_property(connector, edid); intel_sdvo_get_ddc_modes() 1798 drm_add_edid_modes(connector, edid); intel_sdvo_get_ddc_modes() 1870 static void intel_sdvo_get_tv_modes(struct drm_connector *connector) intel_sdvo_get_tv_modes() argument 1872 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); intel_sdvo_get_tv_modes() 1878 connector->base.id, connector->name); intel_sdvo_get_tv_modes() 1901 nmode = drm_mode_duplicate(connector->dev, intel_sdvo_get_tv_modes() 1904 drm_mode_probed_add(connector, nmode); intel_sdvo_get_tv_modes() 1908 static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) intel_sdvo_get_lvds_modes() argument 1910 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); intel_sdvo_get_lvds_modes() 1911 struct drm_i915_private *dev_priv = connector->dev->dev_private; intel_sdvo_get_lvds_modes() 1915 connector->base.id, connector->name); intel_sdvo_get_lvds_modes() 1922 newmode = drm_mode_duplicate(connector->dev, intel_sdvo_get_lvds_modes() 1928 drm_mode_probed_add(connector, newmode); intel_sdvo_get_lvds_modes() 1937 intel_ddc_get_modes(connector, &intel_sdvo->ddc); intel_sdvo_get_lvds_modes() 1939 list_for_each_entry(newmode, &connector->probed_modes, head) { intel_sdvo_get_lvds_modes() 1942 drm_mode_duplicate(connector->dev, newmode); intel_sdvo_get_lvds_modes() 1950 static int intel_sdvo_get_modes(struct drm_connector *connector) intel_sdvo_get_modes() argument 1952 struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); intel_sdvo_get_modes() 1955 intel_sdvo_get_tv_modes(connector); intel_sdvo_get_modes() 1957 intel_sdvo_get_lvds_modes(connector); intel_sdvo_get_modes() 1959 intel_sdvo_get_ddc_modes(connector); intel_sdvo_get_modes() 1961 return !list_empty(&connector->probed_modes); intel_sdvo_get_modes() 1964 static void intel_sdvo_destroy(struct drm_connector *connector) intel_sdvo_destroy() argument 1966 struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); intel_sdvo_destroy() 1968 drm_connector_cleanup(connector); intel_sdvo_destroy() 1972 static bool intel_sdvo_detect_hdmi_audio(struct drm_connector *connector) intel_sdvo_detect_hdmi_audio() argument 1974 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); intel_sdvo_detect_hdmi_audio() 1981 edid = intel_sdvo_get_edid(connector); intel_sdvo_detect_hdmi_audio() 1990 intel_sdvo_set_property(struct drm_connector *connector, intel_sdvo_set_property() argument 1994 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector); intel_sdvo_set_property() 1995 struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); intel_sdvo_set_property() 1996 struct drm_i915_private *dev_priv = connector->dev->dev_private; intel_sdvo_set_property() 2001 ret = drm_object_property_set_value(&connector->base, property, val); intel_sdvo_set_property() 2015 has_audio = intel_sdvo_detect_hdmi_audio(connector); intel_sdvo_set_property() 2055 if (property == connector->dev->mode_config.aspect_ratio_property) { intel_sdvo_set_property() 2094 drm_object_property_set_value(&connector->base, intel_sdvo_set_property() 2106 drm_object_property_set_value(&connector->base, intel_sdvo_set_property() 2118 drm_object_property_set_value(&connector->base, intel_sdvo_set_property() 2130 drm_object_property_set_value(&connector->base, intel_sdvo_set_property() 2356 intel_sdvo_connector_init(struct intel_sdvo_connector *connector, intel_sdvo_connector_init() argument 2362 drm_connector = &connector->base.base; intel_sdvo_connector_init() 2366 connector->base.base.connector_type); intel_sdvo_connector_init() 2373 connector->base.base.interlace_allowed = 1; intel_sdvo_connector_init() 2374 connector->base.base.doublescan_allowed = 0; intel_sdvo_connector_init() 2375 connector->base.base.display_info.subpixel_order = SubPixelHorizontalRGB; intel_sdvo_connector_init() 2376 connector->base.get_hw_state = intel_sdvo_connector_get_hw_state; intel_sdvo_connector_init() 2377 connector->base.unregister = intel_sdvo_connector_unregister; intel_sdvo_connector_init() 2379 intel_connector_attach_encoder(&connector->base, &encoder->base); intel_sdvo_connector_init() 2402 struct intel_sdvo_connector *connector) intel_sdvo_add_hdmi_properties() 2404 struct drm_device *dev = connector->base.base.dev; intel_sdvo_add_hdmi_properties() 2406 intel_attach_force_audio_property(&connector->base.base); intel_sdvo_add_hdmi_properties() 2408 intel_attach_broadcast_rgb_property(&connector->base.base); intel_sdvo_add_hdmi_properties() 2411 intel_attach_aspect_ratio_property(&connector->base.base); intel_sdvo_add_hdmi_properties() 2435 struct drm_connector *connector; intel_sdvo_dvi_init() local 2455 connector = &intel_connector->base; intel_sdvo_dvi_init() 2468 connector->connector_type = DRM_MODE_CONNECTOR_DVID; intel_sdvo_dvi_init() 2471 connector->connector_type = DRM_MODE_CONNECTOR_HDMIA; intel_sdvo_dvi_init() 2490 struct drm_connector *connector; intel_sdvo_tv_init() local 2501 connector = &intel_connector->base; intel_sdvo_tv_init() 2503 connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; intel_sdvo_tv_init() 2524 drm_connector_unregister(connector); intel_sdvo_tv_init() 2525 intel_sdvo_destroy(connector); intel_sdvo_tv_init() 2533 struct drm_connector *connector; intel_sdvo_analog_init() local 2544 connector = &intel_connector->base; intel_sdvo_analog_init() 2547 connector->connector_type = DRM_MODE_CONNECTOR_VGA; intel_sdvo_analog_init() 2569 struct drm_connector *connector; intel_sdvo_lvds_init() local 2580 connector = &intel_connector->base; intel_sdvo_lvds_init() 2582 connector->connector_type = DRM_MODE_CONNECTOR_LVDS; intel_sdvo_lvds_init() 2603 drm_connector_unregister(connector); intel_sdvo_lvds_init() 2604 intel_sdvo_destroy(connector); intel_sdvo_lvds_init() 2671 struct drm_connector *connector, *tmp; intel_sdvo_output_cleanup() local 2673 list_for_each_entry_safe(connector, tmp, intel_sdvo_output_cleanup() 2675 if (intel_attached_encoder(connector) == &intel_sdvo->base) { intel_sdvo_output_cleanup() 2676 drm_connector_unregister(connector); intel_sdvo_output_cleanup() 2677 intel_sdvo_destroy(connector); intel_sdvo_output_cleanup() 2738 drm_object_attach_property(&connector->base, \ 2752 struct drm_connector *connector = &intel_sdvo_connector->base.base; intel_sdvo_create_enhance_property_tv() local 2775 drm_object_attach_property(&connector->base, intel_sdvo_create_enhance_property_tv() 2784 drm_object_attach_property(&connector->base, intel_sdvo_create_enhance_property_tv() 2812 drm_object_attach_property(&connector->base, intel_sdvo_create_enhance_property_tv() 2822 drm_object_attach_property(&connector->base, intel_sdvo_create_enhance_property_tv() 2854 drm_object_attach_property(&connector->base, intel_sdvo_create_enhance_property_tv() 2869 struct drm_connector *connector = &intel_sdvo_connector->base.base; intel_sdvo_create_enhance_property_lvds() local 2401 intel_sdvo_add_hdmi_properties(struct intel_sdvo *intel_sdvo, struct intel_sdvo_connector *connector) intel_sdvo_add_hdmi_properties() argument
|
H A D | intel_audio.c | 163 static bool intel_eld_uptodate(struct drm_connector *connector, intel_eld_uptodate() argument 168 struct drm_i915_private *dev_priv = connector->dev->dev_private; intel_eld_uptodate() 169 uint8_t *eld = connector->eld; intel_eld_uptodate() 209 static void g4x_audio_codec_enable(struct drm_connector *connector, g4x_audio_codec_enable() argument 213 struct drm_i915_private *dev_priv = connector->dev->dev_private; g4x_audio_codec_enable() 214 uint8_t *eld = connector->eld; g4x_audio_codec_enable() 227 if (intel_eld_uptodate(connector, g4x_audio_codec_enable() 278 static void hsw_audio_codec_enable(struct drm_connector *connector, hsw_audio_codec_enable() argument 282 struct drm_i915_private *dev_priv = connector->dev->dev_private; hsw_audio_codec_enable() 286 const uint8_t *eld = connector->eld; hsw_audio_codec_enable() 405 static void ilk_audio_codec_enable(struct drm_connector *connector, ilk_audio_codec_enable() argument 409 struct drm_i915_private *dev_priv = connector->dev->dev_private; ilk_audio_codec_enable() 415 uint8_t *eld = connector->eld; ilk_audio_codec_enable() 437 if (HAS_PCH_IBX(connector->dev)) { ilk_audio_codec_enable() 442 } else if (IS_VALLEYVIEW(connector->dev)) { ilk_audio_codec_enable() 500 struct drm_connector *connector; intel_audio_codec_enable() local 507 connector = drm_select_eld(encoder); intel_audio_codec_enable() 508 if (!connector) intel_audio_codec_enable() 512 connector->base.id, intel_audio_codec_enable() 513 connector->name, intel_audio_codec_enable() 514 connector->encoder->base.id, intel_audio_codec_enable() 515 connector->encoder->name); intel_audio_codec_enable() 518 connector->eld[5] &= ~(3 << 2); intel_audio_codec_enable() 520 connector->eld[5] |= (1 << 2); intel_audio_codec_enable() 522 connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2; intel_audio_codec_enable() 525 dev_priv->display.audio_codec_enable(connector, intel_encoder, intel_audio_codec_enable()
|
H A D | intel_fbdev.c | 375 struct drm_connector *connector; intel_fb_initial_config() local 380 connector = fb_conn->connector; intel_fb_initial_config() 385 if (pass == 0 && !connector->has_tile) intel_fb_initial_config() 388 if (connector->status == connector_status_connected) intel_fb_initial_config() 392 DRM_DEBUG_KMS("connector %s not enabled, skipping\n", intel_fb_initial_config() 393 connector->name); intel_fb_initial_config() 398 if (connector->force == DRM_FORCE_OFF) { intel_fb_initial_config() 399 DRM_DEBUG_KMS("connector %s is disabled by user, skipping\n", intel_fb_initial_config() 400 connector->name); intel_fb_initial_config() 405 encoder = connector->encoder; intel_fb_initial_config() 407 if (connector->force > DRM_FORCE_OFF) intel_fb_initial_config() 410 DRM_DEBUG_KMS("connector %s has no encoder or crtc, skipping\n", intel_fb_initial_config() 411 connector->name); intel_fb_initial_config() 433 DRM_DEBUG_KMS("looking for cmdline mode on connector %s\n", intel_fb_initial_config() 434 connector->name); intel_fb_initial_config() 441 DRM_DEBUG_KMS("looking for preferred mode on connector %s %d\n", intel_fb_initial_config() 442 connector->name, connector->has_tile); intel_fb_initial_config() 448 if (!modes[i] && !list_empty(&connector->modes)) { intel_fb_initial_config() 449 DRM_DEBUG_KMS("using first mode listed on connector %s\n", intel_fb_initial_config() 450 connector->name); intel_fb_initial_config() 451 modes[i] = list_first_entry(&connector->modes, intel_fb_initial_config() 466 DRM_DEBUG_KMS("looking for current mode on connector %s\n", intel_fb_initial_config() 467 connector->name); intel_fb_initial_config() 472 DRM_DEBUG_KMS("connector %s on pipe %c [CRTC:%d]: %dx%d%s\n", intel_fb_initial_config() 473 connector->name, intel_fb_initial_config()
|
H A D | intel_tv.c | 832 static struct intel_tv *intel_attached_tv(struct drm_connector *connector) intel_attached_tv() argument 834 return enc_to_tv(intel_attached_encoder(connector)); intel_attached_tv() 895 intel_tv_mode_valid(struct drm_connector *connector, intel_tv_mode_valid() argument 898 struct intel_tv *intel_tv = intel_attached_tv(connector); intel_tv_mode_valid() 1179 struct drm_connector *connector) intel_tv_detect_type() 1191 if (connector->polled & DRM_CONNECTOR_POLL_HPD) { intel_tv_detect_type() 1268 if (connector->polled & DRM_CONNECTOR_POLL_HPD) { intel_tv_detect_type() 1280 * Here we set accurate tv format according to connector type 1283 static void intel_tv_find_better_format(struct drm_connector *connector) intel_tv_find_better_format() argument 1285 struct intel_tv *intel_tv = intel_attached_tv(connector); intel_tv_find_better_format() 1303 drm_object_property_set_value(&connector->base, intel_tv_find_better_format() 1304 connector->dev->mode_config.tv_mode_property, i); intel_tv_find_better_format() 1314 intel_tv_detect(struct drm_connector *connector, bool force) intel_tv_detect() argument 1317 struct intel_tv *intel_tv = intel_attached_tv(connector); intel_tv_detect() 1322 connector->base.id, connector->name, intel_tv_detect() 1333 if (intel_get_load_detect_pipe(connector, &mode, &tmp, &ctx)) { intel_tv_detect() 1334 type = intel_tv_detect_type(intel_tv, connector); intel_tv_detect() 1335 intel_release_load_detect_pipe(connector, &tmp, &ctx); intel_tv_detect() 1345 return connector->status; intel_tv_detect() 1351 intel_tv_find_better_format(connector); intel_tv_detect() 1373 intel_tv_chose_preferred_modes(struct drm_connector *connector, intel_tv_chose_preferred_modes() argument 1376 struct intel_tv *intel_tv = intel_attached_tv(connector); intel_tv_chose_preferred_modes() 1398 intel_tv_get_modes(struct drm_connector *connector) intel_tv_get_modes() argument 1401 struct intel_tv *intel_tv = intel_attached_tv(connector); intel_tv_get_modes() 1419 mode_ptr = drm_mode_create(connector->dev); intel_tv_get_modes() 1444 intel_tv_chose_preferred_modes(connector, mode_ptr); intel_tv_get_modes() 1445 drm_mode_probed_add(connector, mode_ptr); intel_tv_get_modes() 1453 intel_tv_destroy(struct drm_connector *connector) intel_tv_destroy() argument 1455 drm_connector_cleanup(connector); intel_tv_destroy() 1456 kfree(connector); intel_tv_destroy() 1461 intel_tv_set_property(struct drm_connector *connector, struct drm_property *property, intel_tv_set_property() argument 1464 struct drm_device *dev = connector->dev; intel_tv_set_property() 1465 struct intel_tv *intel_tv = intel_attached_tv(connector); intel_tv_set_property() 1470 ret = drm_object_property_set_value(&connector->base, property, val); intel_tv_set_property() 1577 struct drm_connector *connector; intel_tv_init() local 1592 /* Even if we have an encoder we may not have a connector */ intel_tv_init() 1631 connector = &intel_connector->base; intel_tv_init() 1644 drm_connector_init(dev, connector, &intel_tv_connector_funcs, intel_tv_init() 1674 drm_connector_helper_add(connector, &intel_tv_connector_helper_funcs); intel_tv_init() 1675 connector->interlace_allowed = false; intel_tv_init() 1676 connector->doublescan_allowed = false; intel_tv_init() 1685 drm_object_attach_property(&connector->base, dev->mode_config.tv_mode_property, intel_tv_init() 1687 drm_object_attach_property(&connector->base, intel_tv_init() 1690 drm_object_attach_property(&connector->base, intel_tv_init() 1693 drm_object_attach_property(&connector->base, intel_tv_init() 1696 drm_object_attach_property(&connector->base, intel_tv_init() 1699 drm_connector_register(connector); intel_tv_init() 1178 intel_tv_detect_type(struct intel_tv *intel_tv, struct drm_connector *connector) intel_tv_detect_type() argument
|
H A D | intel_hdmi.c | 66 static struct intel_hdmi *intel_attached_hdmi(struct drm_connector *connector) intel_attached_hdmi() argument 68 return enc_to_intel_hdmi(&intel_attached_encoder(connector)->base); intel_attached_hdmi() 573 struct drm_connector *connector; hdmi_sink_is_deep_color() local 582 list_for_each_entry(connector, &dev->mode_config.connector_list, head) hdmi_sink_is_deep_color() 583 if (connector->encoder == encoder) hdmi_sink_is_deep_color() 584 return connector->display_info.bpc > 8; hdmi_sink_is_deep_color() 1188 intel_hdmi_mode_valid(struct drm_connector *connector, intel_hdmi_mode_valid() argument 1191 struct intel_hdmi *hdmi = intel_attached_hdmi(connector); intel_hdmi_mode_valid() 1218 struct drm_connector *connector; hdmi_12bpc_possible() local 1228 for_each_connector_in_state(state, connector, connector_state, i) { for_each_connector_in_state() 1321 intel_hdmi_unset_edid(struct drm_connector *connector) intel_hdmi_unset_edid() argument 1323 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); intel_hdmi_unset_edid() 1329 kfree(to_intel_connector(connector)->detect_edid); intel_hdmi_unset_edid() 1330 to_intel_connector(connector)->detect_edid = NULL; intel_hdmi_unset_edid() 1334 intel_hdmi_set_edid(struct drm_connector *connector, bool force) intel_hdmi_set_edid() argument 1336 struct drm_i915_private *dev_priv = to_i915(connector->dev); intel_hdmi_set_edid() 1337 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); intel_hdmi_set_edid() 1344 edid = drm_get_edid(connector, intel_hdmi_set_edid() 1350 to_intel_connector(connector)->detect_edid = edid; intel_hdmi_set_edid() 1371 intel_hdmi_detect(struct drm_connector *connector, bool force) intel_hdmi_detect() argument 1374 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); intel_hdmi_detect() 1375 struct drm_i915_private *dev_priv = to_i915(connector->dev); intel_hdmi_detect() 1380 connector->base.id, connector->name); intel_hdmi_detect() 1402 intel_hdmi_unset_edid(connector); intel_hdmi_detect() 1404 if (intel_hdmi_set_edid(connector, live_status)) { intel_hdmi_detect() 1405 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); intel_hdmi_detect() 1418 intel_hdmi_force(struct drm_connector *connector) intel_hdmi_force() argument 1420 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); intel_hdmi_force() 1423 connector->base.id, connector->name); intel_hdmi_force() 1425 intel_hdmi_unset_edid(connector); intel_hdmi_force() 1427 if (connector->status != connector_status_connected) intel_hdmi_force() 1430 intel_hdmi_set_edid(connector, true); intel_hdmi_force() 1434 static int intel_hdmi_get_modes(struct drm_connector *connector) intel_hdmi_get_modes() argument 1438 edid = to_intel_connector(connector)->detect_edid; intel_hdmi_get_modes() 1442 return intel_connector_update_modes(connector, edid); intel_hdmi_get_modes() 1446 intel_hdmi_detect_audio(struct drm_connector *connector) intel_hdmi_detect_audio() argument 1451 edid = to_intel_connector(connector)->detect_edid; intel_hdmi_detect_audio() 1459 intel_hdmi_set_property(struct drm_connector *connector, intel_hdmi_set_property() argument 1463 struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector); intel_hdmi_set_property() 1466 struct drm_i915_private *dev_priv = connector->dev->dev_private; intel_hdmi_set_property() 1469 ret = drm_object_property_set_value(&connector->base, property, val); intel_hdmi_set_property() 1483 has_audio = intel_hdmi_detect_audio(connector); intel_hdmi_set_property() 1521 if (property == connector->dev->mode_config.aspect_ratio_property) { intel_hdmi_set_property() 1983 static void intel_hdmi_destroy(struct drm_connector *connector) intel_hdmi_destroy() argument 1985 kfree(to_intel_connector(connector)->detect_edid); intel_hdmi_destroy() 1986 drm_connector_cleanup(connector); intel_hdmi_destroy() 1987 kfree(connector); intel_hdmi_destroy() 2013 intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *connector) intel_hdmi_add_properties() argument 2015 intel_attach_force_audio_property(connector); intel_hdmi_add_properties() 2016 intel_attach_broadcast_rgb_property(connector); intel_hdmi_add_properties() 2018 intel_attach_aspect_ratio_property(connector); intel_hdmi_add_properties() 2025 struct drm_connector *connector = &intel_connector->base; intel_hdmi_init_connector() local 2033 drm_connector_init(dev, connector, &intel_hdmi_connector_funcs, intel_hdmi_init_connector() 2035 drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs); intel_hdmi_init_connector() 2037 connector->interlace_allowed = 1; intel_hdmi_init_connector() 2038 connector->doublescan_allowed = 0; intel_hdmi_init_connector() 2039 connector->stereo_allowed = 1; intel_hdmi_init_connector() 2127 intel_hdmi_add_properties(intel_hdmi, connector); intel_hdmi_init_connector() 2130 drm_connector_register(connector); intel_hdmi_init_connector()
|
H A D | intel_atomic.c | 39 * intel_connector_atomic_get_property - fetch connector property value 40 * @connector: connector to fetch property for 47 * the current value of a driver-specific connector property. 50 intel_connector_atomic_get_property(struct drm_connector *connector, intel_connector_atomic_get_property() argument 59 * crtc/connector code isn't quite ready yet. Until it's ready, intel_connector_atomic_get_property() 63 * When the crtc/connector state work matures, this function should intel_connector_atomic_get_property() 66 for (i = 0; i < connector->base.properties->count; i++) { intel_connector_atomic_get_property() 67 if (connector->base.properties->properties[i] == property) { intel_connector_atomic_get_property() 68 *val = connector->base.properties->values[i]; intel_connector_atomic_get_property()
|
H A D | intel_drv.h | 146 /* Read out the current hw state of this connector, returning true if 189 int (*setup)(struct intel_connector *connector, enum pipe pipe); 190 uint32_t (*get)(struct intel_connector *connector); 191 void (*set)(struct intel_connector *connector, uint32_t level); 192 void (*disable)(struct intel_connector *connector); 193 void (*enable)(struct intel_connector *connector); 194 uint32_t (*hz_to_pwm)(struct intel_connector *connector, 203 * The fixed encoder this connector is connected to. 207 /* Reads out the current hw, returning true if the connector is enabled 212 * Removes all interfaces through which the connector is accessible 214 * started on the connector. Also makes sure all currently pending 227 state of connector->polled in case hotplug storm detection changes it */ 770 /* connector directly attached - won't be use for modeset in mst world */ 773 /* mst connector list */ 892 intel_attached_encoder(struct drm_connector *connector) intel_attached_encoder() argument 894 return to_intel_connector(connector)->encoder; intel_attached_encoder() 1041 bool intel_connector_get_hw_state(struct intel_connector *connector); 1042 void intel_connector_attach_encoder(struct intel_connector *connector, 1044 struct drm_encoder *intel_best_encoder(struct drm_connector *connector); 1047 enum pipe intel_get_pipe_from_connector(struct intel_connector *connector); 1062 bool intel_get_load_detect_pipe(struct drm_connector *connector, 1066 void intel_release_load_detect_pipe(struct drm_connector *connector, 1221 void intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connector); 1310 int intel_connector_update_modes(struct drm_connector *connector, 1313 void intel_attach_force_audio_property(struct drm_connector *connector); 1314 void intel_attach_broadcast_rgb_property(struct drm_connector *connector); 1315 void intel_attach_aspect_ratio_property(struct drm_connector *connector); 1342 void intel_panel_set_backlight_acpi(struct intel_connector *connector, 1344 int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe); 1345 void intel_panel_enable_backlight(struct intel_connector *connector); 1346 void intel_panel_disable_backlight(struct intel_connector *connector); 1347 void intel_panel_destroy_backlight(struct drm_connector *connector); 1352 struct drm_connector *connector); 1447 int intel_connector_atomic_get_property(struct drm_connector *connector,
|
H A D | intel_dsi.c | 720 intel_dsi_mode_valid(struct drm_connector *connector, intel_dsi_mode_valid() argument 723 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dsi_mode_valid() 725 int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; intel_dsi_mode_valid() 1038 intel_dsi_detect(struct drm_connector *connector, bool force) intel_dsi_detect() argument 1043 static int intel_dsi_get_modes(struct drm_connector *connector) intel_dsi_get_modes() argument 1045 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dsi_get_modes() 1055 mode = drm_mode_duplicate(connector->dev, intel_dsi_get_modes() 1062 drm_mode_probed_add(connector, mode); intel_dsi_get_modes() 1066 static void intel_dsi_connector_destroy(struct drm_connector *connector) intel_dsi_connector_destroy() argument 1068 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dsi_connector_destroy() 1072 drm_connector_cleanup(connector); intel_dsi_connector_destroy() 1073 kfree(connector); intel_dsi_connector_destroy() 1119 struct drm_connector *connector; intel_dsi_init() local 1152 connector = &intel_connector->base; intel_dsi_init() 1220 drm_connector_init(dev, connector, &intel_dsi_connector_funcs, intel_dsi_init() 1223 drm_connector_helper_add(connector, &intel_dsi_connector_helper_funcs); intel_dsi_init() 1225 connector->display_info.subpixel_order = SubPixelHorizontalRGB; /*XXX*/ intel_dsi_init() 1226 connector->interlace_allowed = false; intel_dsi_init() 1227 connector->doublescan_allowed = false; intel_dsi_init() 1231 drm_connector_register(connector); intel_dsi_init() 1233 drm_panel_attach(intel_dsi->panel, connector); intel_dsi_init() 1237 list_for_each_entry(scan, &connector->probed_modes, head) { intel_dsi_init() 1251 intel_panel_setup_backlight(connector, INVALID_PIPE); intel_dsi_init()
|
H A D | i915_debugfs.c | 2591 struct intel_connector *connector; i915_sink_crc() local 2597 for_each_intel_connector(dev, connector) { for_each_intel_connector() 2599 if (connector->base.dpms != DRM_MODE_DPMS_ON) for_each_intel_connector() 2602 if (!connector->base.encoder) for_each_intel_connector() 2605 encoder = to_intel_encoder(connector->base.encoder); for_each_intel_connector() 2814 struct drm_connector *connector = &intel_connector->base; for_each_connector_on_encoder() local 2816 connector->base.id, for_each_connector_on_encoder() 2817 connector->name, for_each_connector_on_encoder() 2818 drm_get_connector_status_name(connector->status)); for_each_connector_on_encoder() 2819 if (connector->status == connector_status_connected) { for_each_connector_on_encoder() 2884 struct drm_connector *connector) intel_connector_info() 2886 struct intel_connector *intel_connector = to_intel_connector(connector); intel_connector_info() 2890 seq_printf(m, "connector %d: type %s, status: %s\n", intel_connector_info() 2891 connector->base.id, connector->name, intel_connector_info() 2892 drm_get_connector_status_name(connector->status)); intel_connector_info() 2893 if (connector->status == connector_status_connected) { intel_connector_info() 2894 seq_printf(m, "\tname: %s\n", connector->display_info.name); intel_connector_info() 2896 connector->display_info.width_mm, intel_connector_info() 2897 connector->display_info.height_mm); intel_connector_info() 2899 drm_get_subpixel_order_name(connector->display_info.subpixel_order)); intel_connector_info() 2901 connector->display_info.cea_rev); intel_connector_info() 2914 list_for_each_entry(mode, &connector->modes, head) intel_connector_info() 2955 struct drm_connector *connector; i915_display_info() local 2991 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { 2992 intel_connector_info(m, connector); 4154 struct drm_connector *connector; i915_displayport_test_active_write() local 4178 list_for_each_entry(connector, connector_list, head) { list_for_each_entry() 4180 if (connector->connector_type != list_for_each_entry() 4184 if (connector->status == connector_status_connected && list_for_each_entry() 4185 connector->encoder != NULL) { list_for_each_entry() 4186 intel_dp = enc_to_intel_dp(connector->encoder); list_for_each_entry() 4212 struct drm_connector *connector; i915_displayport_test_active_show() local 4216 list_for_each_entry(connector, connector_list, head) { list_for_each_entry() 4218 if (connector->connector_type != list_for_each_entry() 4222 if (connector->status == connector_status_connected && list_for_each_entry() 4223 connector->encoder != NULL) { list_for_each_entry() 4224 intel_dp = enc_to_intel_dp(connector->encoder); list_for_each_entry() 4256 struct drm_connector *connector; i915_displayport_test_data_show() local 4260 list_for_each_entry(connector, connector_list, head) { list_for_each_entry() 4262 if (connector->connector_type != list_for_each_entry() 4266 if (connector->status == connector_status_connected && list_for_each_entry() 4267 connector->encoder != NULL) { list_for_each_entry() 4268 intel_dp = enc_to_intel_dp(connector->encoder); list_for_each_entry() 4295 struct drm_connector *connector; i915_displayport_test_type_show() local 4299 list_for_each_entry(connector, connector_list, head) { list_for_each_entry() 4301 if (connector->connector_type != list_for_each_entry() 4305 if (connector->status == connector_status_connected && list_for_each_entry() 4306 connector->encoder != NULL) { list_for_each_entry() 4307 intel_dp = enc_to_intel_dp(connector->encoder); list_for_each_entry() 5369 struct drm_connector *connector = m->private; i915_dpcd_show() local 5371 enc_to_intel_dp(&intel_attached_encoder(connector)->base); i915_dpcd_show() 5376 if (connector->status != connector_status_connected) i915_dpcd_show() 5384 connector->connector_type != DRM_MODE_CONNECTOR_eDP) i915_dpcd_show() 5418 * i915_debugfs_connector_add - add i915 specific connector debugfs files 5419 * @connector: pointer to a registered drm_connector 5426 int i915_debugfs_connector_add(struct drm_connector *connector) i915_debugfs_connector_add() argument 5428 struct dentry *root = connector->debugfs_entry; i915_debugfs_connector_add() 5430 /* The connector must have been registered beforehands. */ i915_debugfs_connector_add() 5434 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || i915_debugfs_connector_add() 5435 connector->connector_type == DRM_MODE_CONNECTOR_eDP) i915_debugfs_connector_add() 5436 debugfs_create_file("i915_dpcd", S_IRUGO, root, connector, i915_debugfs_connector_add() 2883 intel_connector_info(struct seq_file *m, struct drm_connector *connector) intel_connector_info() argument
|
H A D | intel_dp.c | 121 static struct intel_dp *intel_attached_dp(struct drm_connector *connector) intel_attached_dp() argument 123 return enc_to_intel_dp(&intel_attached_encoder(connector)->base); intel_attached_dp() 203 intel_dp_mode_valid(struct drm_connector *connector, intel_dp_mode_valid() argument 206 struct intel_dp *intel_dp = intel_attached_dp(connector); intel_dp_mode_valid() 207 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_mode_valid() 1009 intel_dp_aux_init(struct intel_dp *intel_dp, struct intel_connector *connector) intel_dp_aux_init() argument 1082 connector->base.kdev->kobj.name); intel_dp_aux_init() 1091 ret = sysfs_create_link(&connector->base.kdev->kobj, intel_dp_aux_init() 2124 static void intel_edp_backlight_power(struct intel_connector *connector, intel_edp_backlight_power() argument 2127 struct intel_dp *intel_dp = intel_attached_dp(&connector->base); intel_edp_backlight_power() 4263 struct drm_connector *connector = &intel_connector->base; intel_dp_autotest_edid() local 4266 connector->edid_corrupt || intel_dp_autotest_edid() 4766 intel_dp_detect(struct drm_connector *connector, bool force) intel_dp_detect() argument 4768 struct intel_dp *intel_dp = intel_attached_dp(connector); intel_dp_detect() 4771 struct drm_device *dev = connector->dev; intel_dp_detect() 4778 connector->base.id, connector->name); intel_dp_detect() 4805 /* if we are in MST mode then this connector intel_dp_detect() 4839 intel_dp_force(struct drm_connector *connector) intel_dp_force() argument 4841 struct intel_dp *intel_dp = intel_attached_dp(connector); intel_dp_force() 4847 connector->base.id, connector->name); intel_dp_force() 4850 if (connector->status != connector_status_connected) intel_dp_force() 4864 static int intel_dp_get_modes(struct drm_connector *connector) intel_dp_get_modes() argument 4866 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_get_modes() 4871 int ret = intel_connector_update_modes(connector, edid); intel_dp_get_modes() 4877 if (is_edp(intel_attached_dp(connector)) && intel_dp_get_modes() 4881 mode = drm_mode_duplicate(connector->dev, intel_dp_get_modes() 4884 drm_mode_probed_add(connector, mode); intel_dp_get_modes() 4893 intel_dp_detect_audio(struct drm_connector *connector) intel_dp_detect_audio() argument 4898 edid = to_intel_connector(connector)->detect_edid; intel_dp_detect_audio() 4906 intel_dp_set_property(struct drm_connector *connector, intel_dp_set_property() argument 4910 struct drm_i915_private *dev_priv = connector->dev->dev_private; intel_dp_set_property() 4911 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_set_property() 4912 struct intel_encoder *intel_encoder = intel_attached_encoder(connector); intel_dp_set_property() 4916 ret = drm_object_property_set_value(&connector->base, property, val); intel_dp_set_property() 4930 has_audio = intel_dp_detect_audio(connector); intel_dp_set_property() 4969 property == connector->dev->mode_config.scaling_mode_property) { intel_dp_set_property() 4994 intel_dp_connector_destroy(struct drm_connector *connector) intel_dp_connector_destroy() argument 4996 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_connector_destroy() 5005 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) intel_dp_connector_destroy() 5008 drm_connector_cleanup(connector); intel_dp_connector_destroy() 5009 kfree(connector); intel_dp_connector_destroy() 5264 intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connector) intel_dp_add_properties() argument 5266 struct intel_connector *intel_connector = to_intel_connector(connector); intel_dp_add_properties() 5268 intel_attach_force_audio_property(connector); intel_dp_add_properties() 5269 intel_attach_broadcast_rgb_property(connector); intel_dp_add_properties() 5273 drm_mode_create_scaling_mode_property(connector->dev); intel_dp_add_properties() 5275 &connector->base, intel_dp_add_properties() 5276 connector->dev->mode_config.scaling_mode_property, intel_dp_add_properties() 5834 * @intel_connector: eDP connector 5849 struct drm_connector *connector = &intel_connector->base; intel_dp_drrs_init() local 5850 struct drm_device *dev = connector->dev; intel_dp_drrs_init() 5868 (dev, fixed_mode, connector); intel_dp_drrs_init() 5885 struct drm_connector *connector = &intel_connector->base; intel_edp_init_connector() local 5924 edid = drm_get_edid(connector, &intel_dp->aux.ddc); intel_edp_init_connector() 5926 if (drm_add_edid_modes(connector, edid)) { intel_edp_init_connector() 5927 drm_mode_connector_update_edid_property(connector, intel_edp_init_connector() 5929 drm_edid_to_eld(connector, edid); intel_edp_init_connector() 5940 list_for_each_entry(scan, &connector->probed_modes, head) { intel_edp_init_connector() 5984 intel_panel_setup_backlight(connector, pipe); intel_edp_init_connector() 5993 struct drm_connector *connector = &intel_connector->base; intel_dp_init_connector() local 6042 DRM_DEBUG_KMS("Adding %s connector on port %c\n", intel_dp_init_connector() 6046 drm_connector_init(dev, connector, &intel_dp_connector_funcs, type); intel_dp_init_connector() 6047 drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs); intel_dp_init_connector() 6049 connector->interlace_allowed = true; intel_dp_init_connector() 6050 connector->doublescan_allowed = 0; intel_dp_init_connector() 6056 drm_connector_register(connector); intel_dp_init_connector() 6117 drm_connector_unregister(connector); intel_dp_init_connector() 6118 drm_connector_cleanup(connector); intel_dp_init_connector() 6122 intel_dp_add_properties(intel_dp, connector); intel_dp_init_connector() 6133 i915_debugfs_connector_add(connector); intel_dp_init_connector()
|
/linux-4.4.14/drivers/gpu/drm/ |
H A D | drm_sysfs.c | 168 struct drm_connector *connector = to_drm_connector(device); status_store() local 169 struct drm_device *dev = connector->dev; status_store() 177 old_status = connector->status; status_store() 180 connector->force = 0; status_store() 181 connector->status = connector->funcs->detect(connector, true); status_store() 183 connector->force = DRM_FORCE_ON; status_store() 185 connector->force = DRM_FORCE_ON_DIGITAL; status_store() 187 connector->force = DRM_FORCE_OFF; status_store() 191 if (ret == 0 && connector->force) { status_store() 192 if (connector->force == DRM_FORCE_ON || status_store() 193 connector->force == DRM_FORCE_ON_DIGITAL) status_store() 194 connector->status = connector_status_connected; status_store() 196 connector->status = connector_status_disconnected; status_store() 197 if (connector->funcs->force) status_store() 198 connector->funcs->force(connector); status_store() 201 if (old_status != connector->status) { status_store() 203 connector->base.id, status_store() 204 connector->name, status_store() 205 old_status, connector->status); status_store() 222 struct drm_connector *connector = to_drm_connector(device); status_show() local 225 drm_get_connector_status_name(connector->status)); status_show() 232 struct drm_connector *connector = to_drm_connector(device); dpms_show() local 235 dpms = READ_ONCE(connector->dpms); dpms_show() 245 struct drm_connector *connector = to_drm_connector(device); enabled_show() local 247 return snprintf(buf, PAGE_SIZE, "%s\n", connector->encoder ? "enabled" : enabled_show() 256 struct drm_connector *connector = to_drm_connector(connector_dev); edid_show() local 260 if (!connector->edid_blob_ptr) edid_show() 263 edid = connector->edid_blob_ptr->data; edid_show() 264 size = connector->edid_blob_ptr->length; edid_show() 282 struct drm_connector *connector = to_drm_connector(device); modes_show() local 286 list_for_each_entry(mode, &connector->modes, head) { modes_show() 298 struct drm_connector *connector = to_drm_connector(device); tv_subconnector_show() local 299 struct drm_device *dev = connector->dev; tv_subconnector_show() 310 ret = drm_object_property_get_value(&connector->base, prop, &subconnector); tv_subconnector_show() 322 struct drm_connector *connector = to_drm_connector(device); tv_select_subconnector_show() local 323 struct drm_device *dev = connector->dev; tv_select_subconnector_show() 334 ret = drm_object_property_get_value(&connector->base, prop, &subconnector); tv_select_subconnector_show() 346 struct drm_connector *connector = to_drm_connector(device); dvii_subconnector_show() local 347 struct drm_device *dev = connector->dev; dvii_subconnector_show() 358 ret = drm_object_property_get_value(&connector->base, prop, &subconnector); dvii_subconnector_show() 370 struct drm_connector *connector = to_drm_connector(device); dvii_select_subconnector_show() local 371 struct drm_device *dev = connector->dev; dvii_select_subconnector_show() 382 ret = drm_object_property_get_value(&connector->base, prop, &subconnector); dvii_select_subconnector_show() 425 struct drm_connector *connector = to_drm_connector(dev); kobj_connector_type() local 427 return connector->connector_type; kobj_connector_type() 486 * drm_sysfs_connector_add - add a connector to sysfs 487 * @connector: connector to add 489 * Create a connector device in sysfs, along with its associated connector 491 * generate a hotplug event so userspace knows there's a new connector 494 int drm_sysfs_connector_add(struct drm_connector *connector) drm_sysfs_connector_add() argument 496 struct drm_device *dev = connector->dev; drm_sysfs_connector_add() 498 if (connector->kdev) drm_sysfs_connector_add() 501 connector->kdev = drm_sysfs_connector_add() 503 connector, connector_dev_groups, drm_sysfs_connector_add() 505 connector->name); drm_sysfs_connector_add() 507 connector->name); drm_sysfs_connector_add() 509 if (IS_ERR(connector->kdev)) { drm_sysfs_connector_add() 510 DRM_ERROR("failed to register connector device: %ld\n", PTR_ERR(connector->kdev)); drm_sysfs_connector_add() 511 return PTR_ERR(connector->kdev); drm_sysfs_connector_add() 514 /* Let userspace know we have a new connector */ drm_sysfs_connector_add() 521 * drm_sysfs_connector_remove - remove an connector device from sysfs 522 * @connector: connector to remove 524 * Remove @connector and its associated attributes from sysfs. Note that 529 * This routine should only be called if the connector was previously 530 * successfully registered. If @connector hasn't been registered yet, 533 void drm_sysfs_connector_remove(struct drm_connector *connector) drm_sysfs_connector_remove() argument 535 if (!connector->kdev) drm_sysfs_connector_remove() 538 connector->name); drm_sysfs_connector_remove() 540 device_unregister(connector->kdev); drm_sysfs_connector_remove() 541 connector->kdev = NULL; drm_sysfs_connector_remove()
|
H A D | drm_probe_helper.c | 46 * implementation of the core connector->fill_modes interface with 51 * track of a per-connector hpd interrupt. 80 static int drm_helper_probe_add_cmdline_mode(struct drm_connector *connector) drm_helper_probe_add_cmdline_mode() argument 84 if (!connector->cmdline_mode.specified) drm_helper_probe_add_cmdline_mode() 87 mode = drm_mode_create_from_cmdline_mode(connector->dev, drm_helper_probe_add_cmdline_mode() 88 &connector->cmdline_mode); drm_helper_probe_add_cmdline_mode() 92 drm_mode_probed_add(connector, mode); drm_helper_probe_add_cmdline_mode() 111 struct drm_connector *connector; drm_kms_helper_poll_enable_locked() local 118 drm_for_each_connector(connector, dev) { drm_for_each_connector() 119 if (connector->polled & (DRM_CONNECTOR_POLL_CONNECT | drm_for_each_connector() 130 static int drm_helper_probe_single_connector_modes_merge_bits(struct drm_connector *connector, drm_helper_probe_single_connector_modes_merge_bits() argument 133 struct drm_device *dev = connector->dev; drm_helper_probe_single_connector_modes_merge_bits() 136 connector->helper_private; drm_helper_probe_single_connector_modes_merge_bits() 144 DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id, drm_helper_probe_single_connector_modes_merge_bits() 145 connector->name); drm_helper_probe_single_connector_modes_merge_bits() 147 list_for_each_entry(mode, &connector->modes, head) drm_helper_probe_single_connector_modes_merge_bits() 150 if (connector->force) { drm_helper_probe_single_connector_modes_merge_bits() 151 if (connector->force == DRM_FORCE_ON || drm_helper_probe_single_connector_modes_merge_bits() 152 connector->force == DRM_FORCE_ON_DIGITAL) drm_helper_probe_single_connector_modes_merge_bits() 153 connector->status = connector_status_connected; drm_helper_probe_single_connector_modes_merge_bits() 155 connector->status = connector_status_disconnected; drm_helper_probe_single_connector_modes_merge_bits() 156 if (connector->funcs->force) drm_helper_probe_single_connector_modes_merge_bits() 157 connector->funcs->force(connector); drm_helper_probe_single_connector_modes_merge_bits() 159 old_status = connector->status; drm_helper_probe_single_connector_modes_merge_bits() 161 connector->status = connector->funcs->detect(connector, true); drm_helper_probe_single_connector_modes_merge_bits() 169 if (old_status != connector->status) { drm_helper_probe_single_connector_modes_merge_bits() 171 connector->base.id, drm_helper_probe_single_connector_modes_merge_bits() 172 connector->name, drm_helper_probe_single_connector_modes_merge_bits() 173 old_status, connector->status); drm_helper_probe_single_connector_modes_merge_bits() 194 if (connector->status == connector_status_disconnected) { drm_helper_probe_single_connector_modes_merge_bits() 196 connector->base.id, connector->name); drm_helper_probe_single_connector_modes_merge_bits() 197 drm_mode_connector_update_edid_property(connector, NULL); drm_helper_probe_single_connector_modes_merge_bits() 203 count = drm_load_edid_firmware(connector); drm_helper_probe_single_connector_modes_merge_bits() 207 if (connector->override_edid) { drm_helper_probe_single_connector_modes_merge_bits() 208 struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; drm_helper_probe_single_connector_modes_merge_bits() 210 count = drm_add_edid_modes(connector, edid); drm_helper_probe_single_connector_modes_merge_bits() 211 drm_edid_to_eld(connector, edid); drm_helper_probe_single_connector_modes_merge_bits() 213 count = (*connector_funcs->get_modes)(connector); drm_helper_probe_single_connector_modes_merge_bits() 216 if (count == 0 && connector->status == connector_status_connected) drm_helper_probe_single_connector_modes_merge_bits() 217 count = drm_add_modes_noedid(connector, 1024, 768); drm_helper_probe_single_connector_modes_merge_bits() 218 count += drm_helper_probe_add_cmdline_mode(connector); drm_helper_probe_single_connector_modes_merge_bits() 222 drm_mode_connector_list_update(connector, merge_type_bits); drm_helper_probe_single_connector_modes_merge_bits() 224 if (connector->interlace_allowed) drm_helper_probe_single_connector_modes_merge_bits() 226 if (connector->doublescan_allowed) drm_helper_probe_single_connector_modes_merge_bits() 228 if (connector->stereo_allowed) drm_helper_probe_single_connector_modes_merge_bits() 231 list_for_each_entry(mode, &connector->modes, head) { drm_helper_probe_single_connector_modes_merge_bits() 242 mode->status = connector_funcs->mode_valid(connector, drm_helper_probe_single_connector_modes_merge_bits() 247 drm_mode_prune_invalid(dev, &connector->modes, verbose_prune); drm_helper_probe_single_connector_modes_merge_bits() 249 if (list_empty(&connector->modes)) drm_helper_probe_single_connector_modes_merge_bits() 252 list_for_each_entry(mode, &connector->modes, head) drm_helper_probe_single_connector_modes_merge_bits() 255 drm_mode_sort(&connector->modes); drm_helper_probe_single_connector_modes_merge_bits() 257 DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed modes :\n", connector->base.id, drm_helper_probe_single_connector_modes_merge_bits() 258 connector->name); drm_helper_probe_single_connector_modes_merge_bits() 259 list_for_each_entry(mode, &connector->modes, head) { drm_helper_probe_single_connector_modes_merge_bits() 269 * @connector: connector to probe 273 * Based on the helper callbacks implemented by @connector try to detect all 274 * valid modes. Modes will first be added to the connector's probed_modes list, 279 * @connector vfunc for drivers that use the crtc helpers for output mode 283 * The number of modes found on @connector. 285 int drm_helper_probe_single_connector_modes(struct drm_connector *connector, drm_helper_probe_single_connector_modes() argument 288 return drm_helper_probe_single_connector_modes_merge_bits(connector, maxX, maxY, true); drm_helper_probe_single_connector_modes() 294 * @connector: connector to probe 301 int drm_helper_probe_single_connector_modes_nomerge(struct drm_connector *connector, drm_helper_probe_single_connector_modes_nomerge() argument 304 return drm_helper_probe_single_connector_modes_merge_bits(connector, maxX, maxY, false); drm_helper_probe_single_connector_modes_nomerge() 310 * @dev: drm_device whose connector state changed 337 struct drm_connector *connector; output_poll_execute() local 349 drm_for_each_connector(connector, dev) { drm_for_each_connector() 352 if (connector->force) drm_for_each_connector() 357 if (!connector->polled || connector->polled == DRM_CONNECTOR_POLL_HPD) drm_for_each_connector() 360 old_status = connector->status; drm_for_each_connector() 364 !(connector->polled & DRM_CONNECTOR_POLL_DISCONNECT)) drm_for_each_connector() 369 connector->status = connector->funcs->detect(connector, false); drm_for_each_connector() 370 if (old_status != connector->status) { drm_for_each_connector() 386 if (connector->status == connector_status_unknown) { drm_for_each_connector() 387 connector->status = old_status; drm_for_each_connector() 392 new = drm_get_connector_status_name(connector->status); drm_for_each_connector() 396 connector->base.id, drm_for_each_connector() 397 connector->name, drm_for_each_connector() 466 * Note that a connector can be both polled and probed from the hotplug handler, 498 * interrupts for each connector. 500 * Drivers which support hotplug interrupts for each connector individually and 502 * directly call drm_kms_helper_hotplug_event() in case the connector state 508 * Note that a connector can be both polled and probed from the hotplug handler, 513 struct drm_connector *connector; drm_helper_hpd_irq_event() local 521 drm_for_each_connector(connector, dev) { drm_for_each_connector() 524 if (!(connector->polled & DRM_CONNECTOR_POLL_HPD)) drm_for_each_connector() 527 old_status = connector->status; drm_for_each_connector() 529 connector->status = connector->funcs->detect(connector, false); drm_for_each_connector() 531 connector->base.id, drm_for_each_connector() 532 connector->name, drm_for_each_connector() 534 drm_get_connector_status_name(connector->status)); drm_for_each_connector() 535 if (old_status != connector->status) drm_for_each_connector()
|
H A D | drm_edid.c | 78 struct drm_connector *connector; member in struct:detailed_mode_closure 1050 static void drm_get_displayid(struct drm_connector *connector, 1253 * @connector: connector we're probing 1267 struct edid *drm_do_get_edid(struct drm_connector *connector, drm_do_get_edid() argument 1274 bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS); drm_do_get_edid() 1284 &connector->edid_corrupt)) drm_do_get_edid() 1287 connector->null_edid_counter++; drm_do_get_edid() 1319 dev_warn(connector->dev->dev, drm_do_get_edid() 1321 connector->name, j); drm_do_get_edid() 1323 connector->bad_edid_counter++; drm_do_get_edid() 1340 dev_warn(connector->dev->dev, "%s: EDID block %d invalid.\n", drm_do_get_edid() 1341 connector->name, j); drm_do_get_edid() 1343 connector->bad_edid_counter++; drm_do_get_edid() 1368 * @connector: connector we're probing 1372 * attach it to the connector. 1376 struct edid *drm_get_edid(struct drm_connector *connector, drm_get_edid() argument 1384 edid = drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter); drm_get_edid() 1386 drm_get_displayid(connector, edid); drm_get_edid() 1451 * @connector: has mode list to fix up 1454 * Walk the mode list for @connector, clearing the preferred status 1457 static void edid_fixup_preferred(struct drm_connector *connector, edid_fixup_preferred() argument 1464 if (list_empty(&connector->probed_modes)) edid_fixup_preferred() 1472 preferred_mode = list_first_entry(&connector->probed_modes, edid_fixup_preferred() 1475 list_for_each_entry_safe(cur_mode, t, &connector->probed_modes, head) { edid_fixup_preferred() 1700 * @connector: connector of for the EDID block 1708 drm_mode_std(struct drm_connector *connector, struct edid *edid, drm_mode_std() argument 1711 struct drm_device *dev = connector->dev; drm_mode_std() 1750 * If this connector already has a mode for this size and refresh drm_mode_std() 1755 list_for_each_entry(m, &connector->probed_modes, head) drm_mode_std() 2044 static bool valid_inferred_mode(const struct drm_connector *connector, valid_inferred_mode() argument 2050 list_for_each_entry(m, &connector->probed_modes, head) { valid_inferred_mode() 2063 drm_dmt_modes_for_range(struct drm_connector *connector, struct edid *edid, drm_dmt_modes_for_range() argument 2068 struct drm_device *dev = connector->dev; drm_dmt_modes_for_range() 2072 valid_inferred_mode(connector, drm_dmt_modes + i)) { drm_dmt_modes_for_range() 2075 drm_mode_probed_add(connector, newmode); drm_dmt_modes_for_range() 2098 drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid, drm_gtf_modes_for_range() argument 2103 struct drm_device *dev = connector->dev; drm_gtf_modes_for_range() 2113 !valid_inferred_mode(connector, newmode)) { drm_gtf_modes_for_range() 2118 drm_mode_probed_add(connector, newmode); drm_gtf_modes_for_range() 2126 drm_cvt_modes_for_range(struct drm_connector *connector, struct edid *edid, drm_cvt_modes_for_range() argument 2131 struct drm_device *dev = connector->dev; drm_cvt_modes_for_range() 2142 !valid_inferred_mode(connector, newmode)) { drm_cvt_modes_for_range() 2147 drm_mode_probed_add(connector, newmode); drm_cvt_modes_for_range() 2164 closure->modes += drm_dmt_modes_for_range(closure->connector, do_inferred_modes() 2174 closure->modes += drm_gtf_modes_for_range(closure->connector, do_inferred_modes() 2182 closure->modes += drm_cvt_modes_for_range(closure->connector, do_inferred_modes() 2193 add_inferred_modes(struct drm_connector *connector, struct edid *edid) add_inferred_modes() argument 2196 .connector = connector, add_inferred_modes() 2208 drm_est3_modes(struct drm_connector *connector, struct detailed_timing *timing) drm_est3_modes() argument 2220 mode = drm_mode_find_dmt(connector->dev, drm_est3_modes() 2226 drm_mode_probed_add(connector, mode); drm_est3_modes() 2243 closure->modes += drm_est3_modes(closure->connector, timing); do_established_modes() 2248 * @connector: connector to add mode(s) to 2255 add_established_modes(struct drm_connector *connector, struct edid *edid) add_established_modes() argument 2257 struct drm_device *dev = connector->dev; add_established_modes() 2263 .connector = connector, add_established_modes() 2272 drm_mode_probed_add(connector, newmode); add_established_modes() 2290 struct drm_connector *connector = closure->connector; do_standard_modes() local 2300 newmode = drm_mode_std(connector, edid, std); do_standard_modes() 2302 drm_mode_probed_add(connector, newmode); do_standard_modes() 2311 * @connector: connector to add mode(s) to 2318 add_standard_modes(struct drm_connector *connector, struct edid *edid) add_standard_modes() argument 2322 .connector = connector, add_standard_modes() 2329 newmode = drm_mode_std(connector, edid, add_standard_modes() 2332 drm_mode_probed_add(connector, newmode); add_standard_modes() 2346 static int drm_cvt_modes(struct drm_connector *connector, drm_cvt_modes() argument 2351 struct drm_device *dev = connector->dev; drm_cvt_modes() 2385 drm_mode_probed_add(connector, newmode); drm_cvt_modes() 2402 closure->modes += drm_cvt_modes(closure->connector, timing); do_cvt_mode() 2406 add_cvt_modes(struct drm_connector *connector, struct edid *edid) add_cvt_modes() argument 2409 .connector = connector, add_cvt_modes() 2430 newmode = drm_mode_detailed(closure->connector->dev, do_detailed_mode() 2446 drm_mode_probed_add(closure->connector, newmode); do_detailed_mode() 2454 * @connector: attached connector 2459 add_detailed_modes(struct drm_connector *connector, struct edid *edid, add_detailed_modes() argument 2463 .connector = connector, add_detailed_modes() 2644 add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid) add_alternate_cea_modes() argument 2646 struct drm_device *dev = connector->dev; add_alternate_cea_modes() 2659 list_for_each_entry(mode, &connector->probed_modes, head) { add_alternate_cea_modes() 2708 drm_mode_probed_add(connector, mode); add_alternate_cea_modes() 2716 drm_display_mode_from_vic_index(struct drm_connector *connector, drm_display_mode_from_vic_index() argument 2720 struct drm_device *dev = connector->dev; drm_display_mode_from_vic_index() 2742 do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) do_cea_modes() argument 2748 mode = drm_display_mode_from_vic_index(connector, db, len, i); do_cea_modes() 2750 drm_mode_probed_add(connector, mode); do_cea_modes() 2788 static int add_hdmi_mandatory_stereo_modes(struct drm_connector *connector) add_hdmi_mandatory_stereo_modes() argument 2790 struct drm_device *dev = connector->dev; add_hdmi_mandatory_stereo_modes() 2797 list_for_each_entry(mode, &connector->probed_modes, head) { add_hdmi_mandatory_stereo_modes() 2817 list_splice_tail(&stereo_modes, &connector->probed_modes); add_hdmi_mandatory_stereo_modes() 2822 static int add_hdmi_mode(struct drm_connector *connector, u8 vic) add_hdmi_mode() argument 2824 struct drm_device *dev = connector->dev; add_hdmi_mode() 2837 drm_mode_probed_add(connector, newmode); add_hdmi_mode() 2842 static int add_3d_struct_modes(struct drm_connector *connector, u16 structure, add_3d_struct_modes() argument 2849 newmode = drm_display_mode_from_vic_index(connector, video_db, add_3d_struct_modes() 2854 drm_mode_probed_add(connector, newmode); add_3d_struct_modes() 2859 newmode = drm_display_mode_from_vic_index(connector, video_db, add_3d_struct_modes() 2864 drm_mode_probed_add(connector, newmode); add_3d_struct_modes() 2869 newmode = drm_display_mode_from_vic_index(connector, video_db, add_3d_struct_modes() 2874 drm_mode_probed_add(connector, newmode); add_3d_struct_modes() 2884 * @connector: connector corresponding to the HDMI sink 2888 * Parses the HDMI VSDB looking for modes to add to @connector. This function 2892 do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len, do_hdmi_vsdb_modes() argument 2923 modes += add_hdmi_mandatory_stereo_modes(connector); do_hdmi_vsdb_modes() 2937 modes += add_hdmi_mode(connector, vic); do_hdmi_vsdb_modes() 2966 modes += add_3d_struct_modes(connector, do_hdmi_vsdb_modes() 3005 newmode = drm_display_mode_from_vic_index(connector, do_hdmi_vsdb_modes() 3012 drm_mode_probed_add(connector, newmode); do_hdmi_vsdb_modes() 3075 add_cea_modes(struct drm_connector *connector, struct edid *edid) add_cea_modes() argument 3095 modes += do_cea_modes(connector, video, dbl); for_each_cea_db() 3109 modes += do_hdmi_vsdb_modes(connector, hdmi, hdmi_len, video, 3155 parse_hdmi_vsdb(struct drm_connector *connector, const u8 *db) parse_hdmi_vsdb() argument 3160 connector->eld[5] |= (db[6] >> 7) << 1; /* Supports_AI */ parse_hdmi_vsdb() 3161 connector->dvi_dual = db[6] & 1; parse_hdmi_vsdb() 3164 connector->max_tmds_clock = db[7] * 5; parse_hdmi_vsdb() 3166 connector->latency_present[0] = db[8] >> 7; parse_hdmi_vsdb() 3167 connector->latency_present[1] = (db[8] >> 6) & 1; parse_hdmi_vsdb() 3170 connector->video_latency[0] = db[9]; parse_hdmi_vsdb() 3172 connector->audio_latency[0] = db[10]; parse_hdmi_vsdb() 3174 connector->video_latency[1] = db[11]; parse_hdmi_vsdb() 3176 connector->audio_latency[1] = db[12]; parse_hdmi_vsdb() 3183 connector->dvi_dual, parse_hdmi_vsdb() 3184 connector->max_tmds_clock, parse_hdmi_vsdb() 3185 (int) connector->latency_present[0], parse_hdmi_vsdb() 3186 (int) connector->latency_present[1], parse_hdmi_vsdb() 3187 connector->video_latency[0], parse_hdmi_vsdb() 3188 connector->video_latency[1], parse_hdmi_vsdb() 3189 connector->audio_latency[0], parse_hdmi_vsdb() 3190 connector->audio_latency[1]); parse_hdmi_vsdb() 3202 * @connector: connector corresponding to the HDMI/DP sink 3209 void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid) drm_edid_to_eld() argument 3211 uint8_t *eld = connector->eld; drm_edid_to_eld() 3219 memset(eld, 0, sizeof(connector->eld)); drm_edid_to_eld() 3271 parse_hdmi_vsdb(connector, db); for_each_cea_db() 3405 * @connector: connector associated with the HDMI/DP sink 3411 int drm_av_sync_delay(struct drm_connector *connector, drm_av_sync_delay() argument 3417 if (!connector->latency_present[0]) drm_av_sync_delay() 3419 if (!connector->latency_present[1]) drm_av_sync_delay() 3422 a = connector->audio_latency[i]; drm_av_sync_delay() 3423 v = connector->video_latency[i]; drm_av_sync_delay() 3451 * Return: The connector associated with the first HDMI/DP sink that has ELD 3456 struct drm_connector *connector; drm_select_eld() local 3462 drm_for_each_connector(connector, dev) drm_select_eld() 3463 if (connector->encoder == encoder && connector->eld[0]) drm_select_eld() 3464 return connector; drm_select_eld() 3591 * @connector: DRM connector, used only for debug output 3598 struct drm_connector *connector) drm_assign_hdmi_deep_color_info() 3629 connector->name); for_each_cea_db() 3636 connector->name); for_each_cea_db() 3643 connector->name); for_each_cea_db() 3648 connector->name, dc_bpc); for_each_cea_db() 3662 connector->name); for_each_cea_db() 3671 connector->name); for_each_cea_db() 3678 connector->name); for_each_cea_db() 3689 * @info: display info (attached to connector) 3690 * @connector: connector whose edid is used to build display info 3693 * structure that's part of the connector. Useful for tracking bpp and 3698 struct drm_connector *connector) drm_add_display_info() 3729 drm_assign_hdmi_deep_color_info(edid, info, connector); drm_add_display_info() 3761 connector->name, info->bpc); drm_add_display_info() 3772 * @connector: connector we're probing 3775 * Add the specified modes to the connector's mode list. 3779 int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) drm_add_edid_modes() argument 3788 dev_warn(connector->dev->dev, "%s: EDID invalid.\n", drm_add_edid_modes() 3789 connector->name); drm_add_edid_modes() 3809 num_modes += add_detailed_modes(connector, edid, quirks); drm_add_edid_modes() 3810 num_modes += add_cvt_modes(connector, edid); drm_add_edid_modes() 3811 num_modes += add_standard_modes(connector, edid); drm_add_edid_modes() 3812 num_modes += add_established_modes(connector, edid); drm_add_edid_modes() 3813 num_modes += add_cea_modes(connector, edid); drm_add_edid_modes() 3814 num_modes += add_alternate_cea_modes(connector, edid); drm_add_edid_modes() 3816 num_modes += add_inferred_modes(connector, edid); drm_add_edid_modes() 3819 edid_fixup_preferred(connector, quirks); drm_add_edid_modes() 3821 drm_add_display_info(edid, &connector->display_info, connector); drm_add_edid_modes() 3824 connector->display_info.bpc = 8; drm_add_edid_modes() 3827 connector->display_info.bpc = 12; drm_add_edid_modes() 3835 * @connector: connector we're probing 3839 * Add the specified modes to the connector's mode list. Only when the 3844 int drm_add_modes_noedid(struct drm_connector *connector, drm_add_modes_noedid() argument 3849 struct drm_device *dev = connector->dev; drm_add_modes_noedid() 3863 * the connector. drm_add_modes_noedid() 3873 drm_mode_probed_add(connector, mode); drm_add_modes_noedid() 3882 * drm_set_preferred_mode - Sets the preferred mode of a connector 3883 * @connector: connector whose mode list should be processed 3890 void drm_set_preferred_mode(struct drm_connector *connector, drm_set_preferred_mode() argument 3895 list_for_each_entry(mode, &connector->probed_modes, head) { drm_set_preferred_mode() 4021 static int drm_parse_display_id(struct drm_connector *connector, drm_parse_display_id() argument 4072 connector->has_tile = true; drm_parse_display_id() 4074 connector->tile_is_single_monitor = true; drm_parse_display_id() 4076 connector->num_h_tile = num_h_tile + 1; drm_parse_display_id() 4077 connector->num_v_tile = num_v_tile + 1; drm_parse_display_id() 4078 connector->tile_h_loc = tile_h_loc; drm_parse_display_id() 4079 connector->tile_v_loc = tile_v_loc; drm_parse_display_id() 4080 connector->tile_h_size = w + 1; drm_parse_display_id() 4081 connector->tile_v_size = h + 1; drm_parse_display_id() 4089 tg = drm_mode_get_tile_group(connector->dev, tile->topology_id); drm_parse_display_id() 4091 tg = drm_mode_create_tile_group(connector->dev, tile->topology_id); drm_parse_display_id() 4096 if (connector->tile_group != tg) { drm_parse_display_id() 4099 if (connector->tile_group) { drm_parse_display_id() 4100 drm_mode_put_tile_group(connector->dev, connector->tile_group); drm_parse_display_id() 4102 connector->tile_group = tg; drm_parse_display_id() 4105 drm_mode_put_tile_group(connector->dev, tg); drm_parse_display_id() 4115 static void drm_get_displayid(struct drm_connector *connector, drm_get_displayid() argument 4120 connector->has_tile = false; drm_get_displayid() 4127 ret = drm_parse_display_id(connector, displayid, EDID_LENGTH, true); drm_get_displayid() 4130 if (!connector->has_tile) drm_get_displayid() 4134 if (connector->tile_group) { drm_get_displayid() 4135 drm_mode_put_tile_group(connector->dev, connector->tile_group); drm_get_displayid() 4136 connector->tile_group = NULL; drm_get_displayid() 3596 drm_assign_hdmi_deep_color_info(struct edid *edid, struct drm_display_info *info, struct drm_connector *connector) drm_assign_hdmi_deep_color_info() argument 3696 drm_add_display_info(struct edid *edid, struct drm_display_info *info, struct drm_connector *connector) drm_add_display_info() argument
|
H A D | drm_debugfs.c | 242 struct drm_connector *connector = m->private; connector_show() local 245 switch (connector->force) { connector_show() 282 struct drm_connector *connector = m->private; connector_write() local 294 connector->force = DRM_FORCE_ON; connector_write() 296 connector->force = DRM_FORCE_ON_DIGITAL; connector_write() 298 connector->force = DRM_FORCE_OFF; connector_write() 300 connector->force = DRM_FORCE_UNSPECIFIED; connector_write() 309 struct drm_connector *connector = m->private; edid_show() local 310 struct drm_property_blob *edid = connector->edid_blob_ptr; edid_show() 312 if (connector->override_edid && edid) edid_show() 329 struct drm_connector *connector = m->private; edid_write() local 341 connector->override_edid = false; edid_write() 342 ret = drm_mode_connector_update_edid_property(connector, NULL); edid_write() 347 connector->override_edid = false; edid_write() 348 ret = drm_mode_connector_update_edid_property(connector, edid); edid_write() 350 connector->override_edid = true; edid_write() 377 int drm_debugfs_connector_add(struct drm_connector *connector) drm_debugfs_connector_add() argument 379 struct drm_minor *minor = connector->dev->primary; drm_debugfs_connector_add() 385 root = debugfs_create_dir(connector->name, minor->debugfs_root); drm_debugfs_connector_add() 389 connector->debugfs_entry = root; drm_debugfs_connector_add() 392 ent = debugfs_create_file("force", S_IRUGO | S_IWUSR, root, connector, drm_debugfs_connector_add() 399 connector, &drm_edid_fops); drm_debugfs_connector_add() 406 debugfs_remove_recursive(connector->debugfs_entry); drm_debugfs_connector_add() 407 connector->debugfs_entry = NULL; drm_debugfs_connector_add() 411 void drm_debugfs_connector_remove(struct drm_connector *connector) drm_debugfs_connector_remove() argument 413 if (!connector->debugfs_entry) drm_debugfs_connector_remove() 416 debugfs_remove_recursive(connector->debugfs_entry); drm_debugfs_connector_remove() 418 connector->debugfs_entry = NULL; drm_debugfs_connector_remove()
|
H A D | drm_crtc_helper.c | 72 * connector list 75 * Some userspace presumes that the first connected connector is the main 78 * (eDP/LVDS) panels to the front of the connector list, instead of 83 struct drm_connector *connector, *tmp; drm_helper_move_panel_connectors_to_head() local 88 list_for_each_entry_safe(connector, tmp, drm_helper_move_panel_connectors_to_head() 90 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS || drm_helper_move_panel_connectors_to_head() 91 connector->connector_type == DRM_MODE_CONNECTOR_eDP) drm_helper_move_panel_connectors_to_head() 92 list_move_tail(&connector->head, &panel_list); drm_helper_move_panel_connectors_to_head() 104 * in use by any connector. This doesn't mean that it is actually enabled since 112 struct drm_connector *connector; drm_helper_encoder_in_use() local 124 drm_for_each_connector(connector, dev) drm_helper_encoder_in_use() 125 if (connector->encoder == encoder) drm_helper_encoder_in_use() 136 * in use by any connector. This doesn't mean that it is actually enabled since 186 /* disconnect encoder from any connector */ drm_for_each_encoder() 305 * adjust it according to limitations or connector properties, and also drm_crtc_helper_set_mode() 417 struct drm_connector *connector; drm_crtc_helper_disable() local 425 drm_for_each_connector(connector, dev) { drm_for_each_connector() 426 if (connector->encoder != encoder) drm_for_each_connector() 429 connector->encoder = NULL; drm_for_each_connector() 434 * from the connector above, the required connection drm_for_each_connector() 437 connector->dpms = DRM_MODE_DPMS_OFF; drm_for_each_connector() 464 struct drm_connector *save_connectors, *connector; drm_crtc_helper_set_config() local 502 * connector data. drm_crtc_helper_set_config() 527 drm_for_each_connector(connector, dev) { drm_for_each_connector() 528 save_connectors[count++] = *connector; drm_for_each_connector() 563 /* a) traverse passed in connector list and get encoders for them */ 565 drm_for_each_connector(connector, dev) { drm_for_each_connector() 567 connector->helper_private; drm_for_each_connector() 568 new_encoder = connector->encoder; drm_for_each_connector() 570 if (set->connectors[ro] == connector) { drm_for_each_connector() 571 new_encoder = connector_funcs->best_encoder(connector); drm_for_each_connector() 572 /* if we can't get an encoder for a connector drm_for_each_connector() 578 if (connector->dpms != DRM_MODE_DPMS_ON) { drm_for_each_connector() 579 DRM_DEBUG_KMS("connector dpms not on, full mode switch\n"); drm_for_each_connector() 587 if (new_encoder != connector->encoder) { drm_for_each_connector() 590 /* If the encoder is reused for another connector, then drm_for_each_connector() 593 if (connector->encoder) drm_for_each_connector() 594 connector->encoder->crtc = NULL; drm_for_each_connector() 595 connector->encoder = new_encoder; drm_for_each_connector() 605 drm_for_each_connector(connector, dev) { drm_for_each_connector() 606 if (!connector->encoder) drm_for_each_connector() 609 if (connector->encoder->crtc == set->crtc) drm_for_each_connector() 612 new_crtc = connector->encoder->crtc; drm_for_each_connector() 615 if (set->connectors[ro] == connector) drm_for_each_connector() 621 !drm_encoder_crtc_ok(connector->encoder, new_crtc)) { drm_for_each_connector() 625 if (new_crtc != connector->encoder->crtc) { drm_for_each_connector() 628 connector->encoder->crtc = new_crtc; drm_for_each_connector() 632 connector->base.id, connector->name, drm_for_each_connector() 636 connector->base.id, connector->name); drm_for_each_connector() 659 DRM_DEBUG_KMS("Setting connector DPMS state to on\n"); 693 drm_for_each_connector(connector, dev) { drm_for_each_connector() 694 *connector = save_connectors[count++]; drm_for_each_connector() 712 struct drm_connector *connector; drm_helper_choose_encoder_dpms() local 715 drm_for_each_connector(connector, dev) drm_helper_choose_encoder_dpms() 716 if (connector->encoder == encoder) drm_helper_choose_encoder_dpms() 717 if (connector->dpms < dpms) drm_helper_choose_encoder_dpms() 718 dpms = connector->dpms; drm_helper_choose_encoder_dpms() 746 struct drm_connector *connector; drm_helper_choose_crtc_dpms() local 749 drm_for_each_connector(connector, dev) drm_helper_choose_crtc_dpms() 750 if (connector->encoder && connector->encoder->crtc == crtc) drm_helper_choose_crtc_dpms() 751 if (connector->dpms < dpms) drm_helper_choose_crtc_dpms() 752 dpms = connector->dpms; drm_helper_choose_crtc_dpms() 757 * drm_helper_connector_dpms() - connector dpms helper implementation 758 * @connector: affected connector 762 * implementing the DPMS connector attribute. It computes the new desired DPMS 769 int drm_helper_connector_dpms(struct drm_connector *connector, int mode) drm_helper_connector_dpms() argument 771 struct drm_encoder *encoder = connector->encoder; drm_helper_connector_dpms() 775 if (mode == connector->dpms) drm_helper_connector_dpms() 778 old_dpms = connector->dpms; drm_helper_connector_dpms() 779 connector->dpms = mode; drm_helper_connector_dpms()
|
H A D | drm_panel.c | 57 int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector) drm_panel_attach() argument 59 if (panel->connector) drm_panel_attach() 62 panel->connector = connector; drm_panel_attach() 63 panel->drm = connector->dev; drm_panel_attach() 71 panel->connector = NULL; drm_panel_detach()
|
H A D | drm_atomic_helper.c | 88 struct drm_connector *connector; get_current_crtc_for_encoder() local 92 drm_for_each_connector(connector, dev) { drm_for_each_connector() 93 if (connector->state->best_encoder != encoder) drm_for_each_connector() 96 return connector->state->crtc; drm_for_each_connector() 109 struct drm_connector *connector; steal_encoder() local 114 * We can only steal an encoder coming from a connector, which means we steal_encoder() 129 list_for_each_entry(connector, &config->connector_list, head) { steal_encoder() 130 if (connector->state->best_encoder != encoder) steal_encoder() 134 connector->base.id, steal_encoder() 135 connector->name); steal_encoder() 138 connector); steal_encoder() 157 struct drm_connector *connector; update_connector_routing() local 162 connector = state->connectors[conn_idx]; update_connector_routing() 165 if (!connector) update_connector_routing() 169 connector->base.id, update_connector_routing() 170 connector->name); update_connector_routing() 172 if (connector->state->crtc != connector_state->crtc) { update_connector_routing() 173 if (connector->state->crtc) { update_connector_routing() 174 idx = drm_crtc_index(connector->state->crtc); update_connector_routing() 190 connector->base.id, update_connector_routing() 191 connector->name); update_connector_routing() 198 funcs = connector->helper_private; update_connector_routing() 201 new_encoder = funcs->atomic_best_encoder(connector, update_connector_routing() 204 new_encoder = funcs->best_encoder(connector); update_connector_routing() 208 connector->base.id, update_connector_routing() 209 connector->name); update_connector_routing() 223 connector->base.id, update_connector_routing() 224 connector->name, update_connector_routing() 239 connector->base.id, update_connector_routing() 240 connector->name); update_connector_routing() 255 connector->base.id, update_connector_routing() 256 connector->name, update_connector_routing() 269 struct drm_connector *connector; mode_fixup() local 282 for_each_connector_in_state(state, connector, conn_state, i) { for_each_connector_in_state() 295 * Each encoder has at most one connector (since we always steal for_each_connector_in_state() 358 * This does all the crtc and connector related computations for an atomic 363 * crtc_state->connectors_changed is set when a connector is added or 385 struct drm_connector *connector; drm_atomic_helper_check_modeset() local 413 for_each_connector_in_state(state, connector, connector_state, i) { for_each_connector_in_state() 416 * drivers must set crtc->mode_changed themselves when connector for_each_connector_in_state() 426 * connector which is itself unchanged, but who's crtc changes it's 578 struct drm_connector *connector; disable_outputs() local 584 for_each_connector_in_state(old_state, connector, old_conn_state, i) { for_each_connector_in_state() 614 * Each encoder has at most one connector (since we always steal for_each_connector_in_state() 620 if (connector->state->crtc && funcs->prepare) for_each_connector_in_state() 673 struct drm_connector *connector; drm_atomic_helper_update_legacy_modeset_state() local 680 for_each_connector_in_state(old_state, connector, old_conn_state, i) { for_each_connector_in_state() 681 if (connector->encoder) { for_each_connector_in_state() 682 WARN_ON(!connector->encoder->crtc); for_each_connector_in_state() 684 connector->encoder->crtc = NULL; for_each_connector_in_state() 685 connector->encoder = NULL; for_each_connector_in_state() 688 crtc = connector->state->crtc; for_each_connector_in_state() 698 connector->dpms = mode; for_each_connector_in_state() 699 drm_object_property_set_value(&connector->base, for_each_connector_in_state() 705 for_each_connector_in_state(old_state, connector, old_conn_state, i) { for_each_connector_in_state() 706 if (!connector->state->crtc) for_each_connector_in_state() 709 if (WARN_ON(!connector->state->best_encoder)) for_each_connector_in_state() 712 connector->encoder = connector->state->best_encoder; for_each_connector_in_state() 713 connector->encoder->crtc = connector->state->crtc; for_each_connector_in_state() 741 struct drm_connector *connector; crtc_set_mode() local 761 for_each_connector_in_state(old_state, connector, old_conn_state, i) { for_each_connector_in_state() 767 if (!connector->state->best_encoder) for_each_connector_in_state() 770 encoder = connector->state->best_encoder; for_each_connector_in_state() 772 new_crtc_state = connector->state->crtc->state; for_each_connector_in_state() 783 * Each encoder has at most one connector (since we always steal for_each_connector_in_state() 837 struct drm_connector *connector; drm_atomic_helper_commit_modeset_enables() local 864 for_each_connector_in_state(old_state, connector, old_conn_state, i) { for_each_connector_in_state() 868 if (!connector->state->best_encoder) for_each_connector_in_state() 871 if (!connector->state->crtc->state->active || for_each_connector_in_state() 872 !drm_atomic_crtc_needs_modeset(connector->state->crtc->state)) for_each_connector_in_state() 875 encoder = connector->state->best_encoder; for_each_connector_in_state() 882 * Each encoder has at most one connector (since we always steal for_each_connector_in_state() 1405 struct drm_connector *connector = state->connectors[i]; drm_atomic_helper_swap_state() local 1407 if (!connector) drm_atomic_helper_swap_state() 1410 connector->state->state = state; drm_atomic_helper_swap_state() 1411 swap(state->connector_states[i], connector->state); drm_atomic_helper_swap_state() 1412 connector->state->state = NULL; drm_atomic_helper_swap_state() 1628 struct drm_connector *connector; update_output_state() local 1637 /* First grab all affected connector/crtc states. */ update_output_state() 1651 /* Then recompute connector->crtc links and crtc enabling state. */ for_each_connector_in_state() 1652 for_each_connector_in_state(state, connector, conn_state, i) { for_each_connector_in_state() 1661 if (set->connectors[j] == connector) { for_each_connector_in_state() 1941 * drm_atomic_helper_connector_set_property - helper for connector properties 1942 * @connector: DRM connector 1946 * Provides a default connector set_property handler using the atomic driver 1953 drm_atomic_helper_connector_set_property(struct drm_connector *connector, drm_atomic_helper_connector_set_property() argument 1961 state = drm_atomic_state_alloc(connector->dev); drm_atomic_helper_connector_set_property() 1966 state->acquire_ctx = connector->dev->mode_config.acquire_ctx; drm_atomic_helper_connector_set_property() 1968 connector_state = drm_atomic_get_connector_state(state, connector); drm_atomic_helper_connector_set_property() 1974 ret = drm_atomic_connector_set_property(connector, connector_state, drm_atomic_helper_connector_set_property() 2083 * drm_atomic_helper_connector_dpms() - connector dpms helper implementation 2084 * @connector: affected connector 2088 * implementing the legacy DPMS connector interface. It computes the new desired 2089 * ->active state for the corresponding CRTC (if the connector is enabled) and 2095 int drm_atomic_helper_connector_dpms(struct drm_connector *connector, drm_atomic_helper_connector_dpms() argument 2098 struct drm_mode_config *config = &connector->dev->mode_config; drm_atomic_helper_connector_dpms() 2105 int old_mode = connector->dpms; drm_atomic_helper_connector_dpms() 2110 connector->dpms = mode; drm_atomic_helper_connector_dpms() 2111 crtc = connector->state->crtc; drm_atomic_helper_connector_dpms() 2116 state = drm_atomic_state_alloc(connector->dev); drm_atomic_helper_connector_dpms() 2130 drm_for_each_connector(tmp_connector, connector->dev) { drm_atomic_helper_connector_dpms() 2151 connector->dpms = old_mode; drm_atomic_helper_connector_dpms() 2372 * @connector: drm connector 2374 * Resets the atomic state for @connector by freeing the state pointer (which 2378 void drm_atomic_helper_connector_reset(struct drm_connector *connector) drm_atomic_helper_connector_reset() argument 2380 kfree(connector->state); drm_atomic_helper_connector_reset() 2381 connector->state = kzalloc(sizeof(*connector->state), GFP_KERNEL); drm_atomic_helper_connector_reset() 2383 if (connector->state) drm_atomic_helper_connector_reset() 2384 connector->state->connector = connector; drm_atomic_helper_connector_reset() 2389 * __drm_atomic_helper_connector_duplicate_state - copy atomic connector state 2390 * @connector: connector object 2391 * @state: atomic connector state 2393 * Copies atomic state from a connector's current state. This is useful for 2394 * drivers that subclass the connector state. 2397 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector, __drm_atomic_helper_connector_duplicate_state() argument 2400 memcpy(state, connector->state, sizeof(*state)); __drm_atomic_helper_connector_duplicate_state() 2406 * @connector: drm connector 2408 * Default connector state duplicate hook for drivers which don't have their own 2409 * subclassed connector state structure. 2412 drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector) drm_atomic_helper_connector_duplicate_state() argument 2416 if (WARN_ON(!connector->state)) drm_atomic_helper_connector_duplicate_state() 2421 __drm_atomic_helper_connector_duplicate_state(connector, state); drm_atomic_helper_connector_duplicate_state() 2506 * __drm_atomic_helper_connector_destroy_state - release connector state 2507 * @connector: connector object 2508 * @state: connector state object to release 2510 * Releases all resources stored in the connector state without actually 2511 * freeing the memory of the connector state. This is useful for drivers that 2512 * subclass the connector state. 2515 __drm_atomic_helper_connector_destroy_state(struct drm_connector *connector, __drm_atomic_helper_connector_destroy_state() argument 2528 * @connector: drm connector 2529 * @state: connector state object to release 2531 * Default connector state destroy hook for drivers which don't have their own 2532 * subclassed connector state structure. 2534 void drm_atomic_helper_connector_destroy_state(struct drm_connector *connector, drm_atomic_helper_connector_destroy_state() argument 2537 __drm_atomic_helper_connector_destroy_state(connector, state); drm_atomic_helper_connector_destroy_state()
|
H A D | drm_fb_helper.c | 99 * This function is protected against concurrent connector hotadds/removals 106 struct drm_connector *connector; drm_fb_helper_single_add_all_connectors() local 113 drm_for_each_connector(connector, dev) { drm_for_each_connector() 120 fb_helper_connector->connector = connector; drm_for_each_connector() 137 int drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector) drm_fb_helper_add_one_connector() argument 160 fb_helper_connector->connector = connector; drm_fb_helper_add_one_connector() 167 struct drm_connector *connector) remove_from_modeset() 172 if (set->connectors[i] == connector) remove_from_modeset() 189 drm_mode_destroy(connector->dev, set->mode); remove_from_modeset() 195 struct drm_connector *connector) drm_fb_helper_remove_one_connector() 206 if (fb_helper->connector_info[i]->connector == connector) drm_fb_helper_remove_one_connector() 220 /* also cleanup dangling references to the connector: */ drm_fb_helper_remove_one_connector() 222 remove_from_modeset(&fb_helper->crtc_info[i].mode_set, connector); drm_fb_helper_remove_one_connector() 564 struct drm_connector *connector; drm_fb_helper_dpms() local 584 connector = fb_helper->connector_info[j]->connector; drm_fb_helper_dpms() 585 connector->funcs->dpms(connector, dpms_mode); drm_fb_helper_dpms() 586 drm_object_property_set_value(&connector->base, drm_fb_helper_dpms() 667 * @max_conn_count: max connector count 1363 cmdline_mode = &fb_helper_conn->connector->cmdline_mode; drm_fb_helper_single_fb_probe() 1418 struct drm_connector *connector = mode_set->connectors[j]; drm_fb_helper_single_fb_probe() local 1419 if (connector->has_tile) { drm_fb_helper_single_fb_probe() 1420 lasth = (connector->tile_h_loc == (connector->num_h_tile - 1)); drm_fb_helper_single_fb_probe() 1421 lastv = (connector->tile_v_loc == (connector->num_v_tile - 1)); drm_fb_helper_single_fb_probe() 1600 struct drm_connector *connector; drm_fb_helper_probe_connector_modes() local 1605 connector = fb_helper->connector_info[i]->connector; drm_fb_helper_probe_connector_modes() 1606 count += connector->funcs->fill_modes(connector, maxX, maxY); drm_fb_helper_probe_connector_modes() 1616 list_for_each_entry(mode, &fb_connector->connector->modes, head) { drm_has_preferred_mode() 1629 return fb_connector->connector->cmdline_mode.specified; drm_has_cmdline_mode() 1639 cmdline_mode = &fb_helper_conn->connector->cmdline_mode; drm_pick_cmdline_mode() 1651 list_for_each_entry(mode, &fb_helper_conn->connector->modes, head) { drm_pick_cmdline_mode() 1678 mode = drm_mode_create_from_cmdline_mode(fb_helper_conn->connector->dev, drm_pick_cmdline_mode() 1680 list_add(&mode->head, &fb_helper_conn->connector->modes); drm_pick_cmdline_mode() 1685 static bool drm_connector_enabled(struct drm_connector *connector, bool strict) drm_connector_enabled() argument 1690 enable = connector->status == connector_status_connected; drm_connector_enabled() 1692 enable = connector->status != connector_status_disconnected; drm_connector_enabled() 1701 struct drm_connector *connector; drm_enable_connectors() local 1705 connector = fb_helper->connector_info[i]->connector; drm_enable_connectors() 1706 enabled[i] = drm_connector_enabled(connector, true); drm_enable_connectors() 1707 DRM_DEBUG_KMS("connector %d enabled? %s\n", connector->base.id, drm_enable_connectors() 1716 connector = fb_helper->connector_info[i]->connector; drm_enable_connectors() 1717 enabled[i] = drm_connector_enabled(connector, false); drm_enable_connectors() 1741 /* only contemplate cloning if more than one connector is enabled */ drm_target_cloned() 1769 /* try and find a 1024x768 mode on each connector */ drm_target_cloned() 1779 list_for_each_entry(mode, &fb_helper_conn->connector->modes, head) { drm_target_cloned() 1807 if (!fb_helper_conn->connector->has_tile) drm_get_tile_offsets() 1811 DRM_DEBUG_KMS("no modes for connector tiled %d %d\n", i, drm_get_tile_offsets() 1812 fb_helper_conn->connector->base.id); drm_get_tile_offsets() 1815 if (fb_helper_conn->connector->tile_h_loc < h_idx) drm_get_tile_offsets() 1818 if (fb_helper_conn->connector->tile_v_loc < v_idx) drm_get_tile_offsets() 1850 if (tile_pass == 0 && fb_helper_conn->connector->has_tile) drm_target_preferred() 1854 if (fb_helper_conn->connector->tile_h_loc != 0 || drm_target_preferred() 1855 fb_helper_conn->connector->tile_v_loc != 0) drm_target_preferred() 1859 if (fb_helper_conn->connector->tile_h_loc != tile_pass -1 && drm_target_preferred() 1860 fb_helper_conn->connector->tile_v_loc != tile_pass - 1) drm_target_preferred() 1867 i, fb_helper_conn->connector->tile_h_loc, fb_helper_conn->connector->tile_v_loc); drm_target_preferred() 1869 DRM_DEBUG_KMS("looking for cmdline mode on connector %d\n", drm_target_preferred() 1870 fb_helper_conn->connector->base.id); drm_target_preferred() 1875 DRM_DEBUG_KMS("looking for preferred mode on connector %d %d\n", drm_target_preferred() 1876 fb_helper_conn->connector->base.id, fb_helper_conn->connector->tile_group ? fb_helper_conn->connector->tile_group->id : 0); drm_target_preferred() 1880 if (!modes[i] && !list_empty(&fb_helper_conn->connector->modes)) { drm_target_preferred() 1881 list_for_each_entry(modes[i], &fb_helper_conn->connector->modes, head) drm_target_preferred() 1902 struct drm_connector *connector; drm_pick_crtcs() local 1913 connector = fb_helper_conn->connector; drm_pick_crtcs() 1926 if (connector->status == connector_status_connected) drm_pick_crtcs() 1933 connector_funcs = connector->helper_private; drm_pick_crtcs() 1934 encoder = connector_funcs->best_encoder(connector); drm_pick_crtcs() 1938 /* select a crtc for this connector and then attempt to configure drm_pick_crtcs() 2028 /* fill out the connector<->crtc mappings into the modesets */ drm_setup_crtcs() 2051 modeset->connectors[modeset->num_connectors++] = fb_helper->connector_info[i]->connector; drm_setup_crtcs() 2076 * drm_fb_helper_initial_config - setup a sane initial connector configuration 166 remove_from_modeset(struct drm_mode_set *set, struct drm_connector *connector) remove_from_modeset() argument 194 drm_fb_helper_remove_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector) drm_fb_helper_remove_one_connector() argument
|
H A D | drm_crtc.c | 210 * drm_get_connector_status_name - return a string for connector status 211 * @status: connector status to compute name of 760 * @connector: connector list to modify 763 * Remove @mode from @connector's mode list, then free it. 765 static void drm_mode_remove(struct drm_connector *connector, drm_mode_remove() argument 769 drm_mode_destroy(connector->dev, mode); drm_mode_remove() 808 * @connector: connector to quwery 810 * The kernel supports per-connector configration of its consoles through 813 * particular connector. This is typically only used during the early fbdev 816 static void drm_connector_get_cmdline_mode(struct drm_connector *connector) drm_connector_get_cmdline_mode() argument 818 struct drm_cmdline_mode *mode = &connector->cmdline_mode; drm_connector_get_cmdline_mode() 821 if (fb_get_options(connector->name, &option)) drm_connector_get_cmdline_mode() 825 connector, drm_connector_get_cmdline_mode() 845 DRM_INFO("forcing %s connector %s\n", connector->name, s); drm_connector_get_cmdline_mode() 846 connector->force = mode->force; drm_connector_get_cmdline_mode() 849 DRM_DEBUG_KMS("cmdline mode for connector %s %dx%d@%dHz%s%s%s\n", drm_connector_get_cmdline_mode() 850 connector->name, drm_connector_get_cmdline_mode() 859 * drm_connector_init - Init a preallocated connector 861 * @connector: the connector to init 862 * @funcs: callbacks for this connector 863 * @connector_type: user visible type of the connector 865 * Initialises a preallocated connector. Connectors should be 866 * subclassed as part of driver connector objects. 872 struct drm_connector *connector, drm_connector_init() 883 ret = drm_mode_object_get_reg(dev, &connector->base, DRM_MODE_OBJECT_CONNECTOR, false); drm_connector_init() 887 connector->base.properties = &connector->properties; drm_connector_init() 888 connector->dev = dev; drm_connector_init() 889 connector->funcs = funcs; drm_connector_init() 890 connector->connector_type = connector_type; drm_connector_init() 891 connector->connector_type_id = drm_connector_init() 893 if (connector->connector_type_id < 0) { drm_connector_init() 894 ret = connector->connector_type_id; drm_connector_init() 897 connector->name = drm_connector_init() 900 connector->connector_type_id); drm_connector_init() 901 if (!connector->name) { drm_connector_init() 906 INIT_LIST_HEAD(&connector->probed_modes); drm_connector_init() 907 INIT_LIST_HEAD(&connector->modes); drm_connector_init() 908 connector->edid_blob_ptr = NULL; drm_connector_init() 909 connector->status = connector_status_unknown; drm_connector_init() 911 drm_connector_get_cmdline_mode(connector); drm_connector_init() 913 /* We should add connectors at the end to avoid upsetting the connector drm_connector_init() 915 list_add_tail(&connector->head, &config->connector_list); drm_connector_init() 919 drm_object_attach_property(&connector->base, drm_connector_init() 923 drm_object_attach_property(&connector->base, drm_connector_init() 927 drm_object_attach_property(&connector->base, config->prop_crtc_id, 0); drm_connector_init() 930 connector->debugfs_entry = NULL; drm_connector_init() 934 drm_mode_object_put(dev, &connector->base); drm_connector_init() 944 * drm_connector_cleanup - cleans up an initialised connector 945 * @connector: connector to cleanup 947 * Cleans up the connector but doesn't free the object. 949 void drm_connector_cleanup(struct drm_connector *connector) drm_connector_cleanup() argument 951 struct drm_device *dev = connector->dev; drm_connector_cleanup() 954 if (connector->tile_group) { drm_connector_cleanup() 955 drm_mode_put_tile_group(dev, connector->tile_group); drm_connector_cleanup() 956 connector->tile_group = NULL; drm_connector_cleanup() 959 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) drm_connector_cleanup() 960 drm_mode_remove(connector, mode); drm_connector_cleanup() 962 list_for_each_entry_safe(mode, t, &connector->modes, head) drm_connector_cleanup() 963 drm_mode_remove(connector, mode); drm_connector_cleanup() 965 ida_remove(&drm_connector_enum_list[connector->connector_type].ida, drm_connector_cleanup() 966 connector->connector_type_id); drm_connector_cleanup() 968 kfree(connector->display_info.bus_formats); drm_connector_cleanup() 969 drm_mode_object_put(dev, &connector->base); drm_connector_cleanup() 970 kfree(connector->name); drm_connector_cleanup() 971 connector->name = NULL; drm_connector_cleanup() 972 list_del(&connector->head); drm_connector_cleanup() 975 WARN_ON(connector->state && !connector->funcs->atomic_destroy_state); drm_connector_cleanup() 976 if (connector->state && connector->funcs->atomic_destroy_state) drm_connector_cleanup() 977 connector->funcs->atomic_destroy_state(connector, drm_connector_cleanup() 978 connector->state); drm_connector_cleanup() 980 memset(connector, 0, sizeof(*connector)); drm_connector_cleanup() 985 * drm_connector_index - find the index of a registered connector 986 * @connector: connector to find index for 988 * Given a registered connector, return the index of that connector within a DRM 991 unsigned int drm_connector_index(struct drm_connector *connector) drm_connector_index() argument 995 struct drm_mode_config *config = &connector->dev->mode_config; drm_connector_index() 999 drm_for_each_connector(tmp, connector->dev) { drm_connector_index() 1000 if (tmp == connector) drm_connector_index() 1011 * drm_connector_register - register a connector 1012 * @connector: the connector to register 1014 * Register userspace interfaces for a connector 1019 int drm_connector_register(struct drm_connector *connector) drm_connector_register() argument 1023 drm_mode_object_register(connector->dev, &connector->base); drm_connector_register() 1025 ret = drm_sysfs_connector_add(connector); drm_connector_register() 1029 ret = drm_debugfs_connector_add(connector); drm_connector_register() 1031 drm_sysfs_connector_remove(connector); drm_connector_register() 1040 * drm_connector_unregister - unregister a connector 1041 * @connector: the connector to unregister 1043 * Unregister userspace interfaces for a connector 1045 void drm_connector_unregister(struct drm_connector *connector) drm_connector_unregister() argument 1047 drm_sysfs_connector_remove(connector); drm_connector_unregister() 1048 drm_debugfs_connector_remove(connector); drm_connector_unregister() 1054 * drm_connector_unplug_all - unregister connector userspace interfaces 1057 * This function unregisters all connector userspace interfaces in sysfs. Should 1063 struct drm_connector *connector; drm_connector_unplug_all() local 1066 list_for_each_entry(connector, &dev->mode_config.connector_list, head) drm_connector_unplug_all() 1067 drm_connector_unregister(connector); drm_connector_unplug_all() 1477 * drm_mode_create_dvi_i_properties - create DVI-I specific connector properties 1480 * Called by a driver the first time a DVI-I connector is made. 1508 * drm_create_tv_properties - create TV specific connector properties 1514 * the TV specific connector properties for a given device. Caller is 1530 * Basic connector properties drm_mode_create_tv_properties() 1727 * them to the user, including CRTC, connector and framebuffer configuration. 1740 struct drm_connector *connector; drm_mode_getresources() local 1782 /* mode_config.mutex protects the connector list against e.g. DP MST drm_mode_getresources() 1783 * connector hot-adding. CRTC/Plane lists are invariant. */ drm_mode_getresources() 1788 drm_for_each_connector(connector, dev) drm_mode_getresources() 1835 drm_for_each_connector(connector, dev) { drm_for_each_connector() 1837 connector->base.id, drm_for_each_connector() 1838 connector->name); drm_for_each_connector() 1839 if (put_user(connector->base.id, drm_for_each_connector() 1929 static struct drm_encoder *drm_connector_get_encoder(struct drm_connector *connector) drm_connector_get_encoder() argument 1933 if (connector->state) drm_connector_get_encoder() 1934 return connector->state->best_encoder; drm_connector_get_encoder() 1935 return connector->encoder; drm_connector_get_encoder() 1977 * drm_mode_getconnector - get connector configuration 1982 * Construct a connector configuration structure to return to the user. 1993 struct drm_connector *connector; drm_mode_getconnector() local 2014 connector = drm_connector_find(dev, out_resp->connector_id); drm_mode_getconnector() 2015 if (!connector) { drm_mode_getconnector() 2021 if (connector->encoder_ids[i] != 0) drm_mode_getconnector() 2025 connector->funcs->fill_modes(connector, drm_mode_getconnector() 2031 list_for_each_entry(mode, &connector->modes, head) drm_mode_getconnector() 2035 out_resp->connector_id = connector->base.id; drm_mode_getconnector() 2036 out_resp->connector_type = connector->connector_type; drm_mode_getconnector() 2037 out_resp->connector_type_id = connector->connector_type_id; drm_mode_getconnector() 2038 out_resp->mm_width = connector->display_info.width_mm; drm_mode_getconnector() 2039 out_resp->mm_height = connector->display_info.height_mm; drm_mode_getconnector() 2040 out_resp->subpixel = connector->display_info.subpixel_order; drm_mode_getconnector() 2041 out_resp->connection = connector->status; drm_mode_getconnector() 2044 encoder = drm_connector_get_encoder(connector); drm_mode_getconnector() 2057 list_for_each_entry(mode, &connector->modes, head) { drm_mode_getconnector() 2072 ret = get_properties(&connector->base, file_priv->atomic, drm_mode_getconnector() 2083 if (connector->encoder_ids[i] != 0) { drm_mode_getconnector() 2084 if (put_user(connector->encoder_ids[i], drm_mode_getconnector() 2106 struct drm_connector *connector; drm_encoder_get_crtc() local 2112 drm_for_each_connector(connector, dev) { drm_for_each_connector() 2113 if (!connector->state) drm_for_each_connector() 2118 if (connector->state->best_encoder != encoder) drm_for_each_connector() 2121 return connector->state->crtc; drm_for_each_connector() 2624 struct drm_connector **connector_set = NULL, *connector; drm_mode_setcrtc() local 2748 connector = drm_connector_find(dev, out_id); drm_mode_setcrtc() 2749 if (!connector) { drm_mode_setcrtc() 2756 connector->base.id, drm_mode_setcrtc() 2757 connector->name); drm_mode_setcrtc() 2759 connector_set[i] = connector; drm_mode_setcrtc() 4399 * function with replace pointing to the connector's path_blob_ptr, length and 4400 * data set for the new path information, obj_holds_id set to the connector's 4403 * caller holding a lock on the connector. 4607 * drm_mode_connector_set_path_property - set tile property on connector 4608 * @connector: connector to set property on. 4612 * connector path. This is mainly used for DisplayPort MST where 4619 int drm_mode_connector_set_path_property(struct drm_connector *connector, drm_mode_connector_set_path_property() argument 4622 struct drm_device *dev = connector->dev; drm_mode_connector_set_path_property() 4626 &connector->path_blob_ptr, drm_mode_connector_set_path_property() 4629 &connector->base, drm_mode_connector_set_path_property() 4636 * drm_mode_connector_set_tile_property - set tile property on connector 4637 * @connector: connector to set property on. 4639 * This looks up the tile information for a connector, and creates a 4646 int drm_mode_connector_set_tile_property(struct drm_connector *connector) drm_mode_connector_set_tile_property() argument 4648 struct drm_device *dev = connector->dev; drm_mode_connector_set_tile_property() 4652 if (!connector->has_tile) { drm_mode_connector_set_tile_property() 4654 &connector->tile_blob_ptr, drm_mode_connector_set_tile_property() 4657 &connector->base, drm_mode_connector_set_tile_property() 4663 connector->tile_group->id, connector->tile_is_single_monitor, drm_mode_connector_set_tile_property() 4664 connector->num_h_tile, connector->num_v_tile, drm_mode_connector_set_tile_property() 4665 connector->tile_h_loc, connector->tile_v_loc, drm_mode_connector_set_tile_property() 4666 connector->tile_h_size, connector->tile_v_size); drm_mode_connector_set_tile_property() 4669 &connector->tile_blob_ptr, drm_mode_connector_set_tile_property() 4672 &connector->base, drm_mode_connector_set_tile_property() 4679 * drm_mode_connector_update_edid_property - update the edid property of a connector 4680 * @connector: drm connector 4684 * connector's edid property. 4689 int drm_mode_connector_update_edid_property(struct drm_connector *connector, drm_mode_connector_update_edid_property() argument 4692 struct drm_device *dev = connector->dev; drm_mode_connector_update_edid_property() 4697 if (connector->override_edid) drm_mode_connector_update_edid_property() 4704 &connector->edid_blob_ptr, drm_mode_connector_update_edid_property() 4707 &connector->base, drm_mode_connector_update_edid_property() 4801 * drm_mode_connector_property_set_ioctl - set the current value of a connector property 4834 struct drm_connector *connector = obj_to_connector(obj); drm_mode_connector_set_obj_prop() local 4837 if (property == connector->dev->mode_config.dpms_property) { drm_mode_connector_set_obj_prop() 4839 if (connector->funcs->dpms) drm_mode_connector_set_obj_prop() 4840 ret = (*connector->funcs->dpms)(connector, (int)value); drm_mode_connector_set_obj_prop() 4841 } else if (connector->funcs->set_property) drm_mode_connector_set_obj_prop() 4842 ret = connector->funcs->set_property(connector, property, value); drm_mode_connector_set_obj_prop() 4846 drm_object_property_set_value(&connector->base, property, value); drm_mode_connector_set_obj_prop() 4901 * to the connector specific ioctl this one is extended to also work on crtc and 4949 * Compared to the connector specific ioctl this one is extended to also work on 5020 * drm_mode_connector_attach_encoder - attach a connector to an encoder 5021 * @connector: connector to attach 5022 * @encoder: encoder to attach @connector to 5024 * This function links up a connector to an encoder. Note that the routing 5031 int drm_mode_connector_attach_encoder(struct drm_connector *connector, drm_mode_connector_attach_encoder() argument 5037 if (connector->encoder_ids[i] == 0) { drm_mode_connector_attach_encoder() 5038 connector->encoder_ids[i] = encoder->base.id; drm_mode_connector_attach_encoder() 5342 * This functions calls all the crtc's, encoder's and connector's ->reset 5351 struct drm_connector *connector; drm_mode_config_reset() local 5366 drm_for_each_connector(connector, dev) drm_mode_config_reset() 5367 if (connector->funcs->reset) drm_mode_config_reset() 5368 connector->funcs->reset(connector); drm_mode_config_reset() 5787 struct drm_connector *connector, *ot; drm_mode_config_cleanup() local 5800 list_for_each_entry_safe(connector, ot, drm_mode_config_cleanup() 5802 connector->funcs->destroy(connector); drm_mode_config_cleanup() 871 drm_connector_init(struct drm_device *dev, struct drm_connector *connector, const struct drm_connector_funcs *funcs, int connector_type) drm_connector_init() argument
|
H A D | drm_atomic.c | 151 struct drm_connector *connector = state->connectors[i]; drm_atomic_state_default_clear() local 153 if (!connector || !connector->funcs) drm_atomic_state_default_clear() 157 * FIXME: Async commits can race with connector unplugging and drm_atomic_state_default_clear() 160 * the connector we'll be fine though, so make sure that's the drm_atomic_state_default_clear() 161 * case by setting all connector pointers to NULL. drm_atomic_state_default_clear() 163 state->connector_states[i]->connector = NULL; drm_atomic_state_default_clear() 164 connector->funcs->atomic_destroy_state(NULL, drm_atomic_state_default_clear() 767 * drm_atomic_get_connector_state - get connector state 769 * @connector: connector to get state object for 771 * This function returns the connector state for the given connector, 772 * allocating it if needed. It will also grab the relevant connector lock to 783 struct drm_connector *connector) drm_atomic_get_connector_state() 786 struct drm_mode_config *config = &connector->dev->mode_config; drm_atomic_get_connector_state() 793 index = drm_connector_index(connector); drm_atomic_get_connector_state() 796 * Construction of atomic state updates can race with a connector drm_atomic_get_connector_state() 806 DRM_DEBUG_ATOMIC("Hot-added connector would overflow state array, restarting\n"); drm_atomic_get_connector_state() 813 connector_state = connector->funcs->atomic_duplicate_state(connector); drm_atomic_get_connector_state() 818 state->connectors[index] = connector; drm_atomic_get_connector_state() 822 connector->base.id, connector_state, state); drm_atomic_get_connector_state() 838 * drm_atomic_connector_set_property - set property on connector. 839 * @connector: the drm connector to set a property on 844 * Use this instead of calling connector->atomic_set_property directly. 853 int drm_atomic_connector_set_property(struct drm_connector *connector, drm_atomic_connector_set_property() argument 857 struct drm_device *dev = connector->dev; drm_atomic_connector_set_property() 869 } else if (connector->funcs->atomic_set_property) { drm_atomic_connector_set_property() 870 return connector->funcs->atomic_set_property(connector, drm_atomic_connector_set_property() 885 drm_atomic_connector_get_property(struct drm_connector *connector, drm_atomic_connector_get_property() argument 889 struct drm_device *dev = connector->dev; drm_atomic_connector_get_property() 895 *val = connector->dpms; drm_atomic_connector_get_property() 896 } else if (connector->funcs->atomic_get_property) { drm_atomic_connector_get_property() 897 return connector->funcs->atomic_get_property(connector, drm_atomic_connector_get_property() 914 struct drm_connector *connector = obj_to_connector(obj); drm_atomic_get_property() local 916 ret = drm_atomic_connector_get_property(connector, drm_atomic_get_property() 917 connector->state, property, val); drm_atomic_get_property() 1023 * drm_atomic_set_crtc_for_connector - set crtc for connector 1024 * @conn_state: atomic state object for the connector 1025 * @crtc: crtc to use for the connector 1027 * Changing the assigned crtc for a connector requires us to grab the lock and 1051 DRM_DEBUG_ATOMIC("Link connector state %p to [CRTC:%d]\n", drm_atomic_set_crtc_for_connector() 1054 DRM_DEBUG_ATOMIC("Link connector state %p to [NOCRTC]\n", drm_atomic_set_crtc_for_connector() 1083 struct drm_connector *connector; drm_atomic_add_affected_connectors() local 1098 drm_for_each_connector(connector, state->dev) { drm_atomic_add_affected_connectors() 1099 if (connector->state->crtc != crtc) drm_atomic_add_affected_connectors() 1102 conn_state = drm_atomic_get_connector_state(state, connector); drm_atomic_add_affected_connectors() 1162 struct drm_connector *connector; drm_atomic_connectors_for_crtc() local 1167 for_each_connector_in_state(state, connector, conn_state, i) { for_each_connector_in_state() 1385 struct drm_connector *connector = obj_to_connector(obj); atomic_set_prop() local 1388 connector_state = drm_atomic_get_connector_state(state, connector); atomic_set_prop() 1394 ret = drm_atomic_connector_set_property(connector, atomic_set_prop() 782 drm_atomic_get_connector_state(struct drm_atomic_state *state, struct drm_connector *connector) drm_atomic_get_connector_state() argument
|
H A D | drm_internal.h | 79 int drm_sysfs_connector_add(struct drm_connector *connector); 80 void drm_sysfs_connector_remove(struct drm_connector *connector); 109 int drm_debugfs_connector_add(struct drm_connector *connector); 110 void drm_debugfs_connector_remove(struct drm_connector *connector); 123 static inline int drm_debugfs_connector_add(struct drm_connector *connector) drm_debugfs_connector_add() argument 127 static inline void drm_debugfs_connector_remove(struct drm_connector *connector) drm_debugfs_connector_remove() argument
|
H A D | drm_edid_load.c | 163 static void *edid_load(struct drm_connector *connector, const char *name, edid_load() argument 171 bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS); edid_load() 189 "for connector \"%s\"\n", connector_name); edid_load() 220 &connector->edid_corrupt)) { edid_load() 221 connector->bad_edid_counter++; edid_load() 244 "\"%s\" for connector \"%s\"\n", valid_extensions, edid_load() 255 "\"%s\" for connector \"%s\"\n", builtin ? "built-in" : edid_load() 264 int drm_load_edid_firmware(struct drm_connector *connector) drm_load_edid_firmware() argument 266 const char *connector_name = connector->name; drm_load_edid_firmware() 277 * matches the connector. drm_load_edid_firmware() 279 * If there's one or more that don't't specify a connector, keep drm_load_edid_firmware() 310 edid = edid_load(connector, edidname, connector_name); drm_load_edid_firmware() 316 drm_mode_connector_update_edid_property(connector, edid); drm_load_edid_firmware() 317 ret = drm_add_edid_modes(connector, edid); drm_load_edid_firmware() 318 drm_edid_to_eld(connector, edid); drm_load_edid_firmware()
|
H A D | drm_modes.c | 108 * drm_mode_probed_add - add a mode to a connector's probed_mode list 109 * @connector: connector the new mode 112 * Add @mode to @connector's probed_mode list for later use. This list should 114 * the hardware moved to the @connector's modes list. 116 void drm_mode_probed_add(struct drm_connector *connector, drm_mode_probed_add() argument 119 WARN_ON(!mutex_is_locked(&connector->dev->mode_config.mutex)); drm_mode_probed_add() 121 list_add_tail(&mode->head, &connector->probed_modes); drm_mode_probed_add() 999 * limitations of the DRM device/connector. If a mode is too big its status 1155 * drm_mode_connector_list_update - update the mode list for the connector 1156 * @connector: the connector to update 1159 * This moves the modes from the @connector probed_modes list 1166 void drm_mode_connector_list_update(struct drm_connector *connector, drm_mode_connector_list_update() argument 1173 WARN_ON(!mutex_is_locked(&connector->dev->mode_config.mutex)); drm_mode_connector_list_update() 1175 list_for_each_entry_safe(pmode, pt, &connector->probed_modes, drm_mode_connector_list_update() 1179 list_for_each_entry(mode, &connector->modes, head) { drm_mode_connector_list_update() 1190 drm_mode_destroy(connector->dev, pmode); drm_mode_connector_list_update() 1196 list_move_tail(&pmode->head, &connector->modes); drm_mode_connector_list_update() 1203 * drm_mode_parse_command_line_for_connector - parse command line modeline for connector 1204 * @mode_option: optional per connector mode option 1205 * @connector: connector to parse modeline for 1209 * configure the connector. If @mode_option is NULL the default command line 1224 struct drm_connector *connector, drm_mode_parse_command_line_for_connector() 1311 if ((connector->connector_type != DRM_MODE_CONNECTOR_DVII) && drm_mode_parse_command_line_for_connector() 1312 (connector->connector_type != DRM_MODE_CONNECTOR_HDMIB)) drm_mode_parse_command_line_for_connector() 1223 drm_mode_parse_command_line_for_connector(const char *mode_option, struct drm_connector *connector, struct drm_cmdline_mode *mode) drm_mode_parse_command_line_for_connector() argument
|
H A D | drm_encoder_slave.c | 168 struct drm_connector *connector) drm_i2c_encoder_detect() 170 return get_slave_funcs(encoder)->detect(encoder, connector); drm_i2c_encoder_detect() 167 drm_i2c_encoder_detect(struct drm_encoder *encoder, struct drm_connector *connector) drm_i2c_encoder_detect() argument
|
/linux-4.4.14/drivers/gpu/drm/tilcdc/ |
H A D | tilcdc_external.c | 30 static int tilcdc_external_mode_valid(struct drm_connector *connector, tilcdc_external_mode_valid() argument 33 struct tilcdc_drm_private *priv = connector->dev->dev_private; tilcdc_external_mode_valid() 41 priv->connectors[i] != connector; i++) tilcdc_external_mode_valid() 44 BUG_ON(priv->connectors[i] != connector); tilcdc_external_mode_valid() 47 /* If the connector has its own mode_valid call it. */ tilcdc_external_mode_valid() 50 return priv->connector_funcs[i]->mode_valid(connector, mode); tilcdc_external_mode_valid() 56 struct drm_connector *connector) tilcdc_add_external_encoder() 61 priv->connectors[priv->num_connectors] = connector; tilcdc_add_external_encoder() 62 priv->encoders[priv->num_encoders++] = connector->encoder; tilcdc_add_external_encoder() 74 /* connector->helper_private contains always struct tilcdc_add_external_encoder() 80 if (connector->helper_private) { tilcdc_add_external_encoder() 82 connector->helper_private; tilcdc_add_external_encoder() 88 drm_connector_helper_add(connector, connector_funcs); tilcdc_add_external_encoder() 92 connector->encoder->name); tilcdc_add_external_encoder() 100 struct drm_connector *connector; tilcdc_add_external_encoders() local 103 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { tilcdc_add_external_encoders() 108 if (connector == priv->connectors[i]) tilcdc_add_external_encoders() 111 ret = tilcdc_add_external_encoder(dev, bpp, connector); tilcdc_add_external_encoders() 55 tilcdc_add_external_encoder(struct drm_device *dev, int *bpp, struct drm_connector *connector) tilcdc_add_external_encoder() argument
|
H A D | tilcdc_tfp410.c | 167 static void tfp410_connector_destroy(struct drm_connector *connector) tfp410_connector_destroy() argument 169 struct tfp410_connector *tfp410_connector = to_tfp410_connector(connector); tfp410_connector_destroy() 170 drm_connector_unregister(connector); tfp410_connector_destroy() 171 drm_connector_cleanup(connector); tfp410_connector_destroy() 176 struct drm_connector *connector, tfp410_connector_detect() 179 struct tfp410_connector *tfp410_connector = to_tfp410_connector(connector); tfp410_connector_detect() 187 static int tfp410_connector_get_modes(struct drm_connector *connector) tfp410_connector_get_modes() argument 189 struct tfp410_connector *tfp410_connector = to_tfp410_connector(connector); tfp410_connector_get_modes() 193 edid = drm_get_edid(connector, tfp410_connector->mod->i2c); tfp410_connector_get_modes() 195 drm_mode_connector_update_edid_property(connector, edid); tfp410_connector_get_modes() 198 ret = drm_add_edid_modes(connector, edid); tfp410_connector_get_modes() 205 static int tfp410_connector_mode_valid(struct drm_connector *connector, tfp410_connector_mode_valid() argument 208 struct tilcdc_drm_private *priv = connector->dev->dev_private; tfp410_connector_mode_valid() 214 struct drm_connector *connector) tfp410_connector_best_encoder() 216 struct tfp410_connector *tfp410_connector = to_tfp410_connector(connector); tfp410_connector_best_encoder() 237 struct drm_connector *connector; tfp410_connector_create() local 249 connector = &tfp410_connector->base; tfp410_connector_create() 251 drm_connector_init(dev, connector, &tfp410_connector_funcs, tfp410_connector_create() 253 drm_connector_helper_add(connector, &tfp410_connector_helper_funcs); tfp410_connector_create() 255 connector->polled = DRM_CONNECTOR_POLL_CONNECT | tfp410_connector_create() 258 connector->interlace_allowed = 0; tfp410_connector_create() 259 connector->doublescan_allowed = 0; tfp410_connector_create() 261 ret = drm_mode_connector_attach_encoder(connector, encoder); tfp410_connector_create() 265 drm_connector_register(connector); tfp410_connector_create() 267 return connector; tfp410_connector_create() 270 tfp410_connector_destroy(connector); tfp410_connector_create() 283 struct drm_connector *connector; tfp410_modeset_init() local 289 connector = tfp410_connector_create(dev, tfp410_mod, encoder); tfp410_modeset_init() 290 if (!connector) tfp410_modeset_init() 294 priv->connectors[priv->num_connectors++] = connector; tfp410_modeset_init() 175 tfp410_connector_detect( struct drm_connector *connector, bool force) tfp410_connector_detect() argument 213 tfp410_connector_best_encoder( struct drm_connector *connector) tfp410_connector_best_encoder() argument
|
H A D | tilcdc_panel.c | 157 static void panel_connector_destroy(struct drm_connector *connector) panel_connector_destroy() argument 159 struct panel_connector *panel_connector = to_panel_connector(connector); panel_connector_destroy() 160 drm_connector_unregister(connector); panel_connector_destroy() 161 drm_connector_cleanup(connector); panel_connector_destroy() 166 struct drm_connector *connector, panel_connector_detect() 172 static int panel_connector_get_modes(struct drm_connector *connector) panel_connector_get_modes() argument 174 struct drm_device *dev = connector->dev; panel_connector_get_modes() 175 struct panel_connector *panel_connector = to_panel_connector(connector); panel_connector_get_modes() 194 drm_mode_probed_add(connector, mode); panel_connector_get_modes() 200 static int panel_connector_mode_valid(struct drm_connector *connector, panel_connector_mode_valid() argument 203 struct tilcdc_drm_private *priv = connector->dev->dev_private; panel_connector_mode_valid() 209 struct drm_connector *connector) panel_connector_best_encoder() 211 struct panel_connector *panel_connector = to_panel_connector(connector); panel_connector_best_encoder() 232 struct drm_connector *connector; panel_connector_create() local 244 connector = &panel_connector->base; panel_connector_create() 246 drm_connector_init(dev, connector, &panel_connector_funcs, panel_connector_create() 248 drm_connector_helper_add(connector, &panel_connector_helper_funcs); panel_connector_create() 250 connector->interlace_allowed = 0; panel_connector_create() 251 connector->doublescan_allowed = 0; panel_connector_create() 253 ret = drm_mode_connector_attach_encoder(connector, encoder); panel_connector_create() 257 drm_connector_register(connector); panel_connector_create() 259 return connector; panel_connector_create() 262 panel_connector_destroy(connector); panel_connector_create() 275 struct drm_connector *connector; panel_modeset_init() local 281 connector = panel_connector_create(dev, panel_mod, encoder); panel_modeset_init() 282 if (!connector) panel_modeset_init() 286 priv->connectors[priv->num_connectors++] = connector; panel_modeset_init() 165 panel_connector_detect( struct drm_connector *connector, bool force) panel_connector_detect() argument 208 panel_connector_best_encoder( struct drm_connector *connector) panel_connector_best_encoder() argument
|
/linux-4.4.14/drivers/gpu/drm/nouveau/ |
H A D | nouveau_connector.c | 60 find_encoder(struct drm_connector *connector, int type) find_encoder() argument 62 struct drm_device *dev = connector->dev; find_encoder() 68 id = connector->encoder_ids[i]; find_encoder() 100 nouveau_connector_destroy(struct drm_connector *connector) nouveau_connector_destroy() argument 102 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_destroy() 105 drm_connector_unregister(connector); nouveau_connector_destroy() 106 drm_connector_cleanup(connector); nouveau_connector_destroy() 109 kfree(connector); nouveau_connector_destroy() 113 nouveau_connector_ddc_detect(struct drm_connector *connector) nouveau_connector_ddc_detect() argument 115 struct drm_device *dev = connector->dev; nouveau_connector_ddc_detect() 116 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_ddc_detect() 136 int id = connector->encoder_ids[i]; nouveau_connector_ddc_detect() 166 nouveau_connector_of_detect(struct drm_connector *connector) nouveau_connector_of_detect() argument 169 struct drm_device *dev = connector->dev; nouveau_connector_of_detect() 170 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_of_detect() 175 !((nv_encoder = find_encoder(connector, DCB_OUTPUT_TMDS)) || nouveau_connector_of_detect() 176 (nv_encoder = find_encoder(connector, DCB_OUTPUT_ANALOG)))) nouveau_connector_of_detect() 196 nouveau_connector_set_encoder(struct drm_connector *connector, nouveau_connector_set_encoder() argument 199 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_set_encoder() 200 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_set_encoder() 201 struct drm_device *dev = connector->dev; nouveau_connector_set_encoder() 208 connector->interlace_allowed = true; nouveau_connector_set_encoder() 209 connector->doublescan_allowed = true; nouveau_connector_set_encoder() 213 connector->doublescan_allowed = false; nouveau_connector_set_encoder() 214 connector->interlace_allowed = false; nouveau_connector_set_encoder() 216 connector->doublescan_allowed = true; nouveau_connector_set_encoder() 222 connector->interlace_allowed = false; nouveau_connector_set_encoder() 224 connector->interlace_allowed = true; nouveau_connector_set_encoder() 228 drm_object_property_set_value(&connector->base, nouveau_connector_set_encoder() 237 nouveau_connector_detect(struct drm_connector *connector, bool force) nouveau_connector_detect() argument 239 struct drm_device *dev = connector->dev; nouveau_connector_detect() 241 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_detect() 251 drm_mode_connector_update_edid_property(connector, NULL); nouveau_connector_detect() 256 ret = pm_runtime_get_sync(connector->dev->dev); nouveau_connector_detect() 260 nv_encoder = nouveau_connector_ddc_detect(connector); nouveau_connector_detect() 262 nv_connector->edid = drm_get_edid(connector, i2c); nouveau_connector_detect() 263 drm_mode_connector_update_edid_property(connector, nouveau_connector_detect() 267 connector->name); nouveau_connector_detect() 278 nv_partner = find_encoder(connector, DCB_OUTPUT_ANALOG); nouveau_connector_detect() 280 nv_partner = find_encoder(connector, DCB_OUTPUT_TMDS); nouveau_connector_detect() 291 nv_encoder = find_encoder(connector, type); nouveau_connector_detect() 294 nouveau_connector_set_encoder(connector, nv_encoder); nouveau_connector_detect() 299 nv_encoder = nouveau_connector_of_detect(connector); nouveau_connector_detect() 301 nouveau_connector_set_encoder(connector, nv_encoder); nouveau_connector_detect() 307 nv_encoder = find_encoder(connector, DCB_OUTPUT_ANALOG); nouveau_connector_detect() 309 nv_encoder = find_encoder(connector, DCB_OUTPUT_TV); nouveau_connector_detect() 315 if (helper->detect(encoder, connector) == nouveau_connector_detect() 317 nouveau_connector_set_encoder(connector, nv_encoder); nouveau_connector_detect() 326 pm_runtime_mark_last_busy(connector->dev->dev); nouveau_connector_detect() 327 pm_runtime_put_autosuspend(connector->dev->dev); nouveau_connector_detect() 333 nouveau_connector_detect_lvds(struct drm_connector *connector, bool force) nouveau_connector_detect_lvds() argument 335 struct drm_device *dev = connector->dev; nouveau_connector_detect_lvds() 337 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_detect_lvds() 343 drm_mode_connector_update_edid_property(connector, NULL); nouveau_connector_detect_lvds() 348 nv_encoder = find_encoder(connector, DCB_OUTPUT_LVDS); nouveau_connector_detect_lvds() 354 status = nouveau_connector_detect(connector, force); nouveau_connector_detect_lvds() 369 if ((nv_connector->edid = nouveau_acpi_edid(dev, connector))) { nouveau_connector_detect_lvds() 407 drm_mode_connector_update_edid_property(connector, nv_connector->edid); nouveau_connector_detect_lvds() 408 nouveau_connector_set_encoder(connector, nv_encoder); nouveau_connector_detect_lvds() 413 nouveau_connector_force(struct drm_connector *connector) nouveau_connector_force() argument 415 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_force() 416 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_force() 421 if (connector->force == DRM_FORCE_ON_DIGITAL) nouveau_connector_force() 428 nv_encoder = find_encoder(connector, type); nouveau_connector_force() 431 connector->name); nouveau_connector_force() 432 connector->status = connector_status_disconnected; nouveau_connector_force() 436 nouveau_connector_set_encoder(connector, nv_encoder); nouveau_connector_force() 440 nouveau_connector_set_property(struct drm_connector *connector, nouveau_connector_set_property() argument 443 struct nouveau_display *disp = nouveau_display(connector->dev); nouveau_connector_set_property() 444 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_set_property() 447 struct drm_device *dev = connector->dev; nouveau_connector_set_property() 452 if (connector->encoder && connector->encoder->crtc) nouveau_connector_set_property() 453 nv_crtc = nouveau_crtc(connector->encoder->crtc); nouveau_connector_set_property() 587 encoder, connector, property, value); nouveau_connector_set_property() 593 nouveau_connector_native_mode(struct drm_connector *connector) nouveau_connector_native_mode() argument 595 const struct drm_connector_helper_funcs *helper = connector->helper_private; nouveau_connector_native_mode() 596 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_native_mode() 597 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_native_mode() 598 struct drm_device *dev = connector->dev; nouveau_connector_native_mode() 604 if (helper->mode_valid(connector, mode) != MODE_OK || nouveau_connector_native_mode() 662 nouveau_connector_scaler_modes_add(struct drm_connector *connector) nouveau_connector_scaler_modes_add() argument 664 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_scaler_modes_add() 666 struct drm_device *dev = connector->dev; nouveau_connector_scaler_modes_add() 684 drm_mode_probed_add(connector, m); nouveau_connector_scaler_modes_add() 695 nouveau_connector_detect_depth(struct drm_connector *connector) nouveau_connector_detect_depth() argument 697 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_detect_depth() 698 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_detect_depth() 705 if (nv_connector->edid && connector->display_info.bpc) nouveau_connector_detect_depth() 710 connector->display_info.bpc = 6; nouveau_connector_detect_depth() 716 connector->display_info.bpc = 8; nouveau_connector_detect_depth() 720 connector->display_info.bpc = 6; nouveau_connector_detect_depth() 725 connector->display_info.bpc = 8; nouveau_connector_detect_depth() 740 connector->display_info.bpc = 8; nouveau_connector_detect_depth() 744 nouveau_connector_get_modes(struct drm_connector *connector) nouveau_connector_get_modes() argument 746 struct drm_device *dev = connector->dev; nouveau_connector_get_modes() 748 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_get_modes() 761 ret = drm_add_edid_modes(connector, nv_connector->edid); nouveau_connector_get_modes() 775 if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS) nouveau_connector_get_modes() 776 nouveau_connector_detect_depth(connector); nouveau_connector_get_modes() 784 nouveau_connector_native_mode(connector); nouveau_connector_get_modes() 789 drm_mode_probed_add(connector, mode); nouveau_connector_get_modes() 797 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) nouveau_connector_get_modes() 798 nouveau_connector_detect_depth(connector); nouveau_connector_get_modes() 801 ret = get_slave_funcs(encoder)->get_modes(encoder, connector); nouveau_connector_get_modes() 806 ret += nouveau_connector_scaler_modes_add(connector); nouveau_connector_get_modes() 812 get_tmds_link_bandwidth(struct drm_connector *connector) get_tmds_link_bandwidth() argument 814 struct nouveau_connector *nv_connector = nouveau_connector(connector); get_tmds_link_bandwidth() 815 struct nouveau_drm *drm = nouveau_drm(connector->dev); get_tmds_link_bandwidth() 830 nouveau_connector_mode_valid(struct drm_connector *connector, nouveau_connector_mode_valid() argument 833 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_mode_valid() 850 max_clock = get_tmds_link_bandwidth(connector); nouveau_connector_mode_valid() 864 clock = clock * (connector->display_info.bpc * 3) / 10; nouveau_connector_mode_valid() 881 nouveau_connector_best_encoder(struct drm_connector *connector) nouveau_connector_best_encoder() argument 883 struct nouveau_connector *nv_connector = nouveau_connector(connector); nouveau_connector_best_encoder() 923 nouveau_connector_dp_dpms(struct drm_connector *connector, int mode) nouveau_connector_dp_dpms() argument 927 if (connector->encoder) nouveau_connector_dp_dpms() 928 nv_encoder = nouveau_encoder(connector->encoder); nouveau_connector_dp_dpms() 941 return drm_helper_connector_dpms(connector, mode); nouveau_connector_dp_dpms() 961 struct drm_connector *connector = &nv_connector->base; nouveau_connector_hotplug() local 962 struct nouveau_drm *drm = nouveau_drm(connector->dev); nouveau_connector_hotplug() 964 const char *name = connector->name; nouveau_connector_hotplug() 974 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); nouveau_connector_hotplug() 976 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); nouveau_connector_hotplug() 979 drm_helper_hpd_irq_event(connector->dev); nouveau_connector_hotplug() 1052 struct drm_connector *connector; nouveau_connector_create() local 1056 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { nouveau_connector_create() 1057 nv_connector = nouveau_connector(connector); nouveau_connector_create() 1059 return connector; nouveau_connector_create() 1066 connector = &nv_connector->base; nouveau_connector_create() 1069 /* attempt to parse vbios connector type and hotplug gpio */ nouveau_connector_create() 1079 NV_WARN(drm, "unknown connector type %02x\n", nouveau_connector_create() 1099 /* no vbios data, or an unknown dcb connector type - attempt to nouveau_connector_create() 1109 if (dcbt->entry[i].connector == nv_connector->index) nouveau_connector_create() 1166 connector->interlace_allowed = false; nouveau_connector_create() 1167 connector->doublescan_allowed = false; nouveau_connector_create() 1169 drm_connector_init(dev, connector, funcs, type); nouveau_connector_create() 1170 drm_connector_helper_add(connector, &nouveau_connector_helper_funcs); nouveau_connector_create() 1174 drm_object_attach_property(&connector->base, dev->mode_config.dvi_i_subconnector_property, 0); nouveau_connector_create() 1182 drm_object_attach_property(&connector->base, nouveau_connector_create() 1185 drm_object_attach_property(&connector->base, nouveau_connector_create() 1188 drm_object_attach_property(&connector->base, nouveau_connector_create() 1195 drm_object_attach_property(&connector->base, nouveau_connector_create() 1199 drm_object_attach_property(&connector->base, nouveau_connector_create() 1231 drm_object_attach_property(&connector->base, dev->mode_config. nouveau_connector_create() 1246 drm_object_attach_property(&connector->base, nouveau_connector_create() 1253 drm_object_attach_property(&connector->base, nouveau_connector_create() 1272 connector->polled = DRM_CONNECTOR_POLL_CONNECT; nouveau_connector_create() 1274 connector->polled = DRM_CONNECTOR_POLL_HPD; nouveau_connector_create() 1276 drm_connector_register(connector); nouveau_connector_create() 1277 return connector; nouveau_connector_create()
|
H A D | nouveau_backlight.c | 71 nv40_backlight_init(struct drm_connector *connector) nv40_backlight_init() argument 73 struct nouveau_drm *drm = nouveau_drm(connector->dev); nv40_backlight_init() 84 bd = backlight_device_register("nv_backlight", connector->kdev, drm, nv40_backlight_init() 177 nv50_backlight_init(struct drm_connector *connector) nv50_backlight_init() argument 179 struct nouveau_drm *drm = nouveau_drm(connector->dev); nv50_backlight_init() 186 nv_encoder = find_encoder(connector, DCB_OUTPUT_LVDS); nv50_backlight_init() 188 nv_encoder = find_encoder(connector, DCB_OUTPUT_DP); nv50_backlight_init() 206 bd = backlight_device_register("nv_backlight", connector->kdev, nv50_backlight_init() 222 struct drm_connector *connector; nouveau_backlight_init() local 224 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { nouveau_backlight_init() 225 if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS && nouveau_backlight_init() 226 connector->connector_type != DRM_MODE_CONNECTOR_eDP) nouveau_backlight_init() 231 return nv40_backlight_init(connector); nouveau_backlight_init() 235 return nv50_backlight_init(connector); nouveau_backlight_init()
|
H A D | nouveau_connector.h | 95 struct drm_connector *connector; nouveau_crtc_connector_get() local 98 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { list_for_each_entry() 99 if (connector->encoder && connector->encoder->crtc == crtc) list_for_each_entry() 100 return nouveau_connector(connector); list_for_each_entry()
|
H A D | nouveau_acpi.h | 23 static inline void *nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) { return NULL; } argument
|
H A D | nv50_display.c | 697 struct drm_connector *connector; nv50_crtc_set_dither() local 701 connector = &nv_connector->base; nv50_crtc_set_dither() 703 if (nv_crtc->base.primary->fb->depth > connector->display_info.bpc * 3) nv50_crtc_set_dither() 710 if (connector->display_info.bpc >= 8) nv50_crtc_set_dither() 1649 nv50_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector) nv50_dac_detect() argument 1698 nv50_dac_create(struct drm_connector *connector, struct dcb_output *dcbe) nv50_dac_create() argument 1700 struct nouveau_drm *drm = nouveau_drm(connector->dev); nv50_dac_create() 1720 drm_encoder_init(connector->dev, encoder, &nv50_dac_func, type); nv50_dac_create() 1723 drm_mode_connector_attach_encoder(connector, encoder); nv50_dac_create() 2087 nv50_sor_create(struct drm_connector *connector, struct dcb_output *dcbe) nv50_sor_create() argument 2089 struct nouveau_drm *drm = nouveau_drm(connector->dev); nv50_sor_create() 2128 drm_encoder_init(connector->dev, encoder, &nv50_sor_func, type); nv50_sor_create() 2131 drm_mode_connector_attach_encoder(connector, encoder); nv50_sor_create() 2271 nv50_pior_create(struct drm_connector *connector, struct dcb_output *dcbe) nv50_pior_create() argument 2273 struct nouveau_drm *drm = nouveau_drm(connector->dev); nv50_pior_create() 2308 drm_encoder_init(connector->dev, encoder, &nv50_pior_func, type); nv50_pior_create() 2311 drm_mode_connector_attach_encoder(connector, encoder); nv50_pior_create() 2511 struct drm_connector *connector, *tmp; nv50_display_create() local 2564 /* create encoder/connector objects based on VBIOS DCB table */ nv50_display_create() 2566 connector = nouveau_connector_create(dev, dcbe->connector); nv50_display_create() 2567 if (IS_ERR(connector)) nv50_display_create() 2575 ret = nv50_sor_create(connector, dcbe); nv50_display_create() 2578 ret = nv50_dac_create(connector, dcbe); nv50_display_create() 2585 ret = nv50_pior_create(connector, dcbe); nv50_display_create() 2597 list_for_each_entry_safe(connector, tmp, &dev->mode_config.connector_list, head) { nv50_display_create() 2598 if (connector->encoder_ids[0]) nv50_display_create() 2602 connector->name); nv50_display_create() 2603 connector->funcs->destroy(connector); nv50_display_create()
|
H A D | nouveau_bios.c | 1406 entry->connector = (conn >> 12) & 0xf; parse_dcb20_entry() 1652 * Identical, except apparently a different connector on a apply_dcb_encoder_quirks() 1656 * Ignore the connector on the second SOR link to prevent apply_dcb_encoder_quirks() 1683 *conn = 0x02001300; /* VGA, connector 1 */ apply_dcb_encoder_quirks() 1687 *conn = 0x01010312; /* DVI, connector 0 */ apply_dcb_encoder_quirks() 1691 *conn = 0x01010310; /* VGA, connector 0 */ apply_dcb_encoder_quirks() 1695 *conn = 0x02022362; /* HDMI, connector 2 */ apply_dcb_encoder_quirks() 1706 * DVI-I connector actually point at two different ones, and apply_dcb_encoder_quirks() 1707 * the HDMI connector ends up paired with the VGA instead. apply_dcb_encoder_quirks() 1714 *conn = 0x02002300; /* VGA, connector 2 */ apply_dcb_encoder_quirks() 1718 *conn = 0x01010312; /* DVI, connector 0 */ apply_dcb_encoder_quirks() 1722 *conn = 0x04020310; /* VGA, connector 0 */ apply_dcb_encoder_quirks() 1726 *conn = 0x02021322; /* HDMI, connector 1 */ apply_dcb_encoder_quirks() 1734 /* fdo#50830: connector indices for VGA and DVI-I are backwards */ apply_dcb_encoder_quirks() 1820 /* heuristic: if we ever get a non-zero connector field, assume dcb_fake_connectors() 1827 if (dcbt->entry[i].connector) dcb_fake_connectors() 1832 /* no useful connector info available, we need to make it up dcb_fake_connectors() 1834 * is considered to be on the same connector. any output dcb_fake_connectors() 1836 * connector index. dcb_fake_connectors() 1841 dcbt->entry[i].connector = idx++; dcb_fake_connectors() 1845 dcbt->entry[i].connector = map[i2c] - 1; dcb_fake_connectors() 1849 /* if we created more than one connector, destroy the connector dcb_fake_connectors() 1890 /* dump connector table entries to log, if any exist */ parse_dcb_table()
|
H A D | nouveau_encoder.h | 69 find_encoder(struct drm_connector *connector, int type);
|
/linux-4.4.14/Documentation/ |
H A D | Makefile | 1 subdir-y := accounting auxdisplay blackfin connector \
|
/linux-4.4.14/drivers/gpu/drm/omapdrm/ |
H A D | omap_connector.c | 27 * connector funcs 39 bool omap_connector_get_hdmi_mode(struct drm_connector *connector) omap_connector_get_hdmi_mode() argument 41 struct omap_connector *omap_connector = to_omap_connector(connector); omap_connector_get_hdmi_mode() 110 struct drm_connector *connector, bool force) omap_connector_detect() 112 struct omap_connector *omap_connector = to_omap_connector(connector); omap_connector_detect() 136 static void omap_connector_destroy(struct drm_connector *connector) omap_connector_destroy() argument 138 struct omap_connector *omap_connector = to_omap_connector(connector); omap_connector_destroy() 142 drm_connector_unregister(connector); omap_connector_destroy() 143 drm_connector_cleanup(connector); omap_connector_destroy() 151 static int omap_connector_get_modes(struct drm_connector *connector) omap_connector_get_modes() argument 153 struct omap_connector *omap_connector = to_omap_connector(connector); omap_connector_get_modes() 156 struct drm_device *dev = connector->dev; omap_connector_get_modes() 172 connector, edid); omap_connector_get_modes() 173 n = drm_add_edid_modes(connector, edid); omap_connector_get_modes() 179 connector, NULL); omap_connector_get_modes() 193 drm_mode_probed_add(connector, mode); omap_connector_get_modes() 201 static int omap_connector_mode_valid(struct drm_connector *connector, omap_connector_mode_valid() argument 204 struct omap_connector *omap_connector = to_omap_connector(connector); omap_connector_mode_valid() 208 struct drm_device *dev = connector->dev; omap_connector_mode_valid() 243 DBG("connector: mode %s: " omap_connector_mode_valid() 256 struct drm_connector *connector) omap_connector_attached_encoder() 258 struct omap_connector *omap_connector = to_omap_connector(connector); omap_connector_attached_encoder() 278 /* initialize connector */ omap_connector_init() 283 struct drm_connector *connector = NULL; omap_connector_init() local 297 connector = &omap_connector->base; omap_connector_init() 299 drm_connector_init(dev, connector, &omap_connector_funcs, omap_connector_init() 301 drm_connector_helper_add(connector, &omap_connector_helper_funcs); omap_connector_init() 305 connector->polled = 0; omap_connector_init() 308 connector->polled = DRM_CONNECTOR_POLL_CONNECT | omap_connector_init() 311 connector->interlace_allowed = 1; omap_connector_init() 312 connector->doublescan_allowed = 0; omap_connector_init() 314 drm_connector_register(connector); omap_connector_init() 316 return connector; omap_connector_init() 319 if (connector) omap_connector_init() 320 omap_connector_destroy(connector); omap_connector_init() 109 omap_connector_detect( struct drm_connector *connector, bool force) omap_connector_detect() argument 255 omap_connector_attached_encoder( struct drm_connector *connector) omap_connector_attached_encoder() argument
|
H A D | omap_encoder.c | 34 /* The encoder and connector both map to same dssdev.. the encoder 36 * of the hw, and the connector handles the 'read-only' parts, like 70 struct drm_connector *connector; omap_encoder_mode_set() local 75 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { omap_encoder_mode_set() 76 if (connector->encoder == encoder) { omap_encoder_mode_set() 77 hdmi_mode = omap_connector_get_hdmi_mode(connector); omap_encoder_mode_set()
|
H A D | omap_fb.c | 329 struct drm_connector *connector = from; omap_framebuffer_get_next_connector() local 335 list_for_each_entry_from(connector, connector_list, head) { list_for_each_entry_from() 336 if (connector != from) { list_for_each_entry_from() 337 struct drm_encoder *encoder = connector->encoder; list_for_each_entry_from() 340 return connector; list_for_each_entry_from()
|
/linux-4.4.14/drivers/gpu/drm/gma500/ |
H A D | cdv_intel_hdmi.c | 108 static void cdv_hdmi_save(struct drm_connector *connector) cdv_hdmi_save() argument 110 struct drm_device *dev = connector->dev; cdv_hdmi_save() 111 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_hdmi_save() 117 static void cdv_hdmi_restore(struct drm_connector *connector) cdv_hdmi_restore() argument 119 struct drm_device *dev = connector->dev; cdv_hdmi_restore() 120 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_hdmi_restore() 128 struct drm_connector *connector, bool force) cdv_hdmi_detect() 130 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_hdmi_detect() 135 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); cdv_hdmi_detect() 152 static int cdv_hdmi_set_property(struct drm_connector *connector, cdv_hdmi_set_property() argument 156 struct drm_encoder *encoder = connector->encoder; cdv_hdmi_set_property() 177 if (drm_object_property_get_value(&connector->base, cdv_hdmi_set_property() 184 if (drm_object_property_set_value(&connector->base, cdv_hdmi_set_property() 211 static int cdv_hdmi_get_modes(struct drm_connector *connector) cdv_hdmi_get_modes() argument 213 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_hdmi_get_modes() 217 edid = drm_get_edid(connector, &gma_encoder->i2c_bus->adapter); cdv_hdmi_get_modes() 219 drm_mode_connector_update_edid_property(connector, edid); cdv_hdmi_get_modes() 220 ret = drm_add_edid_modes(connector, edid); cdv_hdmi_get_modes() 226 static int cdv_hdmi_mode_valid(struct drm_connector *connector, cdv_hdmi_mode_valid() argument 245 static void cdv_hdmi_destroy(struct drm_connector *connector) cdv_hdmi_destroy() argument 247 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_hdmi_destroy() 251 drm_connector_unregister(connector); cdv_hdmi_destroy() 252 drm_connector_cleanup(connector); cdv_hdmi_destroy() 253 kfree(connector); cdv_hdmi_destroy() 286 struct drm_connector *connector; cdv_hdmi_init() local 307 connector = &gma_connector->base; cdv_hdmi_init() 308 connector->polled = DRM_CONNECTOR_POLL_HPD; cdv_hdmi_init() 310 drm_connector_init(dev, connector, cdv_hdmi_init() 324 drm_connector_helper_add(connector, cdv_hdmi_init() 326 connector->display_info.subpixel_order = SubPixelHorizontalRGB; cdv_hdmi_init() 327 connector->interlace_allowed = false; cdv_hdmi_init() 328 connector->doublescan_allowed = false; cdv_hdmi_init() 330 drm_object_attach_property(&connector->base, cdv_hdmi_init() 359 drm_connector_register(connector); cdv_hdmi_init() 364 drm_connector_cleanup(connector); cdv_hdmi_init() 127 cdv_hdmi_detect( struct drm_connector *connector, bool force) cdv_hdmi_detect() argument
|
H A D | psb_intel_modes.c | 58 * @connector: DRM connector device to use 60 * Fetch the EDID information from @connector using the DDC bus. 62 int psb_intel_ddc_get_modes(struct drm_connector *connector, psb_intel_ddc_get_modes() argument 68 edid = drm_get_edid(connector, adapter); psb_intel_ddc_get_modes() 70 drm_mode_connector_update_edid_property(connector, edid); psb_intel_ddc_get_modes() 71 ret = drm_add_edid_modes(connector, edid); psb_intel_ddc_get_modes()
|
H A D | mdfld_dsi_output.c | 225 static void mdfld_dsi_connector_save(struct drm_connector *connector) mdfld_dsi_connector_save() argument 229 static void mdfld_dsi_connector_restore(struct drm_connector *connector) mdfld_dsi_connector_restore() argument 235 mdfld_dsi_connector_detect(struct drm_connector *connector, bool force) mdfld_dsi_connector_detect() argument 238 = mdfld_dsi_connector(connector); mdfld_dsi_connector_detect() 245 static int mdfld_dsi_connector_set_property(struct drm_connector *connector, mdfld_dsi_connector_set_property() argument 249 struct drm_encoder *encoder = connector->encoder; mdfld_dsi_connector_set_property() 270 if (drm_object_property_get_value(&connector->base, property, &val)) mdfld_dsi_connector_set_property() 276 if (drm_object_property_set_value(&connector->base, mdfld_dsi_connector_set_property() 301 if (drm_object_property_set_value(&connector->base, property, mdfld_dsi_connector_set_property() 313 static void mdfld_dsi_connector_destroy(struct drm_connector *connector) mdfld_dsi_connector_destroy() argument 316 mdfld_dsi_connector(connector); mdfld_dsi_connector_destroy() 321 drm_connector_unregister(connector); mdfld_dsi_connector_destroy() 322 drm_connector_cleanup(connector); mdfld_dsi_connector_destroy() 328 static int mdfld_dsi_connector_get_modes(struct drm_connector *connector) mdfld_dsi_connector_get_modes() argument 331 mdfld_dsi_connector(connector); mdfld_dsi_connector_get_modes() 336 struct drm_device *dev = connector->dev; mdfld_dsi_connector_get_modes() 338 connector->display_info.min_vfreq = 0; mdfld_dsi_connector_get_modes() 339 connector->display_info.max_vfreq = 200; mdfld_dsi_connector_get_modes() 340 connector->display_info.min_hfreq = 0; mdfld_dsi_connector_get_modes() 341 connector->display_info.max_hfreq = 200; mdfld_dsi_connector_get_modes() 347 drm_mode_probed_add(connector, dup_mode); mdfld_dsi_connector_get_modes() 354 static int mdfld_dsi_connector_mode_valid(struct drm_connector *connector, mdfld_dsi_connector_mode_valid() argument 358 mdfld_dsi_connector(connector); mdfld_dsi_connector_mode_valid() 385 static void mdfld_dsi_connector_dpms(struct drm_connector *connector, int mode) mdfld_dsi_connector_dpms() argument 387 if (mode == connector->dpms) mdfld_dsi_connector_dpms() 392 drm_helper_connector_dpms(connector, mode); mdfld_dsi_connector_dpms() 396 struct drm_connector *connector) mdfld_dsi_connector_best_encoder() 399 mdfld_dsi_connector(connector); mdfld_dsi_connector_best_encoder() 405 /*DSI connector funcs*/ 416 /*DSI connector helper funcs*/ 503 struct drm_connector *connector; mdfld_dsi_output_init() local 546 dsi_config->connector = dsi_connector; mdfld_dsi_output_init() 565 connector = &dsi_connector->base.base; mdfld_dsi_output_init() 566 drm_connector_init(dev, connector, &mdfld_dsi_connector_funcs, mdfld_dsi_output_init() 568 drm_connector_helper_add(connector, &mdfld_dsi_connector_helper_funcs); mdfld_dsi_output_init() 570 connector->display_info.subpixel_order = SubPixelHorizontalRGB; mdfld_dsi_output_init() 571 connector->display_info.width_mm = width_mm; mdfld_dsi_output_init() 572 connector->display_info.height_mm = height_mm; mdfld_dsi_output_init() 573 connector->interlace_allowed = false; mdfld_dsi_output_init() 574 connector->doublescan_allowed = false; mdfld_dsi_output_init() 577 drm_object_attach_property(&connector->base, mdfld_dsi_output_init() 580 drm_object_attach_property(&connector->base, mdfld_dsi_output_init() 600 drm_connector_register(connector); mdfld_dsi_output_init() 608 drm_connector_cleanup(connector); mdfld_dsi_output_init() 395 mdfld_dsi_connector_best_encoder( struct drm_connector *connector) mdfld_dsi_connector_best_encoder() argument
|
H A D | cdv_intel_crt.c | 67 static int cdv_intel_crt_mode_valid(struct drm_connector *connector, cdv_intel_crt_mode_valid() argument 134 static bool cdv_intel_crt_detect_hotplug(struct drm_connector *connector, cdv_intel_crt_detect_hotplug() argument 137 struct drm_device *dev = connector->dev; cdv_intel_crt_detect_hotplug() 182 struct drm_connector *connector, bool force) cdv_intel_crt_detect() 184 if (cdv_intel_crt_detect_hotplug(connector, force)) cdv_intel_crt_detect() 190 static void cdv_intel_crt_destroy(struct drm_connector *connector) cdv_intel_crt_destroy() argument 192 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_intel_crt_destroy() 195 drm_connector_unregister(connector); cdv_intel_crt_destroy() 196 drm_connector_cleanup(connector); cdv_intel_crt_destroy() 197 kfree(connector); cdv_intel_crt_destroy() 200 static int cdv_intel_crt_get_modes(struct drm_connector *connector) cdv_intel_crt_get_modes() argument 202 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_intel_crt_get_modes() 203 return psb_intel_ddc_get_modes(connector, cdv_intel_crt_get_modes() 207 static int cdv_intel_crt_set_property(struct drm_connector *connector, cdv_intel_crt_set_property() argument 256 struct drm_connector *connector; cdv_intel_crt_init() local 269 connector = &gma_connector->base; cdv_intel_crt_init() 270 connector->polled = DRM_CONNECTOR_POLL_HPD; cdv_intel_crt_init() 271 drm_connector_init(dev, connector, cdv_intel_crt_init() 300 connector->interlace_allowed = 0; cdv_intel_crt_init() 301 connector->doublescan_allowed = 0; cdv_intel_crt_init() 304 drm_connector_helper_add(connector, cdv_intel_crt_init() 307 drm_connector_register(connector); cdv_intel_crt_init() 181 cdv_intel_crt_detect( struct drm_connector *connector, bool force) cdv_intel_crt_detect() argument
|
H A D | oaktrail_lvds.c | 99 struct drm_connector *connector = NULL; oaktrail_lvds_mode_set() local 124 /* Find the connector we're trying to set up */ oaktrail_lvds_mode_set() 125 list_for_each_entry(connector, &mode_config->connector_list, head) { oaktrail_lvds_mode_set() 126 if (!connector->encoder || connector->encoder->crtc != crtc) oaktrail_lvds_mode_set() 130 if (!connector) { oaktrail_lvds_mode_set() 131 DRM_ERROR("Couldn't find connector when setting mode"); oaktrail_lvds_mode_set() 136 &connector->base, oaktrail_lvds_mode_set() 295 * Create the connector, register the LVDS DDC bus, and try to figure out what 303 struct drm_connector *connector; oaktrail_lvds_init() local 318 connector = &gma_connector->base; oaktrail_lvds_init() 321 drm_connector_init(dev, connector, oaktrail_lvds_init() 332 drm_connector_helper_add(connector, oaktrail_lvds_init() 334 connector->display_info.subpixel_order = SubPixelHorizontalRGB; oaktrail_lvds_init() 335 connector->interlace_allowed = false; oaktrail_lvds_init() 336 connector->doublescan_allowed = false; oaktrail_lvds_init() 338 drm_object_attach_property(&connector->base, oaktrail_lvds_init() 341 drm_object_attach_property(&connector->base, oaktrail_lvds_init() 366 edid = drm_get_edid(connector, i2c_adap); oaktrail_lvds_init() 371 edid = drm_get_edid(connector, i2c_adap); oaktrail_lvds_init() 379 drm_mode_connector_update_edid_property(connector, edid); oaktrail_lvds_init() 380 drm_add_edid_modes(connector, edid); oaktrail_lvds_init() 383 list_for_each_entry(scan, &connector->probed_modes, head) { oaktrail_lvds_init() 412 drm_connector_register(connector); oaktrail_lvds_init() 427 drm_connector_cleanup(connector); oaktrail_lvds_init()
|
H A D | psb_intel_lvds.c | 265 static void psb_intel_lvds_save(struct drm_connector *connector) psb_intel_lvds_save() argument 267 struct drm_device *dev = connector->dev; psb_intel_lvds_save() 270 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); psb_intel_lvds_save() 305 static void psb_intel_lvds_restore(struct drm_connector *connector) psb_intel_lvds_restore() argument 307 struct drm_device *dev = connector->dev; psb_intel_lvds_restore() 309 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); psb_intel_lvds_restore() 346 int psb_intel_lvds_mode_valid(struct drm_connector *connector, psb_intel_lvds_mode_valid() argument 349 struct drm_psb_private *dev_priv = connector->dev->dev_private; psb_intel_lvds_mode_valid() 350 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); psb_intel_lvds_mode_valid() 506 * This connector should only have 510 *connector, bool force) psb_intel_lvds_detect() 518 static int psb_intel_lvds_get_modes(struct drm_connector *connector) psb_intel_lvds_get_modes() argument 520 struct drm_device *dev = connector->dev; psb_intel_lvds_get_modes() 523 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); psb_intel_lvds_get_modes() 528 ret = psb_intel_ddc_get_modes(connector, &lvds_priv->i2c_bus->adapter); psb_intel_lvds_get_modes() 537 connector->display_info.min_vfreq = 0; psb_intel_lvds_get_modes() 538 connector->display_info.max_vfreq = 200; psb_intel_lvds_get_modes() 539 connector->display_info.min_hfreq = 0; psb_intel_lvds_get_modes() 540 connector->display_info.max_hfreq = 200; psb_intel_lvds_get_modes() 545 drm_mode_probed_add(connector, mode); psb_intel_lvds_get_modes() 554 * @connector: connector to free 556 * Unregister the DDC bus for this connector then free the driver private 559 void psb_intel_lvds_destroy(struct drm_connector *connector) psb_intel_lvds_destroy() argument 561 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); psb_intel_lvds_destroy() 566 drm_connector_unregister(connector); psb_intel_lvds_destroy() 567 drm_connector_cleanup(connector); psb_intel_lvds_destroy() 568 kfree(connector); psb_intel_lvds_destroy() 571 int psb_intel_lvds_set_property(struct drm_connector *connector, psb_intel_lvds_set_property() argument 575 struct drm_encoder *encoder = connector->encoder; psb_intel_lvds_set_property() 598 if (drm_object_property_get_value(&connector->base, psb_intel_lvds_set_property() 606 if (drm_object_property_set_value(&connector->base, psb_intel_lvds_set_property() 621 if (drm_object_property_set_value(&connector->base, psb_intel_lvds_set_property() 680 * Create the connector, register the LVDS DDC bus, and try to figure out what 689 struct drm_connector *connector; psb_intel_lvds_init() local 717 connector = &gma_connector->base; psb_intel_lvds_init() 719 drm_connector_init(dev, connector, psb_intel_lvds_init() 731 drm_connector_helper_add(connector, psb_intel_lvds_init() 733 connector->display_info.subpixel_order = SubPixelHorizontalRGB; psb_intel_lvds_init() 734 connector->interlace_allowed = false; psb_intel_lvds_init() 735 connector->doublescan_allowed = false; psb_intel_lvds_init() 737 /*Attach connector properties*/ psb_intel_lvds_init() 738 drm_object_attach_property(&connector->base, psb_intel_lvds_init() 741 drm_object_attach_property(&connector->base, psb_intel_lvds_init() 781 psb_intel_ddc_get_modes(connector, &lvds_priv->ddc_bus->adapter); psb_intel_lvds_init() 782 list_for_each_entry(scan, &connector->probed_modes, head) { psb_intel_lvds_init() 832 drm_connector_register(connector); psb_intel_lvds_init() 844 drm_connector_cleanup(connector); psb_intel_lvds_init() 509 psb_intel_lvds_detect(struct drm_connector *connector, bool force) psb_intel_lvds_detect() argument
|
H A D | psb_intel_sdvo.c | 145 /* Mark the type of connector */ 201 static struct psb_intel_sdvo *intel_attached_sdvo(struct drm_connector *connector) intel_attached_sdvo() argument 203 return container_of(gma_attached_encoder(connector), intel_attached_sdvo() 207 static struct psb_intel_sdvo_connector *to_psb_intel_sdvo_connector(struct drm_connector *connector) to_psb_intel_sdvo_connector() argument 209 return container_of(to_gma_connector(connector), struct psb_intel_sdvo_connector, base); to_psb_intel_sdvo_connector() 1161 static int psb_intel_sdvo_mode_valid(struct drm_connector *connector, psb_intel_sdvo_mode_valid() argument 1164 struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_mode_valid() 1227 struct drm_connector *connector = NULL; 1231 /* find the sdvo connector */ 1232 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { 1233 iout = to_psb_intel_sdvo(connector); 1241 return connector; 1244 return connector; 1251 int psb_intel_sdvo_supports_hotplug(struct drm_connector *connector) 1258 if (!connector) 1261 psb_intel_sdvo = to_psb_intel_sdvo(connector); 1267 void psb_intel_sdvo_set_hotplug(struct drm_connector *connector, int on) 1271 struct psb_intel_sdvo *psb_intel_sdvo = to_psb_intel_sdvo(connector); 1301 psb_intel_sdvo_get_edid(struct drm_connector *connector) psb_intel_sdvo_get_edid() argument 1303 struct psb_intel_sdvo *sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_get_edid() 1304 return drm_get_edid(connector, &sdvo->ddc); psb_intel_sdvo_get_edid() 1307 /* Mac mini hack -- use the same DDC as the analog connector */ 1309 psb_intel_sdvo_get_analog_edid(struct drm_connector *connector) psb_intel_sdvo_get_analog_edid() argument 1311 struct drm_psb_private *dev_priv = connector->dev->dev_private; psb_intel_sdvo_get_analog_edid() 1313 return drm_get_edid(connector, psb_intel_sdvo_get_analog_edid() 1318 psb_intel_sdvo_hdmi_sink_detect(struct drm_connector *connector) psb_intel_sdvo_hdmi_sink_detect() argument 1320 struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_hdmi_sink_detect() 1324 edid = psb_intel_sdvo_get_edid(connector); psb_intel_sdvo_hdmi_sink_detect() 1335 edid = psb_intel_sdvo_get_edid(connector); psb_intel_sdvo_hdmi_sink_detect() 1349 * port, try to use the CRT ddc to read the EDID for DVI-connector. psb_intel_sdvo_hdmi_sink_detect() 1352 edid = psb_intel_sdvo_get_analog_edid(connector); psb_intel_sdvo_hdmi_sink_detect() 1356 /* DDC bus is shared, match EDID to connector type */ psb_intel_sdvo_hdmi_sink_detect() 1369 struct psb_intel_sdvo_connector *psb_intel_sdvo_connector = to_psb_intel_sdvo_connector(connector); psb_intel_sdvo_hdmi_sink_detect() 1378 psb_intel_sdvo_detect(struct drm_connector *connector, bool force) psb_intel_sdvo_detect() argument 1381 struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_detect() 1382 struct psb_intel_sdvo_connector *psb_intel_sdvo_connector = to_psb_intel_sdvo_connector(connector); psb_intel_sdvo_detect() 1412 ret = psb_intel_sdvo_hdmi_sink_detect(connector); psb_intel_sdvo_detect() 1417 edid = psb_intel_sdvo_get_edid(connector); psb_intel_sdvo_detect() 1419 edid = psb_intel_sdvo_get_analog_edid(connector); psb_intel_sdvo_detect() 1447 static void psb_intel_sdvo_get_ddc_modes(struct drm_connector *connector) psb_intel_sdvo_get_ddc_modes() argument 1452 edid = psb_intel_sdvo_get_edid(connector); psb_intel_sdvo_get_ddc_modes() 1455 * Mac mini hack. On this device, the DVI-I connector shares one DDC psb_intel_sdvo_get_ddc_modes() 1461 edid = psb_intel_sdvo_get_analog_edid(connector); psb_intel_sdvo_get_ddc_modes() 1464 struct psb_intel_sdvo_connector *psb_intel_sdvo_connector = to_psb_intel_sdvo_connector(connector); psb_intel_sdvo_get_ddc_modes() 1469 drm_mode_connector_update_edid_property(connector, edid); psb_intel_sdvo_get_ddc_modes() 1470 drm_add_edid_modes(connector, edid); psb_intel_sdvo_get_ddc_modes() 1542 static void psb_intel_sdvo_get_tv_modes(struct drm_connector *connector) psb_intel_sdvo_get_tv_modes() argument 1544 struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_get_tv_modes() 1570 nmode = drm_mode_duplicate(connector->dev, psb_intel_sdvo_get_tv_modes() 1573 drm_mode_probed_add(connector, nmode); psb_intel_sdvo_get_tv_modes() 1577 static void psb_intel_sdvo_get_lvds_modes(struct drm_connector *connector) psb_intel_sdvo_get_lvds_modes() argument 1579 struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_get_lvds_modes() 1580 struct drm_psb_private *dev_priv = connector->dev->dev_private; psb_intel_sdvo_get_lvds_modes() 1588 psb_intel_ddc_get_modes(connector, psb_intel_sdvo->i2c); psb_intel_sdvo_get_lvds_modes() 1589 if (list_empty(&connector->probed_modes) == false) psb_intel_sdvo_get_lvds_modes() 1594 newmode = drm_mode_duplicate(connector->dev, psb_intel_sdvo_get_lvds_modes() 1600 drm_mode_probed_add(connector, newmode); psb_intel_sdvo_get_lvds_modes() 1605 list_for_each_entry(newmode, &connector->probed_modes, head) { psb_intel_sdvo_get_lvds_modes() 1608 drm_mode_duplicate(connector->dev, newmode); psb_intel_sdvo_get_lvds_modes() 1620 static int psb_intel_sdvo_get_modes(struct drm_connector *connector) psb_intel_sdvo_get_modes() argument 1622 struct psb_intel_sdvo_connector *psb_intel_sdvo_connector = to_psb_intel_sdvo_connector(connector); psb_intel_sdvo_get_modes() 1625 psb_intel_sdvo_get_tv_modes(connector); psb_intel_sdvo_get_modes() 1627 psb_intel_sdvo_get_lvds_modes(connector); psb_intel_sdvo_get_modes() 1629 psb_intel_sdvo_get_ddc_modes(connector); psb_intel_sdvo_get_modes() 1631 return !list_empty(&connector->probed_modes); psb_intel_sdvo_get_modes() 1634 static void psb_intel_sdvo_destroy(struct drm_connector *connector) psb_intel_sdvo_destroy() argument 1636 drm_connector_unregister(connector); psb_intel_sdvo_destroy() 1637 drm_connector_cleanup(connector); psb_intel_sdvo_destroy() 1638 kfree(connector); psb_intel_sdvo_destroy() 1641 static bool psb_intel_sdvo_detect_hdmi_audio(struct drm_connector *connector) psb_intel_sdvo_detect_hdmi_audio() argument 1643 struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_detect_hdmi_audio() 1650 edid = psb_intel_sdvo_get_edid(connector); psb_intel_sdvo_detect_hdmi_audio() 1658 psb_intel_sdvo_set_property(struct drm_connector *connector, psb_intel_sdvo_set_property() argument 1662 struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector); psb_intel_sdvo_set_property() 1663 struct psb_intel_sdvo_connector *psb_intel_sdvo_connector = to_psb_intel_sdvo_connector(connector); psb_intel_sdvo_set_property() 1664 struct drm_psb_private *dev_priv = connector->dev->dev_private; psb_intel_sdvo_set_property() 1669 ret = drm_object_property_set_value(&connector->base, property, val); psb_intel_sdvo_set_property() 1683 has_audio = psb_intel_sdvo_detect_hdmi_audio(connector); psb_intel_sdvo_set_property() 1724 drm_object_property_set_value(&connector->base, psb_intel_sdvo_set_property() 1736 drm_object_property_set_value(&connector->base, psb_intel_sdvo_set_property() 1748 drm_object_property_set_value(&connector->base, psb_intel_sdvo_set_property() 1760 drm_object_property_set_value(&connector->base, psb_intel_sdvo_set_property() 1805 static void psb_intel_sdvo_save(struct drm_connector *connector) psb_intel_sdvo_save() argument 1807 struct drm_device *dev = connector->dev; psb_intel_sdvo_save() 1808 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); psb_intel_sdvo_save() 1814 static void psb_intel_sdvo_restore(struct drm_connector *connector) psb_intel_sdvo_restore() argument 1816 struct drm_device *dev = connector->dev; psb_intel_sdvo_restore() 1817 struct drm_encoder *encoder = &gma_attached_encoder(connector)->base; psb_intel_sdvo_restore() 1825 if (connector->status == connector_status_connected) psb_intel_sdvo_restore() 2009 psb_intel_sdvo_connector_init(struct psb_intel_sdvo_connector *connector, psb_intel_sdvo_connector_init() argument 2013 &connector->base.base, psb_intel_sdvo_connector_init() 2015 connector->base.base.connector_type); psb_intel_sdvo_connector_init() 2017 drm_connector_helper_add(&connector->base.base, psb_intel_sdvo_connector_init() 2020 connector->base.base.interlace_allowed = 0; psb_intel_sdvo_connector_init() 2021 connector->base.base.doublescan_allowed = 0; psb_intel_sdvo_connector_init() 2022 connector->base.base.display_info.subpixel_order = SubPixelHorizontalRGB; psb_intel_sdvo_connector_init() 2024 gma_connector_attach_encoder(&connector->base, &encoder->base); psb_intel_sdvo_connector_init() 2025 drm_connector_register(&connector->base.base); psb_intel_sdvo_connector_init() 2029 psb_intel_sdvo_add_hdmi_properties(struct psb_intel_sdvo_connector *connector) psb_intel_sdvo_add_hdmi_properties() argument 2032 struct drm_device *dev = connector->base.base.dev; psb_intel_sdvo_add_hdmi_properties() 2034 intel_attach_force_audio_property(&connector->base.base); psb_intel_sdvo_add_hdmi_properties() 2035 intel_attach_broadcast_rgb_property(&connector->base.base); psb_intel_sdvo_add_hdmi_properties() 2043 struct drm_connector *connector; psb_intel_sdvo_dvi_init() local 2060 connector = &intel_connector->base; psb_intel_sdvo_dvi_init() 2061 // connector->polled = DRM_CONNECTOR_POLL_CONNECT | DRM_CONNECTOR_POLL_DISCONNECT; psb_intel_sdvo_dvi_init() 2063 connector->connector_type = DRM_MODE_CONNECTOR_DVID; psb_intel_sdvo_dvi_init() 2066 connector->connector_type = DRM_MODE_CONNECTOR_HDMIA; psb_intel_sdvo_dvi_init() 2083 struct drm_connector *connector; psb_intel_sdvo_tv_init() local 2092 connector = &intel_connector->base; psb_intel_sdvo_tv_init() 2094 connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; psb_intel_sdvo_tv_init() 2114 psb_intel_sdvo_destroy(connector); psb_intel_sdvo_tv_init() 2122 struct drm_connector *connector; psb_intel_sdvo_analog_init() local 2131 connector = &intel_connector->base; psb_intel_sdvo_analog_init() 2132 connector->polled = DRM_CONNECTOR_POLL_CONNECT; psb_intel_sdvo_analog_init() 2134 connector->connector_type = DRM_MODE_CONNECTOR_VGA; psb_intel_sdvo_analog_init() 2156 struct drm_connector *connector; psb_intel_sdvo_lvds_init() local 2165 connector = &intel_connector->base; psb_intel_sdvo_lvds_init() 2167 connector->connector_type = DRM_MODE_CONNECTOR_LVDS; psb_intel_sdvo_lvds_init() 2187 psb_intel_sdvo_destroy(connector); psb_intel_sdvo_lvds_init() 2304 drm_object_attach_property(&connector->base, \ 2318 struct drm_connector *connector = &psb_intel_sdvo_connector->base.base; psb_intel_sdvo_create_enhance_property_tv() local 2341 drm_object_attach_property(&connector->base, psb_intel_sdvo_create_enhance_property_tv() 2350 drm_object_attach_property(&connector->base, psb_intel_sdvo_create_enhance_property_tv() 2377 drm_object_attach_property(&connector->base, psb_intel_sdvo_create_enhance_property_tv() 2386 drm_object_attach_property(&connector->base, psb_intel_sdvo_create_enhance_property_tv() 2418 drm_object_attach_property(&connector->base, psb_intel_sdvo_create_enhance_property_tv() 2433 struct drm_connector *connector = &psb_intel_sdvo_connector->base.base; psb_intel_sdvo_create_enhance_property_lvds() local
|
H A D | cdv_intel_lvds.c | 239 static void cdv_intel_lvds_save(struct drm_connector *connector) cdv_intel_lvds_save() argument 243 static void cdv_intel_lvds_restore(struct drm_connector *connector) cdv_intel_lvds_restore() argument 247 static int cdv_intel_lvds_mode_valid(struct drm_connector *connector, cdv_intel_lvds_mode_valid() argument 250 struct drm_device *dev = connector->dev; cdv_intel_lvds_mode_valid() 393 * This connector should only have 397 struct drm_connector *connector, bool force) cdv_intel_lvds_detect() 405 static int cdv_intel_lvds_get_modes(struct drm_connector *connector) cdv_intel_lvds_get_modes() argument 407 struct drm_device *dev = connector->dev; cdv_intel_lvds_get_modes() 409 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_intel_lvds_get_modes() 413 ret = psb_intel_ddc_get_modes(connector, &gma_encoder->i2c_bus->adapter); cdv_intel_lvds_get_modes() 422 connector->display_info.min_vfreq = 0; cdv_intel_lvds_get_modes() 423 connector->display_info.max_vfreq = 200; cdv_intel_lvds_get_modes() 424 connector->display_info.min_hfreq = 0; cdv_intel_lvds_get_modes() 425 connector->display_info.max_hfreq = 200; cdv_intel_lvds_get_modes() 429 drm_mode_probed_add(connector, mode); cdv_intel_lvds_get_modes() 438 * @connector: connector to free 440 * Unregister the DDC bus for this connector then free the driver private 443 static void cdv_intel_lvds_destroy(struct drm_connector *connector) cdv_intel_lvds_destroy() argument 445 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_intel_lvds_destroy() 449 drm_connector_unregister(connector); cdv_intel_lvds_destroy() 450 drm_connector_cleanup(connector); cdv_intel_lvds_destroy() 451 kfree(connector); cdv_intel_lvds_destroy() 454 static int cdv_intel_lvds_set_property(struct drm_connector *connector, cdv_intel_lvds_set_property() argument 458 struct drm_encoder *encoder = connector->encoder; cdv_intel_lvds_set_property() 478 if (drm_object_property_get_value(&connector->base, cdv_intel_lvds_set_property() 486 if (drm_object_property_set_value(&connector->base, cdv_intel_lvds_set_property() 501 if (drm_object_property_set_value(&connector->base, cdv_intel_lvds_set_property() 605 * Create the connector, register the LVDS DDC bus, and try to figure out what 614 struct drm_connector *connector; cdv_intel_lvds_init() local 645 connector = &gma_connector->base; cdv_intel_lvds_init() 649 drm_connector_init(dev, connector, cdv_intel_lvds_init() 662 drm_connector_helper_add(connector, cdv_intel_lvds_init() 664 connector->display_info.subpixel_order = SubPixelHorizontalRGB; cdv_intel_lvds_init() 665 connector->interlace_allowed = false; cdv_intel_lvds_init() 666 connector->doublescan_allowed = false; cdv_intel_lvds_init() 668 /*Attach connector properties*/ cdv_intel_lvds_init() 669 drm_object_attach_property(&connector->base, cdv_intel_lvds_init() 672 drm_object_attach_property(&connector->base, cdv_intel_lvds_init() 716 psb_intel_ddc_get_modes(connector, cdv_intel_lvds_init() 718 list_for_each_entry(scan, &connector->probed_modes, head) { cdv_intel_lvds_init() 777 drm_connector_register(connector); cdv_intel_lvds_init() 792 drm_connector_cleanup(connector); cdv_intel_lvds_init() 396 cdv_intel_lvds_detect( struct drm_connector *connector, bool force) cdv_intel_lvds_detect() argument
|
H A D | psb_intel_drv.h | 208 int psb_intel_ddc_get_modes(struct drm_connector *connector, 230 extern struct drm_encoder *gma_best_encoder(struct drm_connector *connector); 231 extern void gma_connector_attach_encoder(struct gma_connector *connector, 235 struct drm_connector *connector) gma_attached_encoder() 237 return to_gma_connector(connector)->encoder; gma_attached_encoder() 246 extern int psb_intel_sdvo_supports_hotplug(struct drm_connector *connector); 247 extern void psb_intel_sdvo_set_hotplug(struct drm_connector *connector, 255 extern int psb_intel_lvds_mode_valid(struct drm_connector *connector, 257 extern int psb_intel_lvds_set_property(struct drm_connector *connector, 260 extern void psb_intel_lvds_destroy(struct drm_connector *connector); 276 extern void psb_intel_attach_force_audio_property(struct drm_connector *connector); 277 extern void psb_intel_attach_broadcast_rgb_property(struct drm_connector *connector); 283 extern void cdv_intel_attach_force_audio_property(struct drm_connector *connector); 284 extern void cdv_intel_attach_broadcast_rgb_property(struct drm_connector *connector); 234 gma_attached_encoder( struct drm_connector *connector) gma_attached_encoder() argument
|
H A D | psb_device.c | 184 struct drm_connector *connector; psb_save_display_registers() local 204 list_for_each_entry(connector, &dev->mode_config.connector_list, head) psb_save_display_registers() 205 if (connector->funcs->save) psb_save_display_registers() 206 connector->funcs->save(connector); psb_save_display_registers() 222 struct drm_connector *connector; psb_restore_display_registers() local 243 list_for_each_entry(connector, &dev->mode_config.connector_list, head) psb_restore_display_registers() 244 if (connector->funcs->restore) psb_restore_display_registers() 245 connector->funcs->restore(connector); psb_restore_display_registers()
|
H A D | mdfld_dsi_output.h | 246 * DSI config, consists of one DSI connector, two DSI encoders. 254 struct mdfld_dsi_connector *connector; member in struct:mdfld_dsi_config 270 struct drm_connector *connector) mdfld_dsi_connector() 274 gma_connector = to_gma_connector(connector); mdfld_dsi_connector() 290 mdfld_dsi_get_config(struct mdfld_dsi_connector *connector) mdfld_dsi_get_config() argument 292 if (!connector) mdfld_dsi_get_config() 294 return (struct mdfld_dsi_config *)connector->private; mdfld_dsi_get_config() 304 dsi_connector = config->connector; mdfld_dsi_get_pkg_sender() 332 return config->connector; mdfld_dsi_encoder_get_connector() 349 struct mdfld_dsi_connector *connector; mdfld_dsi_encoder_get_pipe() local 354 connector = mdfld_dsi_encoder_get_connector(encoder); mdfld_dsi_encoder_get_pipe() 355 if (!connector) mdfld_dsi_encoder_get_pipe() 357 return connector->pipe; mdfld_dsi_encoder_get_pipe() 269 mdfld_dsi_connector( struct drm_connector *connector) mdfld_dsi_connector() argument
|
H A D | cdv_intel_dp.c | 509 cdv_intel_dp_mode_valid(struct drm_connector *connector, cdv_intel_dp_mode_valid() argument 512 struct gma_encoder *encoder = gma_attached_encoder(connector); cdv_intel_dp_mode_valid() 516 struct drm_psb_private *dev_priv = connector->dev->dev_private; cdv_intel_dp_mode_valid() 846 cdv_intel_dp_i2c_init(struct gma_connector *connector, cdv_intel_dp_i2c_init() argument 864 intel_dp->adapter.dev.parent = connector->base.kdev; cdv_intel_dp_i2c_init() 1728 cdv_intel_dp_detect(struct drm_connector *connector, bool force) cdv_intel_dp_detect() argument 1730 struct gma_encoder *encoder = gma_attached_encoder(connector); cdv_intel_dp_detect() 1750 edid = drm_get_edid(connector, &intel_dp->adapter); cdv_intel_dp_detect() 1762 static int cdv_intel_dp_get_modes(struct drm_connector *connector) cdv_intel_dp_get_modes() argument 1764 struct gma_encoder *intel_encoder = gma_attached_encoder(connector); cdv_intel_dp_get_modes() 1771 edid = drm_get_edid(connector, &intel_dp->adapter); cdv_intel_dp_get_modes() 1773 drm_mode_connector_update_edid_property(connector, edid); cdv_intel_dp_get_modes() 1774 ret = drm_add_edid_modes(connector, edid); cdv_intel_dp_get_modes() 1779 struct drm_device *dev = connector->dev; cdv_intel_dp_get_modes() 1786 list_for_each_entry(newmode, &connector->probed_modes, cdv_intel_dp_get_modes() 1809 drm_mode_probed_add(connector, mode); cdv_intel_dp_get_modes() 1818 cdv_intel_dp_detect_audio(struct drm_connector *connector) cdv_intel_dp_detect_audio() argument 1820 struct gma_encoder *encoder = gma_attached_encoder(connector); cdv_intel_dp_detect_audio() 1829 edid = drm_get_edid(connector, &intel_dp->adapter); cdv_intel_dp_detect_audio() 1841 cdv_intel_dp_set_property(struct drm_connector *connector, cdv_intel_dp_set_property() argument 1845 struct drm_psb_private *dev_priv = connector->dev->dev_private; cdv_intel_dp_set_property() 1846 struct gma_encoder *encoder = gma_attached_encoder(connector); cdv_intel_dp_set_property() 1850 ret = drm_object_property_set_value(&connector->base, property, val); cdv_intel_dp_set_property() 1864 has_audio = cdv_intel_dp_detect_audio(connector); cdv_intel_dp_set_property() 1897 cdv_intel_dp_destroy(struct drm_connector *connector) cdv_intel_dp_destroy() argument 1899 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); cdv_intel_dp_destroy() 1903 /* cdv_intel_panel_destroy_backlight(connector->dev); */ cdv_intel_dp_destroy() 1910 drm_connector_unregister(connector); cdv_intel_dp_destroy() 1911 drm_connector_cleanup(connector); cdv_intel_dp_destroy() 1912 kfree(connector); cdv_intel_dp_destroy() 1947 static void cdv_intel_dp_add_properties(struct drm_connector *connector) cdv_intel_dp_add_properties() argument 1949 cdv_intel_attach_force_audio_property(connector); cdv_intel_dp_add_properties() 1950 cdv_intel_attach_broadcast_rgb_property(connector); cdv_intel_dp_add_properties() 2000 struct drm_connector *connector; cdv_intel_dp_init() local 2019 connector = &gma_connector->base; cdv_intel_dp_init() 2022 drm_connector_init(dev, connector, &cdv_intel_dp_connector_funcs, type); cdv_intel_dp_init() 2038 drm_connector_helper_add(connector, &cdv_intel_dp_connector_helper_funcs); cdv_intel_dp_init() 2040 connector->polled = DRM_CONNECTOR_POLL_HPD; cdv_intel_dp_init() 2041 connector->interlace_allowed = false; cdv_intel_dp_init() 2042 connector->doublescan_allowed = false; cdv_intel_dp_init() 2044 drm_connector_register(connector); cdv_intel_dp_init() 2062 cdv_intel_dp_add_properties(connector); cdv_intel_dp_init() 2127 cdv_intel_dp_destroy(connector); cdv_intel_dp_init()
|
H A D | cdv_device.c | 268 struct drm_connector *connector; cdv_save_display_registers() local 304 list_for_each_entry(connector, &dev->mode_config.connector_list, head) cdv_save_display_registers() 305 connector->funcs->dpms(connector, DRM_MODE_DPMS_OFF); cdv_save_display_registers() 322 struct drm_connector *connector; cdv_restore_display_registers() local 378 list_for_each_entry(connector, &dev->mode_config.connector_list, head) cdv_restore_display_registers() 379 connector->funcs->dpms(connector, DRM_MODE_DPMS_ON); cdv_restore_display_registers() 470 void cdv_intel_attach_force_audio_property(struct drm_connector *connector) cdv_intel_attach_force_audio_property() argument 472 struct drm_device *dev = connector->dev; cdv_intel_attach_force_audio_property() 490 drm_object_attach_property(&connector->base, prop, 0); cdv_intel_attach_force_audio_property() 499 void cdv_intel_attach_broadcast_rgb_property(struct drm_connector *connector) cdv_intel_attach_broadcast_rgb_property() argument 501 struct drm_device *dev = connector->dev; cdv_intel_attach_broadcast_rgb_property() 520 drm_object_attach_property(&connector->base, prop, 0); cdv_intel_attach_broadcast_rgb_property()
|
H A D | oaktrail_hdmi.c | 512 static int oaktrail_hdmi_mode_valid(struct drm_connector *connector, oaktrail_hdmi_mode_valid() argument 527 oaktrail_hdmi_detect(struct drm_connector *connector, bool force) oaktrail_hdmi_detect() argument 530 struct drm_device *dev = connector->dev; oaktrail_hdmi_detect() 560 static int oaktrail_hdmi_get_modes(struct drm_connector *connector) oaktrail_hdmi_get_modes() argument 577 /* FIXME ? edid = drm_get_edid(connector, i2c_adap); */ oaktrail_hdmi_get_modes() 581 drm_mode_connector_update_edid_property(connector, edid); oaktrail_hdmi_get_modes() 582 ret = drm_add_edid_modes(connector, edid); oaktrail_hdmi_get_modes() 597 static void oaktrail_hdmi_destroy(struct drm_connector *connector) oaktrail_hdmi_destroy() argument 638 struct drm_connector *connector; oaktrail_hdmi_init() local 649 connector = &gma_connector->base; oaktrail_hdmi_init() 651 drm_connector_init(dev, connector, oaktrail_hdmi_init() 663 drm_connector_helper_add(connector, &oaktrail_hdmi_connector_helper_funcs); oaktrail_hdmi_init() 665 connector->display_info.subpixel_order = SubPixelHorizontalRGB; oaktrail_hdmi_init() 666 connector->interlace_allowed = false; oaktrail_hdmi_init() 667 connector->doublescan_allowed = false; oaktrail_hdmi_init() 668 drm_connector_register(connector); oaktrail_hdmi_init()
|
H A D | psb_intel_display.c | 120 struct drm_connector *connector; psb_intel_crtc_mode_set() local 129 list_for_each_entry(connector, &mode_config->connector_list, head) { psb_intel_crtc_mode_set() 130 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); psb_intel_crtc_mode_set() 132 if (!connector->encoder psb_intel_crtc_mode_set() 133 || connector->encoder->crtc != crtc) psb_intel_crtc_mode_set() 376 * i830PllIsValid() because it relies on the xf86_config connector psb_intel_crtc_clock_get() 574 struct drm_connector *connector; gma_connector_clones() local 577 list_for_each_entry(connector, &dev->mode_config.connector_list, gma_connector_clones() 579 struct gma_encoder *gma_encoder = gma_attached_encoder(connector); gma_connector_clones()
|
H A D | oaktrail_crtc.c | 385 struct drm_connector *connector; oaktrail_crtc_mode_set() local 402 list_for_each_entry(connector, &mode_config->connector_list, head) { oaktrail_crtc_mode_set() 403 if (!connector->encoder || connector->encoder->crtc != crtc) oaktrail_crtc_mode_set() 406 gma_encoder = gma_attached_encoder(connector); oaktrail_crtc_mode_set() 435 drm_object_property_get_value(&connector->base, oaktrail_crtc_mode_set()
|
/linux-4.4.14/drivers/gpu/drm/tegra/ |
H A D | output.c | 14 int tegra_output_connector_get_modes(struct drm_connector *connector) tegra_output_connector_get_modes() argument 16 struct tegra_output *output = connector_to_output(connector); tegra_output_connector_get_modes() 33 edid = drm_get_edid(connector, output->ddc); tegra_output_connector_get_modes() 35 drm_mode_connector_update_edid_property(connector, edid); tegra_output_connector_get_modes() 38 err = drm_add_edid_modes(connector, edid); tegra_output_connector_get_modes() 46 tegra_output_connector_best_encoder(struct drm_connector *connector) tegra_output_connector_best_encoder() argument 48 struct tegra_output *output = connector_to_output(connector); tegra_output_connector_best_encoder() 54 tegra_output_connector_detect(struct drm_connector *connector, bool force) tegra_output_connector_detect() argument 56 struct tegra_output *output = connector_to_output(connector); tegra_output_connector_detect() 81 void tegra_output_connector_destroy(struct drm_connector *connector) tegra_output_connector_destroy() argument 83 drm_connector_unregister(connector); tegra_output_connector_destroy() 84 drm_connector_cleanup(connector); tegra_output_connector_destroy() 96 if (output->connector.dev) hpd_irq() 97 drm_helper_hpd_irq_event(output->connector.dev); hpd_irq() 167 output->connector.polled = DRM_CONNECTOR_POLL_HPD; tegra_output_probe() 170 * Disable the interrupt until the connector has been tegra_output_probe() 196 err = drm_panel_attach(output->panel, &output->connector); tegra_output_init() 202 * The connector is now registered and ready to receive hotplug events tegra_output_init() 214 * The connector is going away, so the interrupt must be disabled to tegra_output_exit()
|
H A D | drm.h | 215 struct drm_connector connector; member in struct:tegra_output 225 return container_of(c, struct tegra_output, connector); connector_to_output() 240 int tegra_output_connector_get_modes(struct drm_connector *connector); 242 tegra_output_connector_best_encoder(struct drm_connector *connector); 244 tegra_output_connector_detect(struct drm_connector *connector, bool force); 245 void tegra_output_connector_destroy(struct drm_connector *connector);
|
H A D | rgb.c | 101 tegra_rgb_connector_mode_valid(struct drm_connector *connector, tegra_rgb_connector_mode_valid() argument 283 drm_connector_init(drm, &output->connector, &tegra_rgb_connector_funcs, tegra_dc_rgb_init() 285 drm_connector_helper_add(&output->connector, tegra_dc_rgb_init() 287 output->connector.dpms = DRM_MODE_DPMS_OFF; tegra_dc_rgb_init() 294 drm_mode_connector_attach_encoder(&output->connector, tegra_dc_rgb_init() 296 drm_connector_register(&output->connector); tegra_dc_rgb_init()
|
H A D | dsi.c | 104 return to_dsi_state(dsi->output.connector.state); tegra_dsi_get_state() 746 static void tegra_dsi_connector_reset(struct drm_connector *connector) tegra_dsi_connector_reset() argument 750 kfree(connector->state); tegra_dsi_connector_reset() 751 connector->state = NULL; tegra_dsi_connector_reset() 755 connector->state = &state->base; tegra_dsi_connector_reset() 759 tegra_dsi_connector_duplicate_state(struct drm_connector *connector) tegra_dsi_connector_duplicate_state() argument 761 struct tegra_dsi_state *state = to_dsi_state(connector->state); tegra_dsi_connector_duplicate_state() 782 tegra_dsi_connector_mode_valid(struct drm_connector *connector, tegra_dsi_connector_mode_valid() argument 1017 drm_connector_init(drm, &dsi->output.connector, tegra_dsi_init() 1020 drm_connector_helper_add(&dsi->output.connector, tegra_dsi_init() 1022 dsi->output.connector.dpms = DRM_MODE_DPMS_OFF; tegra_dsi_init() 1030 drm_mode_connector_attach_encoder(&dsi->output.connector, tegra_dsi_init() 1032 drm_connector_register(&dsi->output.connector); tegra_dsi_init() 1407 if (output->panel && output->connector.dev) { tegra_dsi_host_attach() 1408 drm_panel_attach(output->panel, &output->connector); tegra_dsi_host_attach() 1409 drm_helper_hpd_irq_event(output->connector.dev); tegra_dsi_host_attach() 1425 if (output->connector.dev) tegra_dsi_host_detach() 1426 drm_helper_hpd_irq_event(output->connector.dev); tegra_dsi_host_detach() 1480 dsi->output.connector.polled = DRM_CONNECTOR_POLL_HPD; tegra_dsi_probe()
|
/linux-4.4.14/drivers/gpu/drm/msm/hdmi/ |
H A D | hdmi_connector.c | 307 struct drm_connector *connector = &hdmi_connector->base; hotplug_work() local 308 drm_helper_hpd_irq_event(connector->dev); hotplug_work() 311 void hdmi_connector_irq(struct drm_connector *connector) hdmi_connector_irq() argument 313 struct hdmi_connector *hdmi_connector = to_hdmi_connector(connector); hdmi_connector_irq() 357 struct drm_connector *connector, bool force) hdmi_connector_detect() 359 struct hdmi_connector *hdmi_connector = to_hdmi_connector(connector); hdmi_connector_detect() 386 static void hdmi_connector_destroy(struct drm_connector *connector) hdmi_connector_destroy() argument 388 struct hdmi_connector *hdmi_connector = to_hdmi_connector(connector); hdmi_connector_destroy() 392 drm_connector_unregister(connector); hdmi_connector_destroy() 393 drm_connector_cleanup(connector); hdmi_connector_destroy() 398 static int hdmi_connector_get_modes(struct drm_connector *connector) hdmi_connector_get_modes() argument 400 struct hdmi_connector *hdmi_connector = to_hdmi_connector(connector); hdmi_connector_get_modes() 409 edid = drm_get_edid(connector, hdmi->i2c); hdmi_connector_get_modes() 414 drm_mode_connector_update_edid_property(connector, edid); hdmi_connector_get_modes() 417 ret = drm_add_edid_modes(connector, edid); hdmi_connector_get_modes() 424 static int hdmi_connector_mode_valid(struct drm_connector *connector, hdmi_connector_mode_valid() argument 427 struct hdmi_connector *hdmi_connector = to_hdmi_connector(connector); hdmi_connector_mode_valid() 430 struct msm_drm_private *priv = connector->dev->dev_private; hdmi_connector_mode_valid() 454 hdmi_connector_best_encoder(struct drm_connector *connector) hdmi_connector_best_encoder() argument 456 struct hdmi_connector *hdmi_connector = to_hdmi_connector(connector); hdmi_connector_best_encoder() 476 /* initialize connector */ hdmi_connector_init() 479 struct drm_connector *connector = NULL; hdmi_connector_init() local 492 connector = &hdmi_connector->base; hdmi_connector_init() 494 drm_connector_init(hdmi->dev, connector, &hdmi_connector_funcs, hdmi_connector_init() 496 drm_connector_helper_add(connector, &hdmi_connector_helper_funcs); hdmi_connector_init() 498 connector->polled = DRM_CONNECTOR_POLL_CONNECT | hdmi_connector_init() 501 connector->interlace_allowed = 0; hdmi_connector_init() 502 connector->doublescan_allowed = 0; hdmi_connector_init() 504 drm_connector_register(connector); hdmi_connector_init() 512 drm_mode_connector_attach_encoder(connector, hdmi->encoder); hdmi_connector_init() 514 return connector; hdmi_connector_init() 517 if (connector) hdmi_connector_init() 518 hdmi_connector_destroy(connector); hdmi_connector_init() 356 hdmi_connector_detect( struct drm_connector *connector, bool force) hdmi_connector_detect() argument
|
H A D | hdmi.c | 52 hdmi_connector_irq(hdmi->connector); hdmi_irq() 274 hdmi->connector = hdmi_connector_init(hdmi); hdmi_modeset_init() 275 if (IS_ERR(hdmi->connector)) { hdmi_modeset_init() 276 ret = PTR_ERR(hdmi->connector); hdmi_modeset_init() 277 dev_err(dev->dev, "failed to create HDMI connector: %d\n", ret); hdmi_modeset_init() 278 hdmi->connector = NULL; hdmi_modeset_init() 301 priv->connectors[priv->num_connectors++] = hdmi->connector; hdmi_modeset_init() 313 if (hdmi->connector) { hdmi_modeset_init() 314 hdmi->connector->funcs->destroy(hdmi->connector); hdmi_modeset_init() 315 hdmi->connector = NULL; hdmi_modeset_init()
|
H A D | hdmi.h | 66 struct drm_connector *connector; member in struct:hdmi 173 * hdmi connector: 176 void hdmi_connector_irq(struct drm_connector *connector);
|
/linux-4.4.14/drivers/gpu/drm/atmel-hlcdc/ |
H A D | atmel_hlcdc_output.c | 40 * Atmel HLCDC RGB connector structure 44 * @connector: DRM connector 50 struct drm_connector connector; member in struct:atmel_hlcdc_rgb_output 57 drm_connector_to_atmel_hlcdc_rgb_output(struct drm_connector *connector) drm_connector_to_atmel_hlcdc_rgb_output() argument 59 return container_of(connector, struct atmel_hlcdc_rgb_output, drm_connector_to_atmel_hlcdc_rgb_output() 60 connector); drm_connector_to_atmel_hlcdc_rgb_output() 122 struct drm_display_info *info = &rgb->connector.display_info; atmel_hlcdc_rgb_encoder_mode_set() 166 static int atmel_hlcdc_panel_get_modes(struct drm_connector *connector) atmel_hlcdc_panel_get_modes() argument 169 drm_connector_to_atmel_hlcdc_rgb_output(connector); atmel_hlcdc_panel_get_modes() 175 static int atmel_hlcdc_rgb_mode_valid(struct drm_connector *connector, atmel_hlcdc_rgb_mode_valid() argument 179 drm_connector_to_atmel_hlcdc_rgb_output(connector); atmel_hlcdc_rgb_mode_valid() 187 atmel_hlcdc_rgb_best_encoder(struct drm_connector *connector) atmel_hlcdc_rgb_best_encoder() argument 190 drm_connector_to_atmel_hlcdc_rgb_output(connector); atmel_hlcdc_rgb_best_encoder() 202 atmel_hlcdc_panel_connector_detect(struct drm_connector *connector, bool force) atmel_hlcdc_panel_connector_detect() argument 208 atmel_hlcdc_panel_connector_destroy(struct drm_connector *connector) atmel_hlcdc_panel_connector_destroy() argument 211 drm_connector_to_atmel_hlcdc_rgb_output(connector); atmel_hlcdc_panel_connector_destroy() 215 drm_connector_cleanup(connector); atmel_hlcdc_panel_connector_destroy() 263 panel->base.connector.dpms = DRM_MODE_DPMS_OFF; atmel_hlcdc_create_panel_output() 264 panel->base.connector.polled = DRM_CONNECTOR_POLL_CONNECT; atmel_hlcdc_create_panel_output() 265 drm_connector_helper_add(&panel->base.connector, atmel_hlcdc_create_panel_output() 267 ret = drm_connector_init(dev, &panel->base.connector, atmel_hlcdc_create_panel_output() 273 drm_mode_connector_attach_encoder(&panel->base.connector, atmel_hlcdc_create_panel_output() 277 drm_panel_attach(p, &panel->base.connector); atmel_hlcdc_create_panel_output()
|
H A D | atmel_hlcdc_dc.c | 584 struct drm_connector *connector, *failed; atmel_hlcdc_dc_connector_plug_all() local 588 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { atmel_hlcdc_dc_connector_plug_all() 589 ret = drm_connector_register(connector); atmel_hlcdc_dc_connector_plug_all() 591 failed = connector; atmel_hlcdc_dc_connector_plug_all() 599 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { atmel_hlcdc_dc_connector_plug_all() 600 if (failed == connector) atmel_hlcdc_dc_connector_plug_all() 603 drm_connector_unregister(connector); atmel_hlcdc_dc_connector_plug_all()
|
/linux-4.4.14/drivers/gpu/drm/exynos/ |
H A D | exynos_drm_dpi.c | 31 struct drm_connector connector; member in struct:exynos_dpi 36 #define connector_to_dpi(c) container_of(c, struct exynos_dpi, connector) 44 exynos_dpi_detect(struct drm_connector *connector, bool force) exynos_dpi_detect() argument 46 struct exynos_dpi *ctx = connector_to_dpi(connector); exynos_dpi_detect() 48 if (ctx->panel && !ctx->panel->connector) exynos_dpi_detect() 49 drm_panel_attach(ctx->panel, &ctx->connector); exynos_dpi_detect() 54 static void exynos_dpi_connector_destroy(struct drm_connector *connector) exynos_dpi_connector_destroy() argument 56 drm_connector_unregister(connector); exynos_dpi_connector_destroy() 57 drm_connector_cleanup(connector); exynos_dpi_connector_destroy() 70 static int exynos_dpi_get_modes(struct drm_connector *connector) exynos_dpi_get_modes() argument 72 struct exynos_dpi *ctx = connector_to_dpi(connector); exynos_dpi_get_modes() 78 mode = drm_mode_create(connector->dev); exynos_dpi_get_modes() 85 drm_mode_probed_add(connector, mode); exynos_dpi_get_modes() 96 exynos_dpi_best_encoder(struct drm_connector *connector) exynos_dpi_best_encoder() argument 98 struct exynos_dpi *ctx = connector_to_dpi(connector); exynos_dpi_best_encoder() 111 struct drm_connector *connector = &ctx->connector; exynos_dpi_create_connector() local 114 connector->polled = DRM_CONNECTOR_POLL_HPD; exynos_dpi_create_connector() 116 ret = drm_connector_init(encoder->dev, connector, exynos_dpi_create_connector() 120 DRM_ERROR("failed to initialize connector with drm\n"); exynos_dpi_create_connector() 124 drm_connector_helper_add(connector, &exynos_dpi_connector_helper_funcs); exynos_dpi_create_connector() 125 drm_connector_register(connector); exynos_dpi_create_connector() 126 drm_mode_connector_attach_encoder(connector, encoder); exynos_dpi_create_connector() 318 DRM_ERROR("failed to create connector ret = %d\n", ret); exynos_dpi_bind()
|
H A D | exynos_drm_vidi.c | 35 connector) 42 struct drm_connector connector; member in struct:vidi_context 316 static enum drm_connector_status vidi_detect(struct drm_connector *connector, vidi_detect() argument 319 struct vidi_context *ctx = ctx_from_connector(connector); vidi_detect() 329 static void vidi_connector_destroy(struct drm_connector *connector) vidi_connector_destroy() argument 343 static int vidi_get_modes(struct drm_connector *connector) vidi_get_modes() argument 345 struct vidi_context *ctx = ctx_from_connector(connector); vidi_get_modes() 365 drm_mode_connector_update_edid_property(connector, edid); vidi_get_modes() 367 return drm_add_edid_modes(connector, edid); vidi_get_modes() 370 static struct drm_encoder *vidi_best_encoder(struct drm_connector *connector) vidi_best_encoder() argument 372 struct vidi_context *ctx = ctx_from_connector(connector); vidi_best_encoder() 385 struct drm_connector *connector = &ctx->connector; vidi_create_connector() local 388 connector->polled = DRM_CONNECTOR_POLL_HPD; vidi_create_connector() 390 ret = drm_connector_init(ctx->drm_dev, connector, vidi_create_connector() 393 DRM_ERROR("Failed to initialize connector with drm\n"); vidi_create_connector() 397 drm_connector_helper_add(connector, &vidi_connector_helper_funcs); vidi_create_connector() 398 drm_connector_register(connector); vidi_create_connector() 399 drm_mode_connector_attach_encoder(connector, encoder); vidi_create_connector() 482 DRM_ERROR("failed to create connector ret = %d\n", ret); vidi_bind()
|
H A D | exynos_drm_drv.c | 310 struct drm_connector *connector; exynos_drm_suspend() local 313 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { exynos_drm_suspend() 314 int old_dpms = connector->dpms; exynos_drm_suspend() 316 if (connector->funcs->dpms) exynos_drm_suspend() 317 connector->funcs->dpms(connector, DRM_MODE_DPMS_OFF); exynos_drm_suspend() 319 /* Set the old mode back to the connector for resume */ exynos_drm_suspend() 320 connector->dpms = old_dpms; exynos_drm_suspend() 329 struct drm_connector *connector; exynos_drm_resume() local 332 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { exynos_drm_resume() 333 if (connector->funcs->dpms) { exynos_drm_resume() 334 int dpms = connector->dpms; exynos_drm_resume() 336 connector->dpms = DRM_MODE_DPMS_OFF; exynos_drm_resume() 337 connector->funcs->dpms(connector, dpms); exynos_drm_resume() 511 * because connector requires pipe number of its crtc during initialization.
|
H A D | exynos_hdmi.c | 104 struct drm_connector connector; member in struct:hdmi_context 135 return container_of(c, struct hdmi_context, connector); connector_to_hdmi() 942 static enum drm_connector_status hdmi_detect(struct drm_connector *connector, hdmi_detect() argument 945 struct hdmi_context *hdata = connector_to_hdmi(connector); hdmi_detect() 953 static void hdmi_connector_destroy(struct drm_connector *connector) hdmi_connector_destroy() argument 955 drm_connector_unregister(connector); hdmi_connector_destroy() 956 drm_connector_cleanup(connector); hdmi_connector_destroy() 969 static int hdmi_get_modes(struct drm_connector *connector) hdmi_get_modes() argument 971 struct hdmi_context *hdata = connector_to_hdmi(connector); hdmi_get_modes() 978 edid = drm_get_edid(connector, hdata->ddc_adpt); hdmi_get_modes() 987 drm_mode_connector_update_edid_property(connector, edid); hdmi_get_modes() 989 ret = drm_add_edid_modes(connector, edid); hdmi_get_modes() 1008 static int hdmi_mode_valid(struct drm_connector *connector, hdmi_mode_valid() argument 1011 struct hdmi_context *hdata = connector_to_hdmi(connector); hdmi_mode_valid() 1026 static struct drm_encoder *hdmi_best_encoder(struct drm_connector *connector) hdmi_best_encoder() argument 1028 struct hdmi_context *hdata = connector_to_hdmi(connector); hdmi_best_encoder() 1042 struct drm_connector *connector = &hdata->connector; hdmi_create_connector() local 1045 connector->interlace_allowed = true; hdmi_create_connector() 1046 connector->polled = DRM_CONNECTOR_POLL_HPD; hdmi_create_connector() 1048 ret = drm_connector_init(hdata->drm_dev, connector, hdmi_create_connector() 1051 DRM_ERROR("Failed to initialize connector with drm\n"); hdmi_create_connector() 1055 drm_connector_helper_add(connector, &hdmi_connector_helper_funcs); hdmi_create_connector() 1056 drm_connector_register(connector); hdmi_create_connector() 1057 drm_mode_connector_attach_encoder(connector, encoder); hdmi_create_connector() 1067 struct drm_connector *connector; hdmi_mode_fixup() local 1073 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { hdmi_mode_fixup() 1074 if (connector->encoder == encoder) hdmi_mode_fixup() 1078 if (connector->encoder != encoder) hdmi_mode_fixup() 1081 mode_ok = hdmi_mode_valid(connector, adjusted_mode); hdmi_mode_fixup() 1091 list_for_each_entry(m, &connector->modes, head) { hdmi_mode_fixup() 1092 mode_ok = hdmi_mode_valid(connector, m); hdmi_mode_fixup() 1802 DRM_ERROR("failed to create connector ret = %d\n", ret); hdmi_bind()
|
H A D | exynos_dp_core.c | 38 connector) 945 struct drm_connector *connector, bool force) exynos_dp_detect() 950 static void exynos_dp_connector_destroy(struct drm_connector *connector) exynos_dp_connector_destroy() argument 952 drm_connector_unregister(connector); exynos_dp_connector_destroy() 953 drm_connector_cleanup(connector); exynos_dp_connector_destroy() 966 static int exynos_dp_get_modes(struct drm_connector *connector) exynos_dp_get_modes() argument 968 struct exynos_dp_device *dp = ctx_from_connector(connector); exynos_dp_get_modes() 974 mode = drm_mode_create(connector->dev); exynos_dp_get_modes() 983 connector->display_info.width_mm = mode->width_mm; exynos_dp_get_modes() 984 connector->display_info.height_mm = mode->height_mm; exynos_dp_get_modes() 988 drm_mode_probed_add(connector, mode); exynos_dp_get_modes() 994 struct drm_connector *connector) exynos_dp_best_encoder() 996 struct exynos_dp_device *dp = ctx_from_connector(connector); exynos_dp_best_encoder() 1026 struct drm_connector *connector = &dp->connector; exynos_dp_create_connector() local 1029 /* Pre-empt DP connector creation if there's a bridge */ exynos_dp_create_connector() 1036 connector->polled = DRM_CONNECTOR_POLL_HPD; exynos_dp_create_connector() 1038 ret = drm_connector_init(dp->drm_dev, connector, exynos_dp_create_connector() 1041 DRM_ERROR("Failed to initialize connector with drm\n"); exynos_dp_create_connector() 1045 drm_connector_helper_add(connector, &exynos_dp_connector_helper_funcs); exynos_dp_create_connector() 1046 drm_connector_register(connector); exynos_dp_create_connector() 1047 drm_mode_connector_attach_encoder(connector, encoder); exynos_dp_create_connector() 1050 ret = drm_panel_attach(dp->panel, &dp->connector); exynos_dp_create_connector() 1322 DRM_ERROR("failed to create connector ret = %d\n", ret); exynos_dp_bind() 944 exynos_dp_detect( struct drm_connector *connector, bool force) exynos_dp_detect() argument 993 exynos_dp_best_encoder( struct drm_connector *connector) exynos_dp_best_encoder() argument
|
H A D | exynos_drm_dsi.c | 264 struct drm_connector connector; member in struct:exynos_dsi 296 #define connector_to_dsi(c) container_of(c, struct exynos_dsi, connector) 1383 if (dsi->connector.dev) exynos_dsi_host_attach() 1384 drm_helper_hpd_irq_event(dsi->connector.dev); exynos_dsi_host_attach() 1398 if (dsi->connector.dev) exynos_dsi_host_detach() 1399 drm_helper_hpd_irq_event(dsi->connector.dev); exynos_dsi_host_detach() 1576 exynos_dsi_detect(struct drm_connector *connector, bool force) exynos_dsi_detect() argument 1578 struct exynos_dsi *dsi = connector_to_dsi(connector); exynos_dsi_detect() 1583 drm_panel_attach(dsi->panel, &dsi->connector); exynos_dsi_detect() 1599 static void exynos_dsi_connector_destroy(struct drm_connector *connector) exynos_dsi_connector_destroy() argument 1601 drm_connector_unregister(connector); exynos_dsi_connector_destroy() 1602 drm_connector_cleanup(connector); exynos_dsi_connector_destroy() 1603 connector->dev = NULL; exynos_dsi_connector_destroy() 1616 static int exynos_dsi_get_modes(struct drm_connector *connector) exynos_dsi_get_modes() argument 1618 struct exynos_dsi *dsi = connector_to_dsi(connector); exynos_dsi_get_modes() 1627 exynos_dsi_best_encoder(struct drm_connector *connector) exynos_dsi_best_encoder() argument 1629 struct exynos_dsi *dsi = connector_to_dsi(connector); exynos_dsi_best_encoder() 1642 struct drm_connector *connector = &dsi->connector; exynos_dsi_create_connector() local 1645 connector->polled = DRM_CONNECTOR_POLL_HPD; exynos_dsi_create_connector() 1647 ret = drm_connector_init(encoder->dev, connector, exynos_dsi_create_connector() 1651 DRM_ERROR("Failed to initialize connector with drm\n"); exynos_dsi_create_connector() 1655 drm_connector_helper_add(connector, &exynos_dsi_connector_helper_funcs); exynos_dsi_create_connector() 1656 drm_connector_register(connector); exynos_dsi_create_connector() 1657 drm_mode_connector_attach_encoder(connector, encoder); exynos_dsi_create_connector() 1840 DRM_ERROR("failed to create connector ret = %d\n", ret); exynos_dsi_bind()
|
/linux-4.4.14/drivers/gpu/drm/msm/dsi/ |
H A D | dsi_manager.c | 135 static inline int dsi_mgr_connector_get_id(struct drm_connector *connector) dsi_mgr_connector_get_id() argument 137 struct dsi_connector *dsi_connector = to_dsi_connector(connector); dsi_mgr_connector_get_id() 148 struct drm_connector *connector, bool force) dsi_mgr_connector_detect() 150 int id = dsi_mgr_connector_get_id(connector); dsi_mgr_connector_detect() 153 struct msm_drm_private *priv = connector->dev->dev_private; dsi_mgr_connector_detect() 172 drm_object_attach_property(&connector->base, dsi_mgr_connector_detect() 173 connector->dev->mode_config.tile_property, 0); dsi_mgr_connector_detect() 199 static void dsi_mgr_connector_destroy(struct drm_connector *connector) dsi_mgr_connector_destroy() argument 202 drm_connector_unregister(connector); dsi_mgr_connector_destroy() 203 drm_connector_cleanup(connector); dsi_mgr_connector_destroy() 206 static void dsi_dual_connector_fix_modes(struct drm_connector *connector) dsi_dual_connector_fix_modes() argument 211 list_for_each_entry_safe(mode, m, &connector->probed_modes, head) { dsi_dual_connector_fix_modes() 222 struct drm_connector *connector, int id) dsi_dual_connector_tile_init() 228 if (connector->tile_group) { dsi_dual_connector_tile_init() 234 mode = list_first_entry(&connector->probed_modes, dsi_dual_connector_tile_init() 240 connector->tile_group = drm_mode_get_tile_group( dsi_dual_connector_tile_init() 241 connector->dev, topo_id); dsi_dual_connector_tile_init() 242 if (!connector->tile_group) dsi_dual_connector_tile_init() 243 connector->tile_group = drm_mode_create_tile_group( dsi_dual_connector_tile_init() 244 connector->dev, topo_id); dsi_dual_connector_tile_init() 245 if (!connector->tile_group) { dsi_dual_connector_tile_init() 250 connector->has_tile = true; dsi_dual_connector_tile_init() 251 connector->tile_is_single_monitor = true; dsi_dual_connector_tile_init() 254 connector->tile_h_size = mode->hdisplay; dsi_dual_connector_tile_init() 255 connector->tile_v_size = mode->vdisplay; dsi_dual_connector_tile_init() 258 connector->num_h_tile = 2; dsi_dual_connector_tile_init() 259 connector->num_v_tile = 1; dsi_dual_connector_tile_init() 261 connector->tile_v_loc = 0; dsi_dual_connector_tile_init() 262 connector->tile_h_loc = (id == DSI_RIGHT) ? 1 : 0; dsi_dual_connector_tile_init() 267 static int dsi_mgr_connector_get_modes(struct drm_connector *connector) dsi_mgr_connector_get_modes() argument 269 int id = dsi_mgr_connector_get_id(connector); dsi_mgr_connector_get_modes() 278 * panel should not attach to any connector. dsi_mgr_connector_get_modes() 279 * Only temporarily attach panel to the current connector here, dsi_mgr_connector_get_modes() 280 * to let panel set mode to this connector. dsi_mgr_connector_get_modes() 282 drm_panel_attach(panel, connector); dsi_mgr_connector_get_modes() 290 dsi_dual_connector_fix_modes(connector); dsi_mgr_connector_get_modes() 291 ret = dsi_dual_connector_tile_init(connector, id); dsi_mgr_connector_get_modes() 294 ret = drm_mode_connector_set_tile_property(connector); dsi_mgr_connector_get_modes() 305 static int dsi_mgr_connector_mode_valid(struct drm_connector *connector, dsi_mgr_connector_mode_valid() argument 308 int id = dsi_mgr_connector_get_id(connector); dsi_mgr_connector_mode_valid() 311 struct msm_drm_private *priv = connector->dev->dev_private; dsi_mgr_connector_mode_valid() 327 dsi_mgr_connector_best_encoder(struct drm_connector *connector) dsi_mgr_connector_best_encoder() argument 329 int id = dsi_mgr_connector_get_id(connector); dsi_mgr_connector_best_encoder() 533 /* initialize connector when we're connected to a drm_panel */ msm_dsi_manager_connector_init() 537 struct drm_connector *connector = NULL; msm_dsi_manager_connector_init() local 550 connector = &dsi_connector->base; msm_dsi_manager_connector_init() 552 ret = drm_connector_init(msm_dsi->dev, connector, msm_dsi_manager_connector_init() 557 drm_connector_helper_add(connector, &dsi_mgr_conn_helper_funcs); msm_dsi_manager_connector_init() 562 connector->polled = DRM_CONNECTOR_POLL_HPD; msm_dsi_manager_connector_init() 565 connector->interlace_allowed = 0; msm_dsi_manager_connector_init() 566 connector->doublescan_allowed = 0; msm_dsi_manager_connector_init() 568 ret = drm_connector_register(connector); msm_dsi_manager_connector_init() 573 drm_mode_connector_attach_encoder(connector, msm_dsi_manager_connector_init() 576 return connector; msm_dsi_manager_connector_init() 579 if (connector) msm_dsi_manager_connector_init() 580 dsi_mgr_connector_destroy(connector); msm_dsi_manager_connector_init() 624 struct drm_connector *connector; msm_dsi_manager_ext_bridge_init() local 649 * priv->connector[] list, mainly for msm_fbdev_init() msm_dsi_manager_ext_bridge_init() 653 list_for_each_entry(connector, connector_list, head) { list_for_each_entry() 657 if (connector->encoder_ids[i] == encoder->base.id) list_for_each_entry() 658 return connector; list_for_each_entry() 147 dsi_mgr_connector_detect( struct drm_connector *connector, bool force) dsi_mgr_connector_detect() argument 221 dsi_dual_connector_tile_init( struct drm_connector *connector, int id) dsi_dual_connector_tile_init() argument
|
H A D | dsi.c | 223 * external bridge. We create a connector only if we're connected to a msm_dsi_modeset_init() 225 * assume that the drm_bridge driver will create the connector itself. msm_dsi_modeset_init() 230 msm_dsi->connector = msm_dsi_modeset_init() 233 msm_dsi->connector = msm_dsi_modeset_init() 236 if (IS_ERR(msm_dsi->connector)) { msm_dsi_modeset_init() 237 ret = PTR_ERR(msm_dsi->connector); msm_dsi_modeset_init() 239 "failed to create dsi connector: %d\n", ret); msm_dsi_modeset_init() 240 msm_dsi->connector = NULL; msm_dsi_modeset_init() 245 priv->connectors[priv->num_connectors++] = msm_dsi->connector; msm_dsi_modeset_init() 250 /* bridge/connector are normally destroyed by drm: */ msm_dsi_modeset_init() 256 /* don't destroy connector if we didn't make it */ msm_dsi_modeset_init() 257 if (msm_dsi->connector && !msm_dsi->external_bridge) msm_dsi_modeset_init() 258 msm_dsi->connector->funcs->destroy(msm_dsi->connector); msm_dsi_modeset_init() 260 msm_dsi->connector = NULL; msm_dsi_modeset_init()
|
H A D | dsi.h | 57 /* connector managed by us when we're connected to a drm_panel */ 58 struct drm_connector *connector; member in struct:msm_dsi
|
/linux-4.4.14/drivers/gpu/drm/imx/ |
H A D | parallel-display.c | 28 #define con_to_imxpd(x) container_of(x, struct imx_parallel_display, connector) 32 struct drm_connector connector; member in struct:imx_parallel_display 44 struct drm_connector *connector, bool force) imx_pd_connector_detect() 49 static int imx_pd_connector_get_modes(struct drm_connector *connector) imx_pd_connector_get_modes() argument 51 struct imx_parallel_display *imxpd = con_to_imxpd(connector); imx_pd_connector_get_modes() 57 struct drm_display_info *di = &connector->display_info; imx_pd_connector_get_modes() 67 drm_mode_connector_update_edid_property(connector, imxpd->edid); imx_pd_connector_get_modes() 68 num_modes = drm_add_edid_modes(connector, imxpd->edid); imx_pd_connector_get_modes() 72 struct drm_display_mode *mode = drm_mode_create(connector->dev); imx_pd_connector_get_modes() 78 drm_mode_probed_add(connector, mode); imx_pd_connector_get_modes() 83 struct drm_display_mode *mode = drm_mode_create(connector->dev); imx_pd_connector_get_modes() 90 drm_mode_probed_add(connector, mode); imx_pd_connector_get_modes() 98 struct drm_connector *connector) imx_pd_connector_best_encoder() 100 struct imx_parallel_display *imxpd = con_to_imxpd(connector); imx_pd_connector_best_encoder() 186 /* set the connector's dpms to OFF so that imx_pd_register() 191 imxpd->connector.dpms = DRM_MODE_DPMS_OFF; imx_pd_register() 197 drm_connector_helper_add(&imxpd->connector, imx_pd_register() 199 drm_connector_init(drm, &imxpd->connector, &imx_pd_connector_funcs, imx_pd_register() 203 drm_panel_attach(imxpd->panel, &imxpd->connector); imx_pd_register() 205 drm_mode_connector_attach_encoder(&imxpd->connector, &imxpd->encoder); imx_pd_register() 207 imxpd->connector.encoder = &imxpd->encoder; imx_pd_register() 274 imxpd->connector.funcs->destroy(&imxpd->connector); imx_pd_unbind() 43 imx_pd_connector_detect( struct drm_connector *connector, bool force) imx_pd_connector_detect() argument 97 imx_pd_connector_best_encoder( struct drm_connector *connector) imx_pd_connector_best_encoder() argument
|
H A D | imx-ldb.c | 50 #define con_to_imx_ldb_ch(x) container_of(x, struct imx_ldb_channel, connector) 57 struct drm_connector connector; member in struct:imx_ldb_channel 88 struct drm_connector *connector, bool force) imx_ldb_connector_detect() 93 static int imx_ldb_connector_get_modes(struct drm_connector *connector) imx_ldb_connector_get_modes() argument 95 struct imx_ldb_channel *imx_ldb_ch = con_to_imx_ldb_ch(connector); imx_ldb_connector_get_modes() 100 struct drm_display_info *di = &connector->display_info; imx_ldb_connector_get_modes() 110 drm_mode_connector_update_edid_property(connector, imx_ldb_connector_get_modes() 112 num_modes = drm_add_edid_modes(connector, imx_ldb_ch->edid); imx_ldb_connector_get_modes() 118 mode = drm_mode_create(connector->dev); imx_ldb_connector_get_modes() 123 drm_mode_probed_add(connector, mode); imx_ldb_connector_get_modes() 131 struct drm_connector *connector) imx_ldb_connector_best_encoder() 133 struct imx_ldb_channel *imx_ldb_ch = con_to_imx_ldb_ch(connector); imx_ldb_connector_best_encoder() 427 drm_connector_helper_add(&imx_ldb_ch->connector, imx_ldb_register() 429 drm_connector_init(drm, &imx_ldb_ch->connector, imx_ldb_register() 433 drm_panel_attach(imx_ldb_ch->panel, &imx_ldb_ch->connector); imx_ldb_register() 435 drm_mode_connector_attach_encoder(&imx_ldb_ch->connector, imx_ldb_register() 650 if (!channel->connector.funcs) imx_ldb_unbind() 653 channel->connector.funcs->destroy(&channel->connector); imx_ldb_unbind() 87 imx_ldb_connector_detect( struct drm_connector *connector, bool force) imx_ldb_connector_detect() argument 130 imx_ldb_connector_best_encoder( struct drm_connector *connector) imx_ldb_connector_best_encoder() argument
|
H A D | imx-tve.c | 100 #define con_to_tve(x) container_of(x, struct imx_tve, connector) 109 struct drm_connector connector; member in struct:imx_tve 224 struct drm_connector *connector, bool force) imx_tve_connector_detect() 229 static int imx_tve_connector_get_modes(struct drm_connector *connector) imx_tve_connector_get_modes() argument 231 struct imx_tve *tve = con_to_tve(connector); imx_tve_connector_get_modes() 238 edid = drm_get_edid(connector, tve->ddc); imx_tve_connector_get_modes() 240 drm_mode_connector_update_edid_property(connector, edid); imx_tve_connector_get_modes() 241 ret = drm_add_edid_modes(connector, edid); imx_tve_connector_get_modes() 248 static int imx_tve_connector_mode_valid(struct drm_connector *connector, imx_tve_connector_mode_valid() argument 251 struct imx_tve *tve = con_to_tve(connector); imx_tve_connector_mode_valid() 271 struct drm_connector *connector) imx_tve_connector_best_encoder() 273 struct imx_tve *tve = con_to_tve(connector); imx_tve_connector_best_encoder() 513 drm_connector_helper_add(&tve->connector, imx_tve_register() 515 drm_connector_init(drm, &tve->connector, &imx_tve_connector_funcs, imx_tve_register() 518 drm_mode_connector_attach_encoder(&tve->connector, &tve->encoder); imx_tve_register() 697 tve->connector.funcs->destroy(&tve->connector); imx_tve_unbind() 223 imx_tve_connector_detect( struct drm_connector *connector, bool force) imx_tve_connector_detect() argument 270 imx_tve_connector_best_encoder( struct drm_connector *connector) imx_tve_connector_best_encoder() argument
|
H A D | imx-drm-core.c | 203 void imx_drm_connector_destroy(struct drm_connector *connector) imx_drm_connector_destroy() argument 205 drm_connector_unregister(connector); imx_drm_connector_destroy() 206 drm_connector_cleanup(connector); imx_drm_connector_destroy() 237 struct drm_connector *connector; imx_drm_driver_load() local 291 * All components are now added, we can publish the connector sysfs imx_drm_driver_load() 295 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { imx_drm_driver_load() 296 ret = drm_connector_register(connector); imx_drm_driver_load() 300 connector->base.id, imx_drm_driver_load() 301 connector->name, ret); imx_drm_driver_load()
|
H A D | imx-drm.h | 54 void imx_drm_connector_destroy(struct drm_connector *connector);
|
/linux-4.4.14/drivers/gpu/drm/bridge/ |
H A D | nxp-ptn3460.c | 40 struct drm_connector connector; member in struct:ptn3460_bridge 58 connector_to_ptn3460(struct drm_connector *connector) connector_to_ptn3460() argument 60 return container_of(connector, struct ptn3460_bridge, connector); connector_to_ptn3460() 198 static int ptn3460_get_modes(struct drm_connector *connector) ptn3460_get_modes() argument 205 ptn_bridge = connector_to_ptn3460(connector); ptn3460_get_modes() 208 return drm_add_edid_modes(connector, ptn_bridge->edid); ptn3460_get_modes() 227 drm_mode_connector_update_edid_property(connector, ptn_bridge->edid); ptn3460_get_modes() 229 num_modes = drm_add_edid_modes(connector, ptn_bridge->edid); ptn3460_get_modes() 238 static struct drm_encoder *ptn3460_best_encoder(struct drm_connector *connector) ptn3460_best_encoder() argument 240 struct ptn3460_bridge *ptn_bridge = connector_to_ptn3460(connector); ptn3460_best_encoder() 250 static enum drm_connector_status ptn3460_detect(struct drm_connector *connector, ptn3460_detect() argument 256 static void ptn3460_connector_destroy(struct drm_connector *connector) ptn3460_connector_destroy() argument 258 drm_connector_cleanup(connector); ptn3460_connector_destroy() 281 ptn_bridge->connector.polled = DRM_CONNECTOR_POLL_HPD; ptn3460_bridge_attach() 282 ret = drm_connector_init(bridge->dev, &ptn_bridge->connector, ptn3460_bridge_attach() 285 DRM_ERROR("Failed to initialize connector with drm\n"); ptn3460_bridge_attach() 288 drm_connector_helper_add(&ptn_bridge->connector, ptn3460_bridge_attach() 290 drm_connector_register(&ptn_bridge->connector); ptn3460_bridge_attach() 291 drm_mode_connector_attach_encoder(&ptn_bridge->connector, ptn3460_bridge_attach() 295 drm_panel_attach(ptn_bridge->panel, &ptn_bridge->connector); ptn3460_bridge_attach() 297 drm_helper_hpd_irq_event(ptn_bridge->connector.dev); ptn3460_bridge_attach()
|
H A D | parade-ps8622.c | 55 struct drm_connector connector; member in struct:ps8622_bridge 78 connector_to_ps8622(struct drm_connector *connector) connector_to_ps8622() argument 80 return container_of(connector, struct ps8622_bridge, connector); connector_to_ps8622() 468 static int ps8622_get_modes(struct drm_connector *connector) ps8622_get_modes() argument 472 ps8622 = connector_to_ps8622(connector); ps8622_get_modes() 477 static struct drm_encoder *ps8622_best_encoder(struct drm_connector *connector) ps8622_best_encoder() argument 481 ps8622 = connector_to_ps8622(connector); ps8622_best_encoder() 491 static enum drm_connector_status ps8622_detect(struct drm_connector *connector, ps8622_detect() argument 497 static void ps8622_connector_destroy(struct drm_connector *connector) ps8622_connector_destroy() argument 499 drm_connector_cleanup(connector); ps8622_connector_destroy() 522 ps8622->connector.polled = DRM_CONNECTOR_POLL_HPD; ps8622_attach() 523 ret = drm_connector_init(bridge->dev, &ps8622->connector, ps8622_attach() 526 DRM_ERROR("Failed to initialize connector with drm\n"); ps8622_attach() 529 drm_connector_helper_add(&ps8622->connector, ps8622_attach() 531 drm_connector_register(&ps8622->connector); ps8622_attach() 532 drm_mode_connector_attach_encoder(&ps8622->connector, ps8622_attach() 536 drm_panel_attach(ps8622->panel, &ps8622->connector); ps8622_attach() 538 drm_helper_hpd_irq_event(ps8622->connector.dev); ps8622_attach()
|
H A D | dw_hdmi.c | 104 struct drm_connector connector; member in struct:dw_hdmi 1428 dw_hdmi_connector_detect(struct drm_connector *connector, bool force) dw_hdmi_connector_detect() argument 1430 struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, dw_hdmi_connector_detect() 1431 connector); dw_hdmi_connector_detect() 1443 static int dw_hdmi_connector_get_modes(struct drm_connector *connector) dw_hdmi_connector_get_modes() argument 1445 struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, dw_hdmi_connector_get_modes() 1446 connector); dw_hdmi_connector_get_modes() 1453 edid = drm_get_edid(connector, hdmi->ddc); dw_hdmi_connector_get_modes() 1460 drm_mode_connector_update_edid_property(connector, edid); dw_hdmi_connector_get_modes() 1461 ret = drm_add_edid_modes(connector, edid); dw_hdmi_connector_get_modes() 1463 drm_edid_to_eld(connector, edid); dw_hdmi_connector_get_modes() 1473 dw_hdmi_connector_mode_valid(struct drm_connector *connector, dw_hdmi_connector_mode_valid() argument 1476 struct dw_hdmi *hdmi = container_of(connector, dw_hdmi_connector_mode_valid() 1477 struct dw_hdmi, connector); dw_hdmi_connector_mode_valid() 1485 mode_status = hdmi->plat_data->mode_valid(connector, mode); dw_hdmi_connector_mode_valid() 1491 *connector) dw_hdmi_connector_best_encoder() 1493 struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, dw_hdmi_connector_best_encoder() 1494 connector); dw_hdmi_connector_best_encoder() 1499 static void dw_hdmi_connector_destroy(struct drm_connector *connector) dw_hdmi_connector_destroy() argument 1501 drm_connector_unregister(connector); dw_hdmi_connector_destroy() 1502 drm_connector_cleanup(connector); dw_hdmi_connector_destroy() 1505 static void dw_hdmi_connector_force(struct drm_connector *connector) dw_hdmi_connector_force() argument 1507 struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi, dw_hdmi_connector_force() 1508 connector); dw_hdmi_connector_force() 1511 hdmi->force = connector->force; dw_hdmi_connector_force() 1644 hdmi->connector.polled = DRM_CONNECTOR_POLL_HPD; dw_hdmi_register() 1646 drm_connector_helper_add(&hdmi->connector, dw_hdmi_register() 1648 drm_connector_init(drm, &hdmi->connector, &dw_hdmi_connector_funcs, dw_hdmi_register() 1651 hdmi->connector.encoder = encoder; dw_hdmi_register() 1653 drm_mode_connector_attach_encoder(&hdmi->connector, encoder); dw_hdmi_register() 1676 hdmi->connector.interlace_allowed = 1; dw_hdmi_bind() 1803 audio.eld = hdmi->connector.eld; dw_hdmi_bind() 1835 hdmi->connector.funcs->destroy(&hdmi->connector); dw_hdmi_unbind() 1490 dw_hdmi_connector_best_encoder(struct drm_connector *connector) dw_hdmi_connector_best_encoder() argument
|
/linux-4.4.14/drivers/gpu/drm/rockchip/ |
H A D | rockchip_drm_drv.c | 135 struct drm_connector *connector; rockchip_drm_load() local 179 * All components are now added, we can publish the connector sysfs rockchip_drm_load() 183 list_for_each_entry(connector, &drm_dev->mode_config.connector_list, rockchip_drm_load() 185 ret = drm_connector_register(connector); rockchip_drm_load() 189 connector->base.id, rockchip_drm_load() 190 connector->name, ret); rockchip_drm_load() 310 struct drm_connector *connector; rockchip_drm_sys_suspend() local 316 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { rockchip_drm_sys_suspend() 317 int old_dpms = connector->dpms; rockchip_drm_sys_suspend() 319 if (connector->funcs->dpms) rockchip_drm_sys_suspend() 320 connector->funcs->dpms(connector, DRM_MODE_DPMS_OFF); rockchip_drm_sys_suspend() 322 /* Set the old mode back to the connector for resume */ rockchip_drm_sys_suspend() 323 connector->dpms = old_dpms; rockchip_drm_sys_suspend() 333 struct drm_connector *connector; rockchip_drm_sys_resume() local 341 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { rockchip_drm_sys_resume() 342 int desired_mode = connector->dpms; rockchip_drm_sys_resume() 345 * at suspend time, we save dpms to connector->dpms, rockchip_drm_sys_resume() 346 * restore the old_dpms, and at current time, the connector rockchip_drm_sys_resume() 349 connector->dpms = DRM_MODE_DPMS_OFF; rockchip_drm_sys_resume() 352 * If the connector has been disconnected during suspend, rockchip_drm_sys_resume() 357 status = connector->funcs->detect(connector, true); rockchip_drm_sys_resume() 359 connector->encoder = NULL; rockchip_drm_sys_resume() 360 connector->status = status; rockchip_drm_sys_resume() 365 if (connector->funcs->dpms) rockchip_drm_sys_resume() 366 connector->funcs->dpms(connector, desired_mode); rockchip_drm_sys_resume()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/dispnv04/ |
H A D | disp.c | 40 struct drm_connector *connector, *ct; nv04_display_create() local 66 connector = nouveau_connector_create(dev, dcbent->connector); nv04_display_create() 67 if (IS_ERR(connector)) nv04_display_create() 72 ret = nv04_dac_create(connector, dcbent); nv04_display_create() 76 ret = nv04_dfp_create(connector, dcbent); nv04_display_create() 80 ret = nv17_tv_create(connector, dcbent); nv04_display_create() 82 ret = nv04_tv_create(connector, dcbent); nv04_display_create() 93 list_for_each_entry_safe(connector, ct, nv04_display_create() 95 if (!connector->encoder_ids[0]) { nv04_display_create() 97 connector->name); nv04_display_create() 98 connector->funcs->destroy(connector); nv04_display_create()
|
H A D | tvnv17.c | 144 nv17_tv_detect(struct drm_encoder *encoder, struct drm_connector *connector) nv17_tv_detect() argument 185 drm_object_property_set_value(&connector->base, nv17_tv_detect() 201 struct drm_connector *connector) nv17_tv_get_ld_modes() 223 drm_mode_probed_add(connector, mode); nv17_tv_get_ld_modes() 231 struct drm_connector *connector) nv17_tv_get_hd_modes() 285 drm_mode_probed_add(connector, mode); nv17_tv_get_hd_modes() 293 struct drm_connector *connector) nv17_tv_get_modes() 298 return nv17_tv_get_hd_modes(encoder, connector); nv17_tv_get_modes() 300 return nv17_tv_get_ld_modes(encoder, connector); nv17_tv_get_modes() 635 struct drm_connector *connector) nv17_tv_create_resources() 661 drm_object_attach_property(&connector->base, nv17_tv_create_resources() 664 drm_object_attach_property(&connector->base, nv17_tv_create_resources() 667 drm_object_attach_property(&connector->base, nv17_tv_create_resources() 670 drm_object_attach_property(&connector->base, nv17_tv_create_resources() 673 drm_object_attach_property(&connector->base, nv17_tv_create_resources() 676 drm_object_attach_property(&connector->base, nv17_tv_create_resources() 679 drm_object_attach_property(&connector->base, nv17_tv_create_resources() 687 struct drm_connector *connector, nv17_tv_set_property() 729 if (connector->dpms != DRM_MODE_DPMS_OFF) nv17_tv_set_property() 748 drm_helper_probe_single_connector_modes(connector, 0, 0); nv17_tv_set_property() 795 nv17_tv_create(struct drm_connector *connector, struct dcb_output *entry) nv17_tv_create() argument 797 struct drm_device *dev = connector->dev; nv17_tv_create() 826 nv17_tv_create_resources(encoder, connector); nv17_tv_create() 827 drm_mode_connector_attach_encoder(connector, encoder); nv17_tv_create() 200 nv17_tv_get_ld_modes(struct drm_encoder *encoder, struct drm_connector *connector) nv17_tv_get_ld_modes() argument 230 nv17_tv_get_hd_modes(struct drm_encoder *encoder, struct drm_connector *connector) nv17_tv_get_hd_modes() argument 292 nv17_tv_get_modes(struct drm_encoder *encoder, struct drm_connector *connector) nv17_tv_get_modes() argument 634 nv17_tv_create_resources(struct drm_encoder *encoder, struct drm_connector *connector) nv17_tv_create_resources() argument 686 nv17_tv_set_property(struct drm_encoder *encoder, struct drm_connector *connector, struct drm_property *property, uint64_t val) nv17_tv_set_property() argument
|
H A D | tvnv04.c | 205 nv04_tv_create(struct drm_connector *connector, struct dcb_output *entry) nv04_tv_create() argument 209 struct drm_device *dev = connector->dev; nv04_tv_create() 243 /* Attach it to the specified connector. */ nv04_tv_create() 244 get_slave_funcs(encoder)->create_resources(encoder, connector); nv04_tv_create() 245 drm_mode_connector_attach_encoder(connector, encoder); nv04_tv_create()
|
H A D | dfp.c | 292 struct drm_connector *connector = &nv_connector->base; nv04_dfp_mode_set() local 418 encoder->crtc->primary->fb->depth > connector->display_info.bpc * 3)) { nv04_dfp_mode_set() 592 struct nouveau_connector *connector = nv04_dfp_restore() local 595 if (connector && connector->native_mode) nv04_dfp_restore() 598 connector->native_mode->clock); nv04_dfp_restore() 680 nv04_dfp_create(struct drm_connector *connector, struct dcb_output *entry) nv04_dfp_create() argument 709 drm_encoder_init(connector->dev, encoder, &nv04_dfp_funcs, type); nv04_dfp_create() 719 drm_mode_connector_attach_encoder(connector, encoder); nv04_dfp_create()
|
/linux-4.4.14/include/drm/ |
H A D | drm_atomic.h | 57 struct drm_connector *connector); 58 int drm_atomic_connector_set_property(struct drm_connector *connector, 93 * drm_atomic_get_existing_connector_state - get connector state, if it exists 95 * @connector: connector to grab 97 * This function returns the connector state for the given connector, 98 * or NULL if the connector is not part of the global atomic state. 102 struct drm_connector *connector) drm_atomic_get_existing_connector_state() 104 int index = drm_connector_index(connector); drm_atomic_get_existing_connector_state() 146 #define for_each_connector_in_state(state, connector, connector_state, __i) \ 149 ((connector) = (state)->connectors[__i], \ 152 if (connector) 101 drm_atomic_get_existing_connector_state(struct drm_atomic_state *state, struct drm_connector *connector) drm_atomic_get_existing_connector_state() argument
|
H A D | drm_crtc_helper.h | 120 * @save: save connector state 121 * @restore: restore connector state 122 * @mode_fixup: try to fixup proposed mode for this connector 157 struct drm_connector *connector); 170 * @get_modes: get mode list for this connector 171 * @mode_valid: is this mode valid on the given connector? (optional) 172 * @best_encoder: return the preferred encoder for this connector 178 int (*get_modes)(struct drm_connector *connector); 179 enum drm_mode_status (*mode_valid)(struct drm_connector *connector, 181 struct drm_encoder *(*best_encoder)(struct drm_connector *connector); 182 struct drm_encoder *(*atomic_best_encoder)(struct drm_connector *connector, 195 extern int drm_helper_connector_dpms(struct drm_connector *connector, int mode); 214 static inline void drm_connector_helper_add(struct drm_connector *connector, drm_connector_helper_add() argument 217 connector->helper_private = funcs; drm_connector_helper_add() 230 *connector, uint32_t maxX, 233 *connector,
|
H A D | drm_crtc.h | 102 DRM_FORCE_ON_DIGITAL, /* for DVI-I use digital connector */ 480 * struct drm_connector_state - mutable connector state 481 * @connector: backpointer to the connector 482 * @crtc: CRTC to connect connector to, NULL if disabled 487 struct drm_connector *connector; member in struct:drm_connector_state 499 * @save: save connector state 500 * @restore: restore connector state 501 * @reset: reset connector after state has been invalidated (e.g. resume) 502 * @detect: is this connector active? 503 * @fill_modes: fill mode list for this connector 504 * @set_property: property for this connector may need an update 506 * @force: notify the driver that the connector is forced on 507 * @atomic_duplicate_state: duplicate the atomic state for this connector 508 * @atomic_destroy_state: destroy an atomic state for this connector 509 * @atomic_set_property: set a property on an atomic state for this connector 511 * @atomic_get_property: get a property on an atomic state for this connector 519 int (*dpms)(struct drm_connector *connector, int mode); 520 void (*save)(struct drm_connector *connector); 521 void (*restore)(struct drm_connector *connector); 522 void (*reset)(struct drm_connector *connector); 524 /* Check to see if anything is attached to the connector. 526 * connector due to user request. @force can be used by the driver 530 enum drm_connector_status (*detect)(struct drm_connector *connector, 532 int (*fill_modes)(struct drm_connector *connector, uint32_t max_width, uint32_t max_height); 533 int (*set_property)(struct drm_connector *connector, struct drm_property *property, 535 void (*destroy)(struct drm_connector *connector); 536 void (*force)(struct drm_connector *connector); 539 struct drm_connector_state *(*atomic_duplicate_state)(struct drm_connector *connector); 540 void (*atomic_destroy_state)(struct drm_connector *connector, 542 int (*atomic_set_property)(struct drm_connector *connector, 546 int (*atomic_get_property)(struct drm_connector *connector, 581 * appropriate for a given connector or set of connectors. 599 /* should we poll this connector for connects and disconnects */ 611 * struct drm_connector - central DRM connector control structure 617 * @name: connector name 619 * @connector_type_id: index into connector type enum 620 * @interlace_allowed: can this connector handle interlaced modes? 621 * @doublescan_allowed: can this connector handle doublescan? 622 * @stereo_allowed: can this connector handle stereo modes? 623 * @modes: modes available on this connector (from fill_modes() + user) 627 * @funcs: connector control functions 629 * @properties: property tracking for this connector 634 * @cmdline_mode: mode line parsed from the kernel cmdline for this connector 637 * @encoder_ids: valid encoders for this connector 638 * @encoder: encoder driving this connector, if any 648 * @debugfs_entry: debugfs directory for this connector 649 * @state: current atomic state for this connector 650 * @has_tile: is this connector connected to a tiled monitor 660 * Each connector may be connected to one or more CRTCs, or may be clonable by 661 * another connector if they can share a CRTC. Each connector also has a specific 679 struct list_head modes; /* list of modes on this connector */ 703 /* forced on connector */ 931 * @connectors: pointer to array of connector pointers 932 * @connector_states: pointer to array of connector states pointers 989 * Some global (i.e. not per-CRTC, connector, etc) mode setting functions that 1011 * @connection_mutex: ww mutex protecting connector state and routing 1020 * @connector_list: list of connector objects 1053 struct drm_modeset_lock connection_mutex; /* protects connector->encoder and encoder->crtc links */ 1056 struct idr crtc_idr; /* use this idr for all IDs, fb, crtc, connector, modes - just makes life easier */ 1057 struct idr tile_idr; /* use this idr for all IDs, fb, crtc, connector, modes - just makes life easier */ 1209 struct drm_connector *connector, 1212 int drm_connector_register(struct drm_connector *connector); 1213 void drm_connector_unregister(struct drm_connector *connector); 1215 extern void drm_connector_cleanup(struct drm_connector *connector); 1216 extern unsigned int drm_connector_index(struct drm_connector *connector); 1293 extern struct edid *drm_get_edid(struct drm_connector *connector, 1296 extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid); 1301 extern int drm_mode_connector_set_path_property(struct drm_connector *connector, 1303 int drm_mode_connector_set_tile_property(struct drm_connector *connector); 1304 extern int drm_mode_connector_update_edid_property(struct drm_connector *connector, 1391 extern int drm_mode_connector_attach_encoder(struct drm_connector *connector, 1453 extern int drm_add_modes_noedid(struct drm_connector *connector, 1455 extern void drm_set_preferred_mode(struct drm_connector *connector, 1558 * The connector hotadd/remove code currently grabs both locks when assert_drm_connector_list_read_locked() 1568 #define drm_for_each_connector(connector, dev) \ 1570 connector = list_first_entry(&(dev)->mode_config.connector_list, \ 1572 &connector->head != (&(dev)->mode_config.connector_list); \ 1573 connector = list_next_entry(connector, head))
|
H A D | drm_atomic_helper.h | 90 int drm_atomic_helper_connector_set_property(struct drm_connector *connector, 97 int drm_atomic_helper_connector_dpms(struct drm_connector *connector, 121 void drm_atomic_helper_connector_reset(struct drm_connector *connector); 123 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector, 126 drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector); 131 __drm_atomic_helper_connector_destroy_state(struct drm_connector *connector, 133 void drm_atomic_helper_connector_destroy_state(struct drm_connector *connector,
|
H A D | drm_dp_mst_helper.h | 62 * @connector: DRM connector this port is connected to. 87 struct drm_connector *connector; member in struct:drm_dp_mst_port 375 /* create a connector for a port */ 377 void (*register_connector)(struct drm_connector *connector); 379 struct drm_connector *connector); 400 * @cbs: callbacks for connector addition and destruction. 402 * @aux: aux channel for the DP connector. 404 * @conn_base_id: DRM connector ID this mgr is connected to. 414 * There should be one instance of this for every MST capable DP connector 478 enum drm_connector_status drm_dp_mst_detect_port(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); 480 struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port);
|
H A D | drm_encoder_slave.h | 46 * if the encoder is the currently selected one for the connector. 66 struct drm_connector *connector); 68 struct drm_connector *connector); 70 struct drm_connector *connector); 72 struct drm_connector *connector, 177 struct drm_connector *connector);
|
H A D | drm_modes.h | 31 * Note on terminology: here, for brevity and convenience, we refer to connector 32 * control chips as 'CRTCs'. They can control any type of connector, VGA, LVDS, 34 * may span multiple monitors (and therefore multiple CRTC and connector 189 void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode); 235 void drm_mode_connector_list_update(struct drm_connector *connector, bool merge_type_bits); 240 struct drm_connector *connector,
|
H A D | drm_fb_helper.h | 104 struct drm_connector *connector; member in struct:drm_fb_helper_connector 211 int drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector); 213 struct drm_connector *connector); 386 struct drm_connector *connector) drm_fb_helper_add_one_connector() 393 struct drm_connector *connector) drm_fb_helper_remove_one_connector() 385 drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector) drm_fb_helper_add_one_connector() argument 392 drm_fb_helper_remove_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector) drm_fb_helper_remove_one_connector() argument
|
H A D | drm_edid.h | 325 void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid); 328 int drm_av_sync_delay(struct drm_connector *connector, 331 int drm_load_edid_firmware(struct drm_connector *connector); 406 struct edid *drm_do_get_edid(struct drm_connector *connector,
|
/linux-4.4.14/drivers/gpu/drm/vc4/ |
H A D | vc4_hdmi.c | 44 struct drm_connector *connector; member in struct:vc4_hdmi 72 /* VC4 HDMI connector KMS struct */ 76 /* Since the connector is attached to just the one encoder, 84 to_vc4_hdmi_connector(struct drm_connector *connector) to_vc4_hdmi_connector() argument 86 return container_of(connector, struct vc4_hdmi_connector, base); to_vc4_hdmi_connector() 162 vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) vc4_hdmi_connector_detect() argument 164 struct drm_device *dev = connector->dev; vc4_hdmi_connector_detect() 180 static void vc4_hdmi_connector_destroy(struct drm_connector *connector) vc4_hdmi_connector_destroy() argument 182 drm_connector_unregister(connector); vc4_hdmi_connector_destroy() 183 drm_connector_cleanup(connector); vc4_hdmi_connector_destroy() 186 static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) vc4_hdmi_connector_get_modes() argument 189 to_vc4_hdmi_connector(connector); vc4_hdmi_connector_get_modes() 192 struct drm_device *dev = connector->dev; vc4_hdmi_connector_get_modes() 197 edid = drm_get_edid(connector, vc4->hdmi->ddc); vc4_hdmi_connector_get_modes() 202 drm_mode_connector_update_edid_property(connector, edid); vc4_hdmi_connector_get_modes() 203 ret = drm_add_edid_modes(connector, edid); vc4_hdmi_connector_get_modes() 209 vc4_hdmi_connector_best_encoder(struct drm_connector *connector) vc4_hdmi_connector_best_encoder() argument 212 to_vc4_hdmi_connector(connector); vc4_hdmi_connector_best_encoder() 234 struct drm_connector *connector = NULL; vc4_hdmi_connector_init() local 244 connector = &hdmi_connector->base; vc4_hdmi_connector_init() 248 drm_connector_init(dev, connector, &vc4_hdmi_connector_funcs, vc4_hdmi_connector_init() 250 drm_connector_helper_add(connector, &vc4_hdmi_connector_helper_funcs); vc4_hdmi_connector_init() 252 connector->polled = (DRM_CONNECTOR_POLL_CONNECT | vc4_hdmi_connector_init() 255 connector->interlace_allowed = 0; vc4_hdmi_connector_init() 256 connector->doublescan_allowed = 0; vc4_hdmi_connector_init() 258 drm_mode_connector_attach_encoder(connector, encoder); vc4_hdmi_connector_init() 260 return connector; vc4_hdmi_connector_init() 263 if (connector) vc4_hdmi_connector_init() 264 vc4_hdmi_connector_destroy(connector); vc4_hdmi_connector_init() 525 hdmi->connector = vc4_hdmi_connector_init(drm, hdmi->encoder); vc4_hdmi_bind() 526 if (IS_ERR(hdmi->connector)) { vc4_hdmi_bind() 527 ret = PTR_ERR(hdmi->connector); vc4_hdmi_bind() 552 vc4_hdmi_connector_destroy(hdmi->connector); vc4_hdmi_unbind()
|
H A D | vc4_drv.c | 154 struct drm_connector *connector; vc4_drm_bind() local 189 list_for_each_entry(connector, &drm->mode_config.connector_list, head) { vc4_drm_bind() 190 ret = drm_connector_register(connector); vc4_drm_bind()
|
/linux-4.4.14/drivers/gpu/drm/shmobile/ |
H A D | shmob_drm_backlight.c | 23 struct shmob_drm_device *sdev = scon->connector.dev->dev_private; shmob_drm_backlight_update() 37 struct shmob_drm_device *sdev = scon->connector.dev->dev_private; shmob_drm_backlight_get_brightness() 61 struct shmob_drm_device *sdev = scon->connector.dev->dev_private; shmob_drm_backlight_init() 63 struct drm_connector *connector = &scon->connector; shmob_drm_backlight_init() local 64 struct drm_device *dev = connector->dev; shmob_drm_backlight_init()
|
H A D | shmob_drm_crtc.c | 540 struct shmob_drm_connector *scon = &sdev->connector; shmob_drm_encoder_dpms() 556 struct drm_connector *connector = &sdev->connector.connector; shmob_drm_encoder_mode_fixup() local 559 if (list_empty(&connector->modes)) { shmob_drm_encoder_mode_fixup() 565 panel_mode = list_first_entry(&connector->modes, shmob_drm_encoder_mode_fixup() 646 container_of(c, struct shmob_drm_connector, connector) 648 static int shmob_drm_connector_get_modes(struct drm_connector *connector) shmob_drm_connector_get_modes() argument 650 struct shmob_drm_device *sdev = connector->dev->dev_private; shmob_drm_connector_get_modes() 653 mode = drm_mode_create(connector->dev); shmob_drm_connector_get_modes() 670 drm_mode_probed_add(connector, mode); shmob_drm_connector_get_modes() 672 connector->display_info.width_mm = sdev->pdata->panel.width_mm; shmob_drm_connector_get_modes() 673 connector->display_info.height_mm = sdev->pdata->panel.height_mm; shmob_drm_connector_get_modes() 679 shmob_drm_connector_best_encoder(struct drm_connector *connector) shmob_drm_connector_best_encoder() argument 681 struct shmob_drm_connector *scon = to_shmob_connector(connector); shmob_drm_connector_best_encoder() 691 static void shmob_drm_connector_destroy(struct drm_connector *connector) shmob_drm_connector_destroy() argument 693 struct shmob_drm_connector *scon = to_shmob_connector(connector); shmob_drm_connector_destroy() 696 drm_connector_unregister(connector); shmob_drm_connector_destroy() 697 drm_connector_cleanup(connector); shmob_drm_connector_destroy() 701 shmob_drm_connector_detect(struct drm_connector *connector, bool force) shmob_drm_connector_detect() argument 716 struct drm_connector *connector = &sdev->connector.connector; shmob_drm_connector_create() local 719 sdev->connector.encoder = encoder; shmob_drm_connector_create() 721 connector->display_info.width_mm = sdev->pdata->panel.width_mm; shmob_drm_connector_create() 722 connector->display_info.height_mm = sdev->pdata->panel.height_mm; shmob_drm_connector_create() 724 ret = drm_connector_init(sdev->ddev, connector, &connector_funcs, shmob_drm_connector_create() 729 drm_connector_helper_add(connector, &connector_helper_funcs); shmob_drm_connector_create() 730 ret = drm_connector_register(connector); shmob_drm_connector_create() 734 ret = shmob_drm_backlight_init(&sdev->connector); shmob_drm_connector_create() 738 ret = drm_mode_connector_attach_encoder(connector, encoder); shmob_drm_connector_create() 742 connector->encoder = encoder; shmob_drm_connector_create() 744 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); shmob_drm_connector_create() 745 drm_object_property_set_value(&connector->base, shmob_drm_connector_create() 751 shmob_drm_backlight_exit(&sdev->connector); shmob_drm_connector_create() 753 drm_connector_unregister(connector); shmob_drm_connector_create() 755 drm_connector_cleanup(connector); shmob_drm_connector_create()
|
H A D | shmob_drm_crtc.h | 42 struct drm_connector connector; member in struct:shmob_drm_connector
|
H A D | shmob_drm_drv.h | 44 struct shmob_drm_connector connector; member in struct:shmob_drm_device
|
/linux-4.4.14/drivers/gpu/drm/virtio/ |
H A D | virtgpu_display.c | 306 static int virtio_gpu_conn_get_modes(struct drm_connector *connector) virtio_gpu_conn_get_modes() argument 309 drm_connector_to_virtio_gpu_output(connector); virtio_gpu_conn_get_modes() 315 count = drm_add_modes_noedid(connector, XRES_MAX, YRES_MAX); virtio_gpu_conn_get_modes() 320 drm_set_preferred_mode(connector, XRES_DEF, YRES_DEF); virtio_gpu_conn_get_modes() 323 mode = drm_cvt_mode(connector->dev, width, height, 60, virtio_gpu_conn_get_modes() 326 drm_mode_probed_add(connector, mode); virtio_gpu_conn_get_modes() 333 static int virtio_gpu_conn_mode_valid(struct drm_connector *connector, virtio_gpu_conn_mode_valid() argument 337 drm_connector_to_virtio_gpu_output(connector); virtio_gpu_conn_mode_valid() 356 virtio_gpu_best_encoder(struct drm_connector *connector) virtio_gpu_best_encoder() argument 359 drm_connector_to_virtio_gpu_output(connector); virtio_gpu_best_encoder() 377 static void virtio_gpu_conn_save(struct drm_connector *connector) virtio_gpu_conn_save() argument 382 static void virtio_gpu_conn_restore(struct drm_connector *connector) virtio_gpu_conn_restore() argument 388 struct drm_connector *connector, virtio_gpu_conn_detect() 392 drm_connector_to_virtio_gpu_output(connector); virtio_gpu_conn_detect() 400 static void virtio_gpu_conn_destroy(struct drm_connector *connector) virtio_gpu_conn_destroy() argument 403 drm_connector_to_virtio_gpu_output(connector); virtio_gpu_conn_destroy() 405 drm_connector_unregister(connector); virtio_gpu_conn_destroy() 406 drm_connector_cleanup(connector); virtio_gpu_conn_destroy() 430 struct drm_connector *connector = &output->conn; vgdev_output_init() local 451 drm_connector_init(dev, connector, &virtio_gpu_connector_funcs, vgdev_output_init() 453 drm_connector_helper_add(connector, &virtio_gpu_conn_helper_funcs); vgdev_output_init() 460 drm_mode_connector_attach_encoder(connector, encoder); vgdev_output_init() 461 drm_connector_register(connector); vgdev_output_init() 387 virtio_gpu_conn_detect( struct drm_connector *connector, bool force) virtio_gpu_conn_detect() argument
|
/linux-4.4.14/drivers/gpu/drm/vmwgfx/ |
H A D | vmwgfx_ldu.c | 37 container_of(x, struct vmw_legacy_display_unit, base.connector) 214 struct drm_connector *connector; vmw_ldu_crtc_set_config() local 239 set->connectors[0] != &ldu->base.connector) { vmw_ldu_crtc_set_config() 240 DRM_ERROR("connector doesn't match %p %p\n", vmw_ldu_crtc_set_config() 241 set->connectors[0], &ldu->base.connector); vmw_ldu_crtc_set_config() 255 connector = &ldu->base.connector; vmw_ldu_crtc_set_config() 261 connector->encoder = NULL; vmw_ldu_crtc_set_config() 286 connector->encoder = encoder; vmw_ldu_crtc_set_config() 322 * Legacy Display Unit connector functions 325 static void vmw_ldu_connector_destroy(struct drm_connector *connector) vmw_ldu_connector_destroy() argument 327 vmw_ldu_destroy(vmw_connector_to_ldu(connector)); vmw_ldu_connector_destroy() 344 struct drm_connector *connector; vmw_ldu_init() local 355 connector = &ldu->base.connector; vmw_ldu_init() 365 drm_connector_init(dev, connector, &vmw_legacy_connector_funcs, vmw_ldu_init() 367 connector->status = vmw_du_connector_detect(connector, true); vmw_ldu_init() 371 drm_mode_connector_attach_encoder(connector, encoder); vmw_ldu_init() 375 (void) drm_connector_register(connector); vmw_ldu_init() 381 drm_object_attach_property(&connector->base, vmw_ldu_init()
|
H A D | vmwgfx_kms.h | 144 * Since the SVGA hw doesn't have a concept of a crtc, encoder or connector 151 struct drm_connector connector; member in struct:vmw_display_unit 186 container_of(x, struct vmw_display_unit, connector) 202 int vmw_du_connector_dpms(struct drm_connector *connector, int mode); 203 void vmw_du_connector_save(struct drm_connector *connector); 204 void vmw_du_connector_restore(struct drm_connector *connector); 206 vmw_du_connector_detect(struct drm_connector *connector, bool force); 207 int vmw_du_connector_fill_modes(struct drm_connector *connector, 209 int vmw_du_connector_set_property(struct drm_connector *connector,
|
H A D | vmwgfx_stdu.c | 37 container_of(x, struct vmw_screen_target_display_unit, base.connector) 419 struct drm_connector *connector; vmw_stdu_crtc_set_config() local 441 set->connectors[0] != &stdu->base.connector) { vmw_stdu_crtc_set_config() 443 set->connectors[0], &stdu->base.connector); vmw_stdu_crtc_set_config() 449 connector = &stdu->base.connector; vmw_stdu_crtc_set_config() 473 connector->encoder = NULL; vmw_stdu_crtc_set_config() 604 connector->encoder = encoder; vmw_stdu_crtc_set_config() 1065 * vmwgfx cleans up crtc/encoder/connector all at the same time so technically 1088 * @connector: used to get the containing STDU 1090 * vmwgfx cleans up crtc/encoder/connector all at the same time so technically 1095 static void vmw_stdu_connector_destroy(struct drm_connector *connector) vmw_stdu_connector_destroy() argument 1097 vmw_stdu_destroy(vmw_connector_to_stdu(connector)); vmw_stdu_connector_destroy() 1122 * out encoder and connector, they are represented as part of the STDU as well. 1128 struct drm_connector *connector; vmw_stdu_init() local 1140 connector = &stdu->base.connector; vmw_stdu_init() 1147 drm_connector_init(dev, connector, &vmw_stdu_connector_funcs, vmw_stdu_init() 1149 connector->status = vmw_du_connector_detect(connector, false); vmw_stdu_init() 1153 drm_mode_connector_attach_encoder(connector, encoder); vmw_stdu_init() 1157 (void) drm_connector_register(connector); vmw_stdu_init() 1163 drm_object_attach_property(&connector->base, vmw_stdu_init()
|
H A D | vmwgfx_scrn.c | 37 container_of(x, struct vmw_screen_object_unit, base.connector) 294 struct drm_connector *connector; vmw_sou_crtc_set_config() local 320 set->connectors[0] != &sou->base.connector) { vmw_sou_crtc_set_config() 322 set->connectors[0], &sou->base.connector); vmw_sou_crtc_set_config() 337 connector = &sou->base.connector; vmw_sou_crtc_set_config() 347 connector->encoder = NULL; vmw_sou_crtc_set_config() 408 connector->encoder = NULL; vmw_sou_crtc_set_config() 420 connector->encoder = encoder; vmw_sou_crtc_set_config() 558 * Screen Object Display Unit connector functions 561 static void vmw_sou_connector_destroy(struct drm_connector *connector) vmw_sou_connector_destroy() argument 563 vmw_sou_destroy(vmw_connector_to_sou(connector)); vmw_sou_connector_destroy() 580 struct drm_connector *connector; vmw_sou_init() local 591 connector = &sou->base.connector; vmw_sou_init() 601 drm_connector_init(dev, connector, &vmw_sou_connector_funcs, vmw_sou_init() 603 connector->status = vmw_du_connector_detect(connector, true); vmw_sou_init() 607 drm_mode_connector_attach_encoder(connector, encoder); vmw_sou_init() 611 (void) drm_connector_register(connector); vmw_sou_init() 617 drm_object_attach_property(&connector->base, vmw_sou_init()
|
/linux-4.4.14/drivers/gpu/drm/bochs/ |
H A D | bochs_kms.c | 204 int bochs_connector_get_modes(struct drm_connector *connector) bochs_connector_get_modes() argument 208 count = drm_add_modes_noedid(connector, 8192, 8192); bochs_connector_get_modes() 209 drm_set_preferred_mode(connector, defx, defy); bochs_connector_get_modes() 213 static int bochs_connector_mode_valid(struct drm_connector *connector, bochs_connector_mode_valid() argument 217 container_of(connector, struct bochs_device, connector); bochs_connector_mode_valid() 233 bochs_connector_best_encoder(struct drm_connector *connector) bochs_connector_best_encoder() argument 235 int enc_id = connector->encoder_ids[0]; bochs_connector_best_encoder() 238 return drm_encoder_find(connector->dev, enc_id); bochs_connector_best_encoder() 243 *connector, bool force) bochs_connector_detect() 264 struct drm_connector *connector = &bochs->connector; bochs_connector_init() local 266 drm_connector_init(dev, connector, &bochs_connector_connector_funcs, bochs_connector_init() 268 drm_connector_helper_add(connector, bochs_connector_init() 270 drm_connector_register(connector); bochs_connector_init() 291 drm_mode_connector_attach_encoder(&bochs->connector, bochs_kms_init() 242 bochs_connector_detect(struct drm_connector *connector, bool force) bochs_connector_detect() argument
|
/linux-4.4.14/sound/pci/mixart/ |
H A D | mixart_hwdep.c | 146 struct mixart_enum_connector_resp *connector; mixart_enum_connectors() local 150 connector = kmalloc(sizeof(*connector), GFP_KERNEL); mixart_enum_connectors() 153 if (! connector || ! audio_info_req || ! audio_info) { mixart_enum_connectors() 167 err = snd_mixart_send_msg(mgr, &request, sizeof(*connector), connector); mixart_enum_connectors() 168 if((err < 0) || (connector->error_code) || (connector->uid_count > MIXART_MAX_PHYS_CONNECTORS)) { mixart_enum_connectors() 175 for(k=0; k < connector->uid_count; k++) { mixart_enum_connectors() 184 pipe->uid_right_connector = connector->uid[k]; /* odd */ mixart_enum_connectors() 186 pipe->uid_left_connector = connector->uid[k]; /* even */ mixart_enum_connectors() 189 /* dev_dbg(&mgr->pci->dev, "playback connector[%d].object_id = %x\n", k, connector->uid[k].object_id); */ mixart_enum_connectors() 191 /* TODO: really need send_msg MSG_CONNECTOR_GET_AUDIO_INFO for each connector ? perhaps for analog level caps ? */ mixart_enum_connectors() 193 request.uid = connector->uid[k]; mixart_enum_connectors() 211 err = snd_mixart_send_msg(mgr, &request, sizeof(*connector), connector); mixart_enum_connectors() 212 if((err < 0) || (connector->error_code) || (connector->uid_count > MIXART_MAX_PHYS_CONNECTORS)) { mixart_enum_connectors() 219 for(k=0; k < connector->uid_count; k++) { mixart_enum_connectors() 228 pipe->uid_right_connector = connector->uid[k]; /* odd */ mixart_enum_connectors() 230 pipe->uid_left_connector = connector->uid[k]; /* even */ mixart_enum_connectors() 233 /* dev_dbg(&mgr->pci->dev, "capture connector[%d].object_id = %x\n", k, connector->uid[k].object_id); */ mixart_enum_connectors() 235 /* TODO: really need send_msg MSG_CONNECTOR_GET_AUDIO_INFO for each connector ? perhaps for analog level caps ? */ mixart_enum_connectors() 237 request.uid = connector->uid[k]; mixart_enum_connectors() 252 kfree(connector); mixart_enum_connectors()
|
/linux-4.4.14/arch/arm/mach-pxa/include/mach/ |
H A D | h5000.h | 61 #define H5000_GPIO_COM_RXD (34) /* connected to cradle/cable connector */ 62 #define H5000_GPIO_COM_CTS (35) /* connected to cradle/cable connector */ 63 #define H5000_GPIO_COM_DCD (36) /* connected to cradle/cable connector */ 64 #define H5000_GPIO_COM_DSR (37) /* connected to cradle/cable connector */ 65 #define H5000_GPIO_COM_RI (38) /* connected to cradle/cable connector */ 66 #define H5000_GPIO_COM_TXD (39) /* connected to cradle/cable connector */ 67 #define H5000_GPIO_COM_DTR (40) /* connected to cradle/cable connector */ 68 #define H5000_GPIO_COM_RTS (41) /* connected to cradle/cable connector */
|
/linux-4.4.14/drivers/gpu/drm/sti/ |
H A D | sti_dvo.c | 285 static int sti_dvo_connector_get_modes(struct drm_connector *connector) sti_dvo_connector_get_modes() argument 288 = to_sti_dvo_connector(connector); sti_dvo_connector_get_modes() 299 static int sti_dvo_connector_mode_valid(struct drm_connector *connector, sti_dvo_connector_mode_valid() argument 307 = to_sti_dvo_connector(connector); sti_dvo_connector_mode_valid() 323 struct drm_encoder *sti_dvo_best_encoder(struct drm_connector *connector) sti_dvo_best_encoder() argument 326 = to_sti_dvo_connector(connector); sti_dvo_best_encoder() 328 /* Best encoder is the one associated during connector creation */ sti_dvo_best_encoder() 340 sti_dvo_connector_detect(struct drm_connector *connector, bool force) sti_dvo_connector_detect() argument 343 = to_sti_dvo_connector(connector); sti_dvo_connector_detect() 352 if (!drm_panel_attach(dvo->panel, connector)) sti_dvo_connector_detect() 358 static void sti_dvo_connector_destroy(struct drm_connector *connector) sti_dvo_connector_destroy() argument 361 = to_sti_dvo_connector(connector); sti_dvo_connector_destroy() 363 drm_connector_unregister(connector); sti_dvo_connector_destroy() 364 drm_connector_cleanup(connector); sti_dvo_connector_destroy() 395 struct sti_dvo_connector *connector; sti_dvo_bind() local 407 connector = devm_kzalloc(dev, sizeof(*connector), GFP_KERNEL); sti_dvo_bind() 408 if (!connector) sti_dvo_bind() 411 connector->dvo = dvo; sti_dvo_bind() 434 connector->encoder = encoder; sti_dvo_bind() 437 drm_connector = (struct drm_connector *)connector; sti_dvo_bind() 452 DRM_ERROR("Failed to attach a connector to a encoder\n"); sti_dvo_bind()
|
H A D | sti_hdmi.c | 139 * @arg: connector structure 167 * @arg: connector structure 539 /* Copy the drm display mode in the connector local structure */ sti_hdmi_set_mode() 570 static int sti_hdmi_connector_get_modes(struct drm_connector *connector) sti_hdmi_connector_get_modes() argument 573 = to_sti_hdmi_connector(connector); sti_hdmi_connector_get_modes() 580 edid = drm_get_edid(connector, hdmi->ddc_adapt); sti_hdmi_connector_get_modes() 584 count = drm_add_edid_modes(connector, edid); sti_hdmi_connector_get_modes() 585 drm_mode_connector_update_edid_property(connector, edid); sti_hdmi_connector_get_modes() 597 static int sti_hdmi_connector_mode_valid(struct drm_connector *connector, sti_hdmi_connector_mode_valid() argument 605 = to_sti_hdmi_connector(connector); sti_hdmi_connector_mode_valid() 622 struct drm_encoder *sti_hdmi_best_encoder(struct drm_connector *connector) sti_hdmi_best_encoder() argument 625 = to_sti_hdmi_connector(connector); sti_hdmi_best_encoder() 627 /* Best encoder is the one associated during connector creation */ sti_hdmi_best_encoder() 640 sti_hdmi_connector_detect(struct drm_connector *connector, bool force) sti_hdmi_connector_detect() argument 643 = to_sti_hdmi_connector(connector); sti_hdmi_connector_detect() 657 static void sti_hdmi_connector_destroy(struct drm_connector *connector) sti_hdmi_connector_destroy() argument 660 = to_sti_hdmi_connector(connector); sti_hdmi_connector_destroy() 662 drm_connector_unregister(connector); sti_hdmi_connector_destroy() 663 drm_connector_cleanup(connector); sti_hdmi_connector_destroy() 694 struct sti_hdmi_connector *connector; sti_hdmi_bind() local 706 connector = devm_kzalloc(dev, sizeof(*connector), GFP_KERNEL); sti_hdmi_bind() 707 if (!connector) sti_hdmi_bind() 710 connector->hdmi = hdmi; sti_hdmi_bind() 721 connector->encoder = encoder; sti_hdmi_bind() 723 drm_connector = (struct drm_connector *)connector; sti_hdmi_bind() 738 DRM_ERROR("Failed to attach a connector to a encoder\n"); sti_hdmi_bind()
|
H A D | sti_hda.c | 520 static int sti_hda_connector_get_modes(struct drm_connector *connector) sti_hda_connector_get_modes() argument 525 = to_sti_hda_connector(connector); sti_hda_connector_get_modes() 542 drm_mode_probed_add(connector, mode); sti_hda_connector_get_modes() 546 drm_mode_sort(&connector->modes); sti_hda_connector_get_modes() 553 static int sti_hda_connector_mode_valid(struct drm_connector *connector, sti_hda_connector_mode_valid() argument 562 = to_sti_hda_connector(connector); sti_hda_connector_mode_valid() 583 struct drm_encoder *sti_hda_best_encoder(struct drm_connector *connector) sti_hda_best_encoder() argument 586 = to_sti_hda_connector(connector); sti_hda_best_encoder() 588 /* Best encoder is the one associated during connector creation */ sti_hda_best_encoder() 600 sti_hda_connector_detect(struct drm_connector *connector, bool force) sti_hda_connector_detect() argument 605 static void sti_hda_connector_destroy(struct drm_connector *connector) sti_hda_connector_destroy() argument 608 = to_sti_hda_connector(connector); sti_hda_connector_destroy() 610 drm_connector_unregister(connector); sti_hda_connector_destroy() 611 drm_connector_cleanup(connector); sti_hda_connector_destroy() 642 struct sti_hda_connector *connector; sti_hda_bind() local 654 connector = devm_kzalloc(dev, sizeof(*connector), GFP_KERNEL); sti_hda_bind() 655 if (!connector) sti_hda_bind() 658 connector->hda = hda; sti_hda_bind() 669 connector->encoder = encoder; sti_hda_bind() 671 drm_connector = (struct drm_connector *)connector; sti_hda_bind() 686 DRM_ERROR("Failed to attach a connector to a encoder\n"); sti_hda_bind()
|
/linux-4.4.14/drivers/gpu/drm/cirrus/ |
H A D | cirrus_mode.c | 499 static int cirrus_vga_get_modes(struct drm_connector *connector) cirrus_vga_get_modes() argument 505 count = drm_add_modes_noedid(connector, 1280, 1024); cirrus_vga_get_modes() 506 drm_set_preferred_mode(connector, 1024, 768); cirrus_vga_get_modes() 508 count = drm_add_modes_noedid(connector, 800, 600); cirrus_vga_get_modes() 509 drm_set_preferred_mode(connector, 800, 600); cirrus_vga_get_modes() 515 *connector) cirrus_connector_best_encoder() 517 int enc_id = connector->encoder_ids[0]; cirrus_connector_best_encoder() 520 return drm_encoder_find(connector->dev, enc_id); cirrus_connector_best_encoder() 525 *connector, bool force) cirrus_vga_detect() 530 static void cirrus_connector_destroy(struct drm_connector *connector) cirrus_connector_destroy() argument 532 drm_connector_cleanup(connector); cirrus_connector_destroy() 533 kfree(connector); cirrus_connector_destroy() 550 struct drm_connector *connector; cirrus_vga_init() local 557 connector = &cirrus_connector->base; cirrus_vga_init() 559 drm_connector_init(dev, connector, cirrus_vga_init() 562 drm_connector_helper_add(connector, &cirrus_vga_connector_helper_funcs); cirrus_vga_init() 564 drm_connector_register(connector); cirrus_vga_init() 565 return connector; cirrus_vga_init() 572 struct drm_connector *connector; cirrus_modeset_init() local 594 connector = cirrus_vga_init(cdev->dev); cirrus_modeset_init() 595 if (!connector) { cirrus_modeset_init() 600 drm_mode_connector_attach_encoder(connector, encoder); cirrus_modeset_init() 514 cirrus_connector_best_encoder(struct drm_connector *connector) cirrus_connector_best_encoder() argument 524 cirrus_vga_detect(struct drm_connector *connector, bool force) cirrus_vga_detect() argument
|
/linux-4.4.14/include/uapi/linux/ |
H A D | connector.h | 2 * connector.h 28 * Process Events connector unique ids -- used for message routing 54 * Maximum connector's message size. 61 * must be registered in connector.h for in-kernel usage.
|
H A D | cn_proc.h | 2 * cn_proc.h - process events connector 25 * for events on the connector.
|
/linux-4.4.14/include/linux/platform_data/ |
H A D | leds-s3c24xx.h | 6 * S3C24XX - LEDs GPIO connector
|
H A D | usb-omap1.h | 15 * - "A" connector (rectagular) 17 * - "B" connector (squarish) or "Mini-B" 19 * - "Mini-AB" connector (very similar to Mini-B)
|
/linux-4.4.14/drivers/gpu/drm/i2c/ |
H A D | ch7006_drv.c | 178 struct drm_connector *connector) ch7006_encoder_detect() 217 drm_object_property_set_value(&connector->base, ch7006_encoder_detect() 226 struct drm_connector *connector) ch7006_encoder_get_modes() 237 drm_mode_probed_add(connector, ch7006_encoder_get_modes() 247 struct drm_connector *connector) ch7006_encoder_create_resources() 257 drm_object_attach_property(&connector->base, conf->tv_select_subconnector_property, ch7006_encoder_create_resources() 259 drm_object_attach_property(&connector->base, conf->tv_subconnector_property, ch7006_encoder_create_resources() 261 drm_object_attach_property(&connector->base, conf->tv_left_margin_property, ch7006_encoder_create_resources() 263 drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property, ch7006_encoder_create_resources() 265 drm_object_attach_property(&connector->base, conf->tv_mode_property, ch7006_encoder_create_resources() 267 drm_object_attach_property(&connector->base, conf->tv_brightness_property, ch7006_encoder_create_resources() 269 drm_object_attach_property(&connector->base, conf->tv_contrast_property, ch7006_encoder_create_resources() 271 drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property, ch7006_encoder_create_resources() 273 drm_object_attach_property(&connector->base, priv->scale_property, ch7006_encoder_create_resources() 280 struct drm_connector *connector, ch7006_encoder_set_property() 317 if (connector->dpms != DRM_MODE_DPMS_OFF) ch7006_encoder_set_property() 346 if (connector->dpms != DRM_MODE_DPMS_OFF) ch7006_encoder_set_property() 358 drm_helper_probe_single_connector_modes(connector, 0, 0); ch7006_encoder_set_property() 177 ch7006_encoder_detect(struct drm_encoder *encoder, struct drm_connector *connector) ch7006_encoder_detect() argument 225 ch7006_encoder_get_modes(struct drm_encoder *encoder, struct drm_connector *connector) ch7006_encoder_get_modes() argument 246 ch7006_encoder_create_resources(struct drm_encoder *encoder, struct drm_connector *connector) ch7006_encoder_create_resources() argument 279 ch7006_encoder_set_property(struct drm_encoder *encoder, struct drm_connector *connector, struct drm_property *property, uint64_t val) ch7006_encoder_set_property() argument
|
H A D | tda998x_drv.c | 54 struct drm_connector connector; member in struct:tda998x_priv 58 container_of(x, struct tda998x_priv, connector) 878 static int tda998x_connector_mode_valid(struct drm_connector *connector, tda998x_connector_mode_valid() argument 1083 tda998x_connector_detect(struct drm_connector *connector, bool force) tda998x_connector_detect() argument 1085 struct tda998x_priv *priv = conn_to_tda998x_priv(connector); tda998x_connector_detect() 1148 static int tda998x_connector_get_modes(struct drm_connector *connector) tda998x_connector_get_modes() argument 1150 struct tda998x_priv *priv = conn_to_tda998x_priv(connector); tda998x_connector_get_modes() 1165 edid = drm_do_get_edid(connector, read_edid_block, priv); tda998x_connector_get_modes() 1175 drm_mode_connector_update_edid_property(connector, edid); tda998x_connector_get_modes() 1176 n = drm_add_edid_modes(connector, edid); tda998x_connector_get_modes() 1184 struct drm_connector *connector) tda998x_encoder_set_polling() 1187 connector->polled = DRM_CONNECTOR_POLL_HPD; tda998x_encoder_set_polling() 1189 connector->polled = DRM_CONNECTOR_POLL_CONNECT | tda998x_encoder_set_polling() 1375 tda998x_connector_best_encoder(struct drm_connector *connector) tda998x_connector_best_encoder() argument 1377 struct tda998x_priv *priv = conn_to_tda998x_priv(connector); tda998x_connector_best_encoder() 1389 static void tda998x_connector_destroy(struct drm_connector *connector) tda998x_connector_destroy() argument 1391 drm_connector_unregister(connector); tda998x_connector_destroy() 1392 drm_connector_cleanup(connector); tda998x_connector_destroy() 1426 priv->connector.interlace_allowed = 1; tda998x_bind() 1436 tda998x_encoder_set_polling(priv, &priv->connector); tda998x_bind() 1444 drm_connector_helper_add(&priv->connector, tda998x_bind() 1446 ret = drm_connector_init(drm, &priv->connector, tda998x_bind() 1452 ret = drm_connector_register(&priv->connector); tda998x_bind() 1456 priv->connector.encoder = &priv->encoder; tda998x_bind() 1457 drm_mode_connector_attach_encoder(&priv->connector, &priv->encoder); tda998x_bind() 1462 drm_connector_cleanup(&priv->connector); tda998x_bind() 1475 drm_connector_cleanup(&priv->connector); tda998x_unbind() 1183 tda998x_encoder_set_polling(struct tda998x_priv *priv, struct drm_connector *connector) tda998x_encoder_set_polling() argument
|
H A D | adv7511.c | 234 struct drm_connector *connector, adv7511_set_config_csc() 258 if ((connector->display_info.color_formats & adv7511_set_config_csc() 562 struct drm_connector *connector) adv7511_get_modes() 579 edid = drm_do_get_edid(connector, adv7511_get_edid_block, adv7511); adv7511_get_modes() 591 drm_mode_connector_update_edid_property(connector, edid); adv7511_get_modes() 592 count = drm_add_edid_modes(connector, edid); adv7511_get_modes() 594 adv7511_set_config_csc(adv7511, connector, adv7511->rgb); adv7511_get_modes() 611 struct drm_connector *connector) adv7511_encoder_detect() 637 adv7511_get_modes(encoder, connector); adv7511_encoder_detect() 233 adv7511_set_config_csc(struct adv7511 *adv7511, struct drm_connector *connector, bool rgb) adv7511_set_config_csc() argument 561 adv7511_get_modes(struct drm_encoder *encoder, struct drm_connector *connector) adv7511_get_modes() argument 610 adv7511_encoder_detect(struct drm_encoder *encoder, struct drm_connector *connector) adv7511_encoder_detect() argument
|
H A D | sil164_drv.c | 299 struct drm_connector *connector) sil164_encoder_detect() 311 struct drm_connector *connector) sil164_encoder_get_modes() 318 struct drm_connector *connector) sil164_encoder_create_resources() 325 struct drm_connector *connector, sil164_encoder_set_property() 298 sil164_encoder_detect(struct drm_encoder *encoder, struct drm_connector *connector) sil164_encoder_detect() argument 310 sil164_encoder_get_modes(struct drm_encoder *encoder, struct drm_connector *connector) sil164_encoder_get_modes() argument 317 sil164_encoder_create_resources(struct drm_encoder *encoder, struct drm_connector *connector) sil164_encoder_create_resources() argument 324 sil164_encoder_set_property(struct drm_encoder *encoder, struct drm_connector *connector, struct drm_property *property, uint64_t val) sil164_encoder_set_property() argument
|
/linux-4.4.14/drivers/gpu/drm/qxl/ |
H A D | qxl_display.c | 107 struct drm_connector *connector; qxl_update_offset_props() local 111 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { qxl_update_offset_props() 112 output = drm_connector_to_qxl_output(connector); qxl_update_offset_props() 116 drm_object_property_set_value(&connector->base, qxl_update_offset_props() 118 drm_object_property_set_value(&connector->base, qxl_update_offset_props() 142 static int qxl_add_monitors_config_modes(struct drm_connector *connector, qxl_add_monitors_config_modes() argument 146 struct drm_device *dev = connector->dev; qxl_add_monitors_config_modes() 148 struct qxl_output *output = drm_connector_to_qxl_output(connector); qxl_add_monitors_config_modes() 162 drm_mode_probed_add(connector, mode); qxl_add_monitors_config_modes() 192 static int qxl_add_common_modes(struct drm_connector *connector, qxl_add_common_modes() argument 196 struct drm_device *dev = connector->dev; qxl_add_common_modes() 204 drm_mode_probed_add(connector, mode); qxl_add_common_modes() 820 static int qxl_conn_get_modes(struct drm_connector *connector) qxl_conn_get_modes() argument 823 struct qxl_device *qdev = connector->dev->dev_private; qxl_conn_get_modes() 831 ret = qxl_add_monitors_config_modes(connector, &pwidth, &pheight); qxl_conn_get_modes() 835 ret += qxl_add_common_modes(connector, pwidth, pheight); qxl_conn_get_modes() 839 static int qxl_conn_mode_valid(struct drm_connector *connector, qxl_conn_mode_valid() argument 842 struct drm_device *ddev = connector->dev; qxl_conn_mode_valid() 860 static struct drm_encoder *qxl_best_encoder(struct drm_connector *connector) qxl_best_encoder() argument 863 drm_connector_to_qxl_output(connector); qxl_best_encoder() 884 static void qxl_conn_save(struct drm_connector *connector) qxl_conn_save() argument 889 static void qxl_conn_restore(struct drm_connector *connector) qxl_conn_restore() argument 895 struct drm_connector *connector, qxl_conn_detect() 899 drm_connector_to_qxl_output(connector); qxl_conn_detect() 900 struct drm_device *ddev = connector->dev; qxl_conn_detect() 920 static int qxl_conn_set_property(struct drm_connector *connector, qxl_conn_set_property() argument 928 static void qxl_conn_destroy(struct drm_connector *connector) qxl_conn_destroy() argument 931 drm_connector_to_qxl_output(connector); qxl_conn_destroy() 933 drm_connector_unregister(connector); qxl_conn_destroy() 934 drm_connector_cleanup(connector); qxl_conn_destroy() 973 struct drm_connector *connector; qdev_output_init() local 982 connector = &qxl_output->base; qdev_output_init() 991 connector->polled = DRM_CONNECTOR_POLL_HPD; qdev_output_init() 996 drm_connector_helper_add(connector, &qxl_connector_helper_funcs); qdev_output_init() 998 drm_object_attach_property(&connector->base, qdev_output_init() 1000 drm_object_attach_property(&connector->base, qdev_output_init() 1002 drm_object_attach_property(&connector->base, qdev_output_init() 1004 drm_connector_register(connector); qdev_output_init() 894 qxl_conn_detect( struct drm_connector *connector, bool force) qxl_conn_detect() argument
|
/linux-4.4.14/drivers/gpu/drm/mgag200/ |
H A D | mgag200_mode.c | 1472 * the connector. It's responsible for ensuring that the digital 1548 static int mga_vga_get_modes(struct drm_connector *connector) mga_vga_get_modes() argument 1550 struct mga_connector *mga_connector = to_mga_connector(connector); mga_vga_get_modes() 1554 edid = drm_get_edid(connector, &mga_connector->i2c->adapter); mga_vga_get_modes() 1556 drm_mode_connector_update_edid_property(connector, edid); mga_vga_get_modes() 1557 ret = drm_add_edid_modes(connector, edid); mga_vga_get_modes() 1589 static int mga_vga_mode_valid(struct drm_connector *connector, mga_vga_mode_valid() argument 1592 struct drm_device *dev = connector->dev; mga_vga_mode_valid() 1649 if (connector->cmdline_mode.specified) { mga_vga_mode_valid() 1650 if (connector->cmdline_mode.bpp_specified) mga_vga_mode_valid() 1651 bpp = connector->cmdline_mode.bpp; mga_vga_mode_valid() 1655 if (connector->cmdline_mode.specified) mga_vga_mode_valid() 1656 connector->cmdline_mode.specified = false; mga_vga_mode_valid() 1664 *connector) mga_connector_best_encoder() 1666 int enc_id = connector->encoder_ids[0]; mga_connector_best_encoder() 1669 return drm_encoder_find(connector->dev, enc_id); mga_connector_best_encoder() 1674 *connector, bool force) mga_vga_detect() 1679 static void mga_connector_destroy(struct drm_connector *connector) mga_connector_destroy() argument 1681 struct mga_connector *mga_connector = to_mga_connector(connector); mga_connector_destroy() 1683 drm_connector_cleanup(connector); mga_connector_destroy() 1684 kfree(connector); mga_connector_destroy() 1702 struct drm_connector *connector; mga_vga_init() local 1709 connector = &mga_connector->base; mga_vga_init() 1711 drm_connector_init(dev, connector, mga_vga_init() 1714 drm_connector_helper_add(connector, &mga_vga_connector_helper_funcs); mga_vga_init() 1716 drm_connector_register(connector); mga_vga_init() 1722 return connector; mga_vga_init() 1729 struct drm_connector *connector; mgag200_modeset_init() local 1747 connector = mga_vga_init(mdev->dev); mgag200_modeset_init() 1748 if (!connector) { mgag200_modeset_init() 1753 drm_mode_connector_attach_encoder(connector, encoder); mgag200_modeset_init() 1663 mga_connector_best_encoder(struct drm_connector *connector) mga_connector_best_encoder() argument 1673 mga_vga_detect(struct drm_connector *connector, bool force) mga_vga_detect() argument
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
H A D | base.c | 358 hpd = max(hpd, (u8)(dcbE.connector + 1)); nvkm_disp_ctor() 361 /* create connector objects based on the outputs we support */ nvkm_disp_ctor() 364 data = nvbios_connEp(bios, outp->info.connector, &ver, &hdr, nvkm_disp_ctor() 367 /* no bios connector data... */ nvkm_disp_ctor() 370 * considered to be on the same connector, any nvkm_disp_ctor() 372 * be put on its own connector nvkm_disp_ctor() 384 /* connector shared with another output path */ nvkm_disp_ctor() 392 i = outp->info.connector; nvkm_disp_ctor() 395 /* check that we haven't already created this connector */ nvkm_disp_ctor() 397 if (conn->index == outp->info.connector) { nvkm_disp_ctor()
|
/linux-4.4.14/drivers/gpu/drm/ast/ |
H A D | ast_mode.c | 694 static struct drm_encoder *ast_best_single_encoder(struct drm_connector *connector) ast_best_single_encoder() argument 696 int enc_id = connector->encoder_ids[0]; ast_best_single_encoder() 699 return drm_encoder_find(connector->dev, enc_id); ast_best_single_encoder() 761 static int ast_get_modes(struct drm_connector *connector) ast_get_modes() argument 763 struct ast_connector *ast_connector = to_ast_connector(connector); ast_get_modes() 764 struct ast_private *ast = connector->dev->dev_private; ast_get_modes() 774 flags = ast_dp501_read_edid(connector->dev, (u8 *)edid); ast_get_modes() 776 ast->dp501_maxclk = ast_get_dp501_max_clk(connector->dev); ast_get_modes() 781 edid = drm_get_edid(connector, &ast_connector->i2c->adapter); ast_get_modes() 784 ret = drm_add_edid_modes(connector, edid); ast_get_modes() 792 static int ast_mode_valid(struct drm_connector *connector, ast_mode_valid() argument 795 struct ast_private *ast = connector->dev->dev_private; ast_mode_valid() 847 static void ast_connector_destroy(struct drm_connector *connector) ast_connector_destroy() argument 849 struct ast_connector *ast_connector = to_ast_connector(connector); ast_connector_destroy() 851 drm_connector_unregister(connector); ast_connector_destroy() 852 drm_connector_cleanup(connector); ast_connector_destroy() 853 kfree(connector); ast_connector_destroy() 857 ast_connector_detect(struct drm_connector *connector, bool force) ast_connector_detect() argument 878 struct drm_connector *connector; ast_connector_init() local 885 connector = &ast_connector->base; ast_connector_init() 886 drm_connector_init(dev, connector, &ast_connector_funcs, DRM_MODE_CONNECTOR_VGA); ast_connector_init() 888 drm_connector_helper_add(connector, &ast_connector_helper_funcs); ast_connector_init() 890 connector->interlace_allowed = 0; ast_connector_init() 891 connector->doublescan_allowed = 0; ast_connector_init() 893 drm_connector_register(connector); ast_connector_init() 895 connector->polled = DRM_CONNECTOR_POLL_CONNECT; ast_connector_init() 898 drm_mode_connector_attach_encoder(connector, encoder); ast_connector_init() 902 DRM_ERROR("failed to add ddc bus for connector\n"); ast_connector_init()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/ |
H A D | dcb.h | 21 uint8_t connector; member in struct:dcb_output
|
/linux-4.4.14/include/linux/usb/ |
H A D | musb.h | 13 /* The USB role is defined by the connector used on the board, so long as 18 MUSB_HOST, /* A or Mini-A connector */ 19 MUSB_PERIPHERAL, /* B or Mini-B connector */ 20 MUSB_OTG /* Mini-AB connector */
|
H A D | chipidea.h | 14 * struct ci_hdrc_cable - structure for external connector cable state tracking
|
/linux-4.4.14/arch/mips/include/asm/mach-cobalt/ |
H A D | irq.h | 22 * 15 - IDE1(no connector on board)
|
/linux-4.4.14/arch/arm/mach-omap2/ |
H A D | board-rx51-video.c | 40 .name = "connector-analog-tv",
|
/linux-4.4.14/include/linux/ |
H A D | connector.h | 2 * connector.h 31 #include <uapi/linux/connector.h>
|
H A D | extcon.h | 2 * External connector (extcon) class driver 36 /* USB external connector */ 40 /* Charging external connector */ 48 /* Jack external connector */ 58 /* Display external connector */ 64 /* Miscellaneous external connector */ 74 * struct extcon_dev - An extcon device represents one external connector.
|
H A D | cn_proc.h | 2 * cn_proc.h - process events connector
|
/linux-4.4.14/drivers/gpu/drm/panel/ |
H A D | panel-lg-lg4573.c | 214 struct drm_connector *connector = panel->connector; lg4573_get_modes() local 228 drm_mode_probed_add(connector, mode); lg4573_get_modes() 230 panel->connector->display_info.width_mm = 61; lg4573_get_modes() 231 panel->connector->display_info.height_mm = 103; lg4573_get_modes()
|
H A D | panel-simple.c | 94 struct drm_connector *connector = panel->base.connector; panel_simple_get_fixed_modes() local 117 drm_mode_probed_add(connector, mode); panel_simple_get_fixed_modes() 133 drm_mode_probed_add(connector, mode); panel_simple_get_fixed_modes() 137 connector->display_info.bpc = panel->desc->bpc; panel_simple_get_fixed_modes() 138 connector->display_info.width_mm = panel->desc->size.width; panel_simple_get_fixed_modes() 139 connector->display_info.height_mm = panel->desc->size.height; panel_simple_get_fixed_modes() 141 drm_display_info_set_bus_formats(&connector->display_info, panel_simple_get_fixed_modes() 239 struct edid *edid = drm_get_edid(panel->connector, p->ddc); panel_simple_get_modes() 240 drm_mode_connector_update_edid_property(panel->connector, edid); panel_simple_get_modes() 242 num += drm_add_edid_modes(panel->connector, edid); panel_simple_get_modes()
|
H A D | panel-samsung-ld9040.c | 265 struct drm_connector *connector = panel->connector; ld9040_get_modes() local 269 mode = drm_mode_create(connector->dev); ld9040_get_modes() 278 connector->display_info.width_mm = mode->width_mm; ld9040_get_modes() 279 connector->display_info.height_mm = mode->height_mm; ld9040_get_modes() 282 drm_mode_probed_add(connector, mode); ld9040_get_modes()
|
/linux-4.4.14/drivers/connector/ |
H A D | connector.c | 2 * connector.c 28 #include <linux/connector.h> 38 MODULE_DESCRIPTION("Generic userspace <-> kernelspace connector."); 300 proc_create("connector", S_IRUGO, init_net.proc_net, &cn_file_ops); cn_init() 311 remove_proc_entry("connector", init_net.proc_net); cn_fini()
|
H A D | cn_proc.c | 2 * cn_proc.c - process events connector 29 #include <linux/connector.h> 333 * @data: message sent from userspace via the connector 379 * Adds the connector callback to the connector driver.
|
/linux-4.4.14/arch/arm/mach-integrator/ |
H A D | impd1.c | 97 .connector = IMPD1_CTRL_DISP_VGA, 124 .connector = IMPD1_CTRL_DISP_VGA, 154 .connector = IMPD1_CTRL_DISP_LCD, 186 .connector = IMPD1_CTRL_DISP_LCD, 201 * Enable the relevant connector on the interface module. 206 fb->panel->connector | IMPD1_CTRL_DISP_ENABLE); impd1fb_clcd_enable()
|
/linux-4.4.14/drivers/tty/ |
H A D | rocket.h | 88 #define MODEL_RP8SNI 0x0008 /* RP 8 port w/ DB78 SNI connector */ 89 #define MODEL_RP16SNI 0x0009 /* RP 16 port w/ DB78 SNI connector */
|
/linux-4.4.14/drivers/hv/ |
H A D | hv_utils_transport.h | 21 #include <linux/connector.h>
|
/linux-4.4.14/drivers/media/dvb-frontends/ |
H A D | tda826x.h | 35 * @param has_loopthrough Set to 1 if the card has a loopthrough RF connector.
|
/linux-4.4.14/include/drm/bridge/ |
H A D | dw_hdmi.h | 55 enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
|
/linux-4.4.14/include/linux/extcon/ |
H A D | extcon-gpio.h | 27 * @extcon_id: The unique id of specific external connector.
|
/linux-4.4.14/arch/sh/boards/mach-highlander/ |
H A D | irq-r7780mp.c | 30 /* external bus connector */
|
H A D | irq-r7785rp.c | 28 /* external bus connector */
|
/linux-4.4.14/arch/sh/drivers/pci/ |
H A D | fixups-sdk7786.c | 21 * (the horizontal edge connector) will disable slot 3 entirely.
|
/linux-4.4.14/drivers/staging/comedi/drivers/ |
H A D | amplc_dio200.c | 90 * connector. (N.B. for other values, the counter channel's CLKn 91 * pin on the SK1 connector is an output!) 99 * the SK1 connector. This pin is shared by all three counter 114 * connector. (N.B. for other values, the counter channel's GATn 115 * pin on the SK1 connector is an output!)
|
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp5/ |
H A D | mdp5_encoder.c | 129 struct drm_connector *connector; mdp5_encoder_mode_set() local 162 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { mdp5_encoder_mode_set() 163 if (connector->encoder == encoder) { mdp5_encoder_mode_set() 164 switch (connector->display_info.bpc) { mdp5_encoder_mode_set() 253 * the (connector) source of the vsync's gets disabled, mdp5_encoder_disable()
|
/linux-4.4.14/drivers/usb/core/ |
H A D | hub.h | 88 * @peer: related usb2 and usb3 ports (share the same connector) 91 * @location: opaque representation of platform connector location
|
/linux-4.4.14/Documentation/connector/ |
H A D | cn_test.c | 31 #include <linux/connector.h> 49 * connector user registration
|
H A D | ucon.c | 42 #include <linux/connector.h> 47 /* Hopefully your userspace connector.h matches this kernel */
|
/linux-4.4.14/drivers/w1/ |
H A D | w1_netlink.h | 26 #include <linux/connector.h> 73 * The netlink connector data sequence is, struct nlmsghdr, struct cn_msg,
|
/linux-4.4.14/arch/avr32/boards/atstk1000/ |
H A D | atstk1004.c | 127 /* USART 2/unused: expansion connector */ setup_board()
|
/linux-4.4.14/arch/arm/mach-davinci/ |
H A D | usb.c | 46 /* OTG requires a Mini-AB connector */
|
/linux-4.4.14/arch/arm/mach-ixp4xx/ |
H A D | gtwx5715-pci.c | 39 * Slot 0 isn't actually populated with a card connector but
|