Lines Matching defs:connector

62 static u32 clamp_user_to_hw(struct intel_connector *connector,
65 struct intel_panel *panel = &connector->panel;
75 static u32 scale_hw_to_user(struct intel_connector *connector,
78 struct intel_panel *panel = &connector->panel;
84 u32 intel_backlight_invert_pwm_level(struct intel_connector *connector, u32 val)
86 struct intel_display *display = to_intel_display(connector);
87 struct intel_panel *panel = &connector->panel;
104 struct intel_connector *connector = to_intel_connector(conn_state->connector);
105 struct drm_i915_private *i915 = to_i915(connector->base.dev);
106 struct intel_panel *panel = &connector->panel;
109 connector->base.base.id, connector->base.name, val);
113 u32 intel_backlight_level_to_pwm(struct intel_connector *connector, u32 val)
115 struct drm_i915_private *i915 = to_i915(connector->base.dev);
116 struct intel_panel *panel = &connector->panel;
124 return intel_backlight_invert_pwm_level(connector, val);
127 u32 intel_backlight_level_from_pwm(struct intel_connector *connector, u32 val)
129 struct intel_display *display = to_intel_display(connector);
130 struct intel_panel *panel = &connector->panel;
144 static u32 lpt_get_backlight(struct intel_connector *connector, enum pipe unused)
146 struct drm_i915_private *i915 = to_i915(connector->base.dev);
151 static u32 pch_get_backlight(struct intel_connector *connector, enum pipe unused)
153 struct drm_i915_private *i915 = to_i915(connector->base.dev);
158 static u32 i9xx_get_backlight(struct intel_connector *connector, enum pipe unused)
160 struct drm_i915_private *i915 = to_i915(connector->base.dev);
161 struct intel_panel *panel = &connector->panel;
178 static u32 vlv_get_backlight(struct intel_connector *connector, enum pipe pipe)
180 struct drm_i915_private *i915 = to_i915(connector->base.dev);
188 static u32 bxt_get_backlight(struct intel_connector *connector, enum pipe unused)
190 struct drm_i915_private *i915 = to_i915(connector->base.dev);
191 struct intel_panel *panel = &connector->panel;
196 static u32 ext_pwm_get_backlight(struct intel_connector *connector, enum pipe unused)
198 struct intel_panel *panel = &connector->panel;
207 struct intel_connector *connector = to_intel_connector(conn_state->connector);
208 struct drm_i915_private *i915 = to_i915(connector->base.dev);
217 struct intel_connector *connector = to_intel_connector(conn_state->connector);
218 struct drm_i915_private *i915 = to_i915(connector->base.dev);
227 struct intel_connector *connector = to_intel_connector(conn_state->connector);
228 struct drm_i915_private *i915 = to_i915(connector->base.dev);
229 struct intel_panel *panel = &connector->panel;
255 struct intel_connector *connector = to_intel_connector(conn_state->connector);
256 struct drm_i915_private *i915 = to_i915(connector->base.dev);
266 struct intel_connector *connector = to_intel_connector(conn_state->connector);
267 struct drm_i915_private *i915 = to_i915(connector->base.dev);
268 struct intel_panel *panel = &connector->panel;
275 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel;
284 struct intel_connector *connector = to_intel_connector(conn_state->connector);
285 struct drm_i915_private *i915 = to_i915(connector->base.dev);
286 struct intel_panel *panel = &connector->panel;
289 connector->base.base.id, connector->base.name, level);
300 struct intel_connector *connector = to_intel_connector(conn_state->connector);
301 struct drm_i915_private *i915 = to_i915(connector->base.dev);
302 struct intel_panel *panel = &connector->panel;
318 hw_level = clamp_user_to_hw(connector, user_level, user_max);
323 scale_hw_to_user(connector,
335 struct intel_connector *connector = to_intel_connector(old_conn_state->connector);
336 struct drm_i915_private *i915 = to_i915(connector->base.dev);
352 connector->base.base.id, connector->base.name);
361 struct intel_connector *connector = to_intel_connector(old_conn_state->connector);
362 struct drm_i915_private *i915 = to_i915(connector->base.dev);
378 struct drm_i915_private *i915 = to_i915(old_conn_state->connector->dev);
387 struct intel_connector *connector = to_intel_connector(old_conn_state->connector);
388 struct drm_i915_private *i915 = to_i915(connector->base.dev);
398 struct intel_connector *connector = to_intel_connector(old_conn_state->connector);
399 struct drm_i915_private *i915 = to_i915(connector->base.dev);
400 struct intel_panel *panel = &connector->panel;
413 struct intel_connector *connector = to_intel_connector(old_conn_state->connector);
414 struct drm_i915_private *i915 = to_i915(connector->base.dev);
415 struct intel_panel *panel = &connector->panel;
425 struct intel_connector *connector = to_intel_connector(old_conn_state->connector);
426 struct intel_panel *panel = &connector->panel;
436 struct intel_connector *connector = to_intel_connector(old_conn_state->connector);
437 struct drm_i915_private *i915 = to_i915(connector->base.dev);
438 struct intel_panel *panel = &connector->panel;
451 connector->base.base.id, connector->base.name);
468 struct intel_connector *connector = to_intel_connector(conn_state->connector);
469 struct drm_i915_private *i915 = to_i915(connector->base.dev);
470 struct intel_panel *panel = &connector->panel;
476 connector->base.base.id, connector->base.name);
512 struct intel_connector *connector = to_intel_connector(conn_state->connector);
513 struct drm_i915_private *i915 = to_i915(connector->base.dev);
514 struct intel_panel *panel = &connector->panel;
521 connector->base.base.id, connector->base.name);
529 connector->base.base.id, connector->base.name);
560 struct intel_connector *connector = to_intel_connector(conn_state->connector);
561 struct drm_i915_private *i915 = to_i915(connector->base.dev);
562 struct intel_panel *panel = &connector->panel;
568 connector->base.base.id, connector->base.name);
600 struct intel_connector *connector = to_intel_connector(conn_state->connector);
601 struct drm_i915_private *i915 = to_i915(connector->base.dev);
602 struct intel_panel *panel = &connector->panel;
609 connector->base.base.id, connector->base.name);
636 struct intel_connector *connector = to_intel_connector(conn_state->connector);
637 struct drm_i915_private *i915 = to_i915(connector->base.dev);
638 struct intel_panel *panel = &connector->panel;
645 connector->base.base.id, connector->base.name);
667 struct intel_connector *connector = to_intel_connector(conn_state->connector);
668 struct drm_i915_private *i915 = to_i915(connector->base.dev);
669 struct intel_panel *panel = &connector->panel;
678 connector->base.base.id, connector->base.name);
693 connector->base.base.id, connector->base.name);
717 struct intel_connector *connector = to_intel_connector(conn_state->connector);
718 struct drm_i915_private *i915 = to_i915(connector->base.dev);
719 struct intel_panel *panel = &connector->panel;
748 struct intel_connector *connector = to_intel_connector(conn_state->connector);
749 struct intel_panel *panel = &connector->panel;
759 struct intel_connector *connector = to_intel_connector(conn_state->connector);
760 struct intel_panel *panel = &connector->panel;
768 scale_hw_to_user(connector,
782 struct intel_connector *connector = to_intel_connector(conn_state->connector);
783 struct drm_i915_private *i915 = to_i915(connector->base.dev);
784 struct intel_panel *panel = &connector->panel;
800 static u32 intel_panel_get_backlight(struct intel_connector *connector)
802 struct drm_i915_private *i915 = to_i915(connector->base.dev);
803 struct intel_panel *panel = &connector->panel;
809 val = panel->backlight.funcs->get(connector, intel_connector_get_pipe(connector));
818 static u32 scale_user_to_hw(struct intel_connector *connector,
821 struct intel_panel *panel = &connector->panel;
831 struct intel_connector *connector = to_intel_connector(conn_state->connector);
832 struct drm_i915_private *i915 = to_i915(connector->base.dev);
833 struct intel_panel *panel = &connector->panel;
843 hw_level = scale_user_to_hw(connector, user_level, user_max);
854 struct intel_connector *connector = bl_get_data(bd);
855 struct drm_i915_private *i915 = to_i915(connector->base.dev);
856 struct intel_panel *panel = &connector->panel;
862 intel_panel_set_backlight(connector->base.state, bd->props.brightness,
875 panel->backlight.power(connector, enable);
888 struct intel_connector *connector = bl_get_data(bd);
889 struct drm_i915_private *i915 = to_i915(connector->base.dev);
898 hw_level = intel_panel_get_backlight(connector);
899 ret = scale_hw_to_user(connector,
913 int intel_backlight_device_register(struct intel_connector *connector)
915 struct drm_i915_private *i915 = to_i915(connector->base.dev);
916 struct intel_panel *panel = &connector->panel;
943 props.brightness = scale_hw_to_user(connector,
960 * Using the same name independent of the drm device or connector
968 i915->drm.primary->index, connector->base.name);
972 bd = backlight_device_register(name, connector->base.kdev, connector,
978 connector->base.base.id, connector->base.name, name, PTR_ERR(bd));
987 connector->base.base.id, connector->base.name, name);
995 void intel_backlight_device_unregister(struct intel_connector *connector)
997 struct intel_panel *panel = &connector->panel;
1010 static u32 cnp_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1012 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1021 static u32 bxt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1031 static u32 spt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1033 struct intel_panel *panel = &connector->panel;
1049 static u32 lpt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1051 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1052 struct intel_panel *panel = &connector->panel;
1072 static u32 pch_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1074 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1088 static u32 i9xx_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1090 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1106 static u32 i965_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1108 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1124 static u32 vlv_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
1126 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1143 static u16 get_vbt_pwm_freq(struct intel_connector *connector)
1145 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1146 u16 pwm_freq_hz = connector->panel.vbt.backlight.pwm_freq_hz;
1162 static u32 get_backlight_max_vbt(struct intel_connector *connector)
1164 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1165 struct intel_panel *panel = &connector->panel;
1166 u16 pwm_freq_hz = get_vbt_pwm_freq(connector);
1175 pwm = panel->backlight.pwm_funcs->hz_to_pwm(connector, pwm_freq_hz);
1188 static u32 get_backlight_min_vbt(struct intel_connector *connector)
1190 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1191 struct intel_panel *panel = &connector->panel;
1203 min = clamp_t(int, connector->panel.vbt.backlight.min_brightness, 0, 64);
1204 if (min != connector->panel.vbt.backlight.min_brightness) {
1207 connector->panel.vbt.backlight.min_brightness, min);
1214 static int lpt_setup_backlight(struct intel_connector *connector, enum pipe unused)
1216 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1217 struct intel_panel *panel = &connector->panel;
1236 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector);
1241 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1250 val = pch_get_backlight(connector, unused);
1256 lpt_set_backlight(connector->base.state, val);
1266 connector->base.base.id, connector->base.name);
1271 static int pch_setup_backlight(struct intel_connector *connector, enum pipe unused)
1273 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1274 struct intel_panel *panel = &connector->panel;
1284 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector);
1289 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1297 connector->base.base.id, connector->base.name);
1302 static int i9xx_setup_backlight(struct intel_connector *connector, enum pipe unused)
1304 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1305 struct intel_panel *panel = &connector->panel;
1319 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector);
1329 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1331 val = i9xx_get_backlight(connector, unused);
1332 val = intel_backlight_invert_pwm_level(connector, val);
1339 connector->base.base.id, connector->base.name);
1344 static int i965_setup_backlight(struct intel_connector *connector, enum pipe unused)
1346 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1347 struct intel_panel *panel = &connector->panel;
1358 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector);
1366 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1372 connector->base.base.id, connector->base.name);
1377 static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe)
1379 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1380 struct intel_panel *panel = &connector->panel;
1393 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector);
1398 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1404 connector->base.base.id, connector->base.name, pipe_name(pipe));
1410 bxt_setup_backlight(struct intel_connector *connector, enum pipe unused)
1412 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1413 struct intel_panel *panel = &connector->panel;
1416 panel->backlight.controller = connector->panel.vbt.backlight.controller;
1433 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector);
1438 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1444 connector->base.base.id, connector->base.name,
1475 cnp_setup_backlight(struct intel_connector *connector, enum pipe unused)
1477 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1478 struct intel_panel *panel = &connector->panel;
1485 panel->backlight.controller = connector->panel.vbt.backlight.controller;
1488 connector->base.base.id, connector->base.name,
1501 panel->backlight.pwm_level_max = get_backlight_max_vbt(connector);
1506 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1512 connector->base.base.id, connector->base.name,
1518 static int ext_pwm_setup_backlight(struct intel_connector *connector,
1521 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1522 struct intel_panel *panel = &connector->panel;
1527 if (connector->panel.vbt.dsi.config->pwm_blc == PPS_BLC_PMIC) {
1537 connector->base.base.id, connector->base.name, desc);
1543 panel->backlight.pwm_level_min = get_backlight_min_vbt(connector);
1551 level = intel_backlight_invert_pwm_level(connector, level);
1555 connector->base.base.id, connector->base.name,
1557 get_vbt_pwm_freq(connector), level);
1561 NSEC_PER_SEC / get_vbt_pwm_freq(connector);
1566 connector->base.base.id, connector->base.name, desc);
1573 struct intel_connector *connector = to_intel_connector(conn_state->connector);
1574 struct intel_panel *panel = &connector->panel;
1577 intel_backlight_invert_pwm_level(connector, level));
1580 static u32 intel_pwm_get_backlight(struct intel_connector *connector, enum pipe pipe)
1582 struct intel_panel *panel = &connector->panel;
1584 return intel_backlight_invert_pwm_level(connector,
1585 panel->backlight.pwm_funcs->get(connector, pipe));
1591 struct intel_connector *connector = to_intel_connector(conn_state->connector);
1592 struct intel_panel *panel = &connector->panel;
1595 intel_backlight_invert_pwm_level(connector, level));
1600 struct intel_connector *connector = to_intel_connector(conn_state->connector);
1601 struct intel_panel *panel = &connector->panel;
1604 intel_backlight_invert_pwm_level(connector, level));
1607 static int intel_pwm_setup_backlight(struct intel_connector *connector, enum pipe pipe)
1609 struct intel_panel *panel = &connector->panel;
1612 ret = panel->backlight.pwm_funcs->setup(connector, pipe);
1618 panel->backlight.level = intel_pwm_get_backlight(connector, pipe);
1629 struct intel_connector *connector = to_intel_connector(conn_state->connector);
1630 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1631 struct intel_panel *panel = &connector->panel;
1643 int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
1645 struct intel_display *display = to_intel_display(connector);
1646 struct intel_panel *panel = &connector->panel;
1649 if (!connector->panel.vbt.backlight.present) {
1653 connector->base.base.id, connector->base.name);
1657 connector->base.base.id, connector->base.name);
1668 ret = panel->backlight.funcs->setup(connector, pipe);
1674 connector->base.base.id, connector->base.name);
1682 connector->base.base.id, connector->base.name,
1789 struct intel_connector *connector =
1791 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1793 if (connector->base.connector_type == DRM_MODE_CONNECTOR_DSI &&
1794 intel_dsi_dcs_init_backlight_funcs(connector) == 0)
1809 if (connector->base.connector_type == DRM_MODE_CONNECTOR_DSI) {
1820 if (connector->base.connector_type == DRM_MODE_CONNECTOR_eDP) {
1821 if (intel_dp_aux_init_backlight_funcs(connector) == 0)
1825 connector->panel.backlight.power = intel_pps_backlight_power;