Lines Matching refs:dev_priv

46 parse_edp(struct drm_psb_private *dev_priv, struct bdb_header *bdb)
55 dev_priv->edp.bpp = 18;
57 if (dev_priv->edp.support) {
59 dev_priv->edp.bpp);
64 panel_type = dev_priv->panel_type;
67 dev_priv->edp.bpp = 18;
70 dev_priv->edp.bpp = 24;
73 dev_priv->edp.bpp = 30;
81 dev_priv->edp.pps = *edp_pps;
84 dev_priv->edp.pps.t1_t3, dev_priv->edp.pps.t8,
85 dev_priv->edp.pps.t9, dev_priv->edp.pps.t10,
86 dev_priv->edp.pps.t11_t12);
88 dev_priv->edp.rate = edp_link_params->rate ? DP_LINK_BW_2_7 :
92 dev_priv->edp.lanes = 1;
95 dev_priv->edp.lanes = 2;
99 dev_priv->edp.lanes = 4;
103 dev_priv->edp.lanes, dev_priv->edp.rate, dev_priv->edp.bpp);
107 dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_0;
110 dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_1;
113 dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_2;
116 dev_priv->edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
121 dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_0;
124 dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_1;
127 dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_2;
130 dev_priv->edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
134 dev_priv->edp.vswing, dev_priv->edp.preemphasis);
189 static void parse_backlight_data(struct drm_psb_private *dev_priv,
199 dev_priv->lvds_bl = NULL;
211 dev_err(dev_priv->dev.dev, "out of memory for backlight data\n");
214 dev_priv->lvds_bl = lvds_bl;
218 static void parse_lfp_panel_data(struct drm_psb_private *dev_priv,
228 dev_priv->lvds_dither = 0;
229 dev_priv->lvds_vbt = 0;
235 dev_priv->lvds_dither = lvds_options->pixel_dither;
236 dev_priv->panel_type = lvds_options->panel_type;
252 dev_err(dev_priv->dev.dev, "out of memory for fixed panel mode\n");
256 dev_priv->lvds_vbt = 1;
260 dev_priv->lfp_lvds_vbt_mode = panel_fixed_mode;
263 dev_dbg(dev_priv->dev.dev, "ignoring invalid LVDS VBT\n");
264 dev_priv->lvds_vbt = 0;
271 static void parse_sdvo_panel_data(struct drm_psb_private *dev_priv,
278 dev_priv->sdvo_lvds_vbt_mode = NULL;
296 dev_priv->sdvo_lvds_vbt_mode = panel_fixed_mode;
301 static void parse_general_features(struct drm_psb_private *dev_priv,
307 dev_priv->int_tv_support = 1;
308 dev_priv->int_crt_support = 1;
312 dev_priv->int_tv_support = general->int_tv_support;
313 dev_priv->int_crt_support = general->int_crt_support;
314 dev_priv->lvds_use_ssc = general->enable_ssc;
316 if (dev_priv->lvds_use_ssc) {
317 dev_priv->lvds_ssc_freq
324 parse_sdvo_device_mapping(struct drm_psb_private *dev_priv,
379 p_mapping = &(dev_priv->sdvo_mappings[p_child->dvo_port - 1]);
415 parse_driver_features(struct drm_psb_private *dev_priv,
425 dev_priv->edp.support = 1;
427 dev_priv->lvds_enabled_in_vbt = driver->lvds_config != 0;
432 dev_priv->dplla_96mhz = true;
434 dev_priv->dplla_96mhz = false;
438 parse_device_mapping(struct drm_psb_private *dev_priv,
480 dev_priv->child_dev = kcalloc(count, sizeof(*p_child), GFP_KERNEL);
481 if (!dev_priv->child_dev) {
486 dev_priv->child_dev_num = count;
494 child_dev_ptr = dev_priv->child_dev + count;
519 struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
528 dev_priv->panel_type = 0xff;
531 if (dev_priv->opregion.vbt) {
532 struct vbt_header *vbt = dev_priv->opregion.vbt;
538 dev_priv->opregion.vbt = NULL;
563 parse_general_features(dev_priv, bdb);
564 parse_driver_features(dev_priv, bdb);
565 parse_lfp_panel_data(dev_priv, bdb);
566 parse_sdvo_panel_data(dev_priv, bdb);
567 parse_sdvo_device_mapping(dev_priv, bdb);
568 parse_device_mapping(dev_priv, bdb);
569 parse_backlight_data(dev_priv, bdb);
570 parse_edp(dev_priv, bdb);
583 struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
585 kfree(dev_priv->sdvo_lvds_vbt_mode);
586 kfree(dev_priv->lfp_lvds_vbt_mode);
587 kfree(dev_priv->lvds_bl);