Lines Matching refs:dev_priv

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