diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_bios.c | 22 |
3 files changed, 11 insertions, 15 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 9cb71b6aed5d..f75988feb566 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -370,7 +370,7 @@ static int i915_load_modeset_init(struct drm_device *dev) | |||
370 | struct drm_i915_private *dev_priv = dev->dev_private; | 370 | struct drm_i915_private *dev_priv = dev->dev_private; |
371 | int ret; | 371 | int ret; |
372 | 372 | ||
373 | ret = intel_bios_init(dev); | 373 | ret = intel_bios_init(dev_priv); |
374 | if (ret) | 374 | if (ret) |
375 | DRM_INFO("failed to find VBIOS tables\n"); | 375 | DRM_INFO("failed to find VBIOS tables\n"); |
376 | 376 | ||
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index fe60b44e7586..18be127f5678 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -3355,7 +3355,7 @@ static inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter) | |||
3355 | extern void intel_i2c_reset(struct drm_device *dev); | 3355 | extern void intel_i2c_reset(struct drm_device *dev); |
3356 | 3356 | ||
3357 | /* intel_bios.c */ | 3357 | /* intel_bios.c */ |
3358 | int intel_bios_init(struct drm_device *dev); | 3358 | int intel_bios_init(struct drm_i915_private *dev_priv); |
3359 | bool intel_bios_is_valid_vbt(const void *buf, size_t size); | 3359 | bool intel_bios_is_valid_vbt(const void *buf, size_t size); |
3360 | 3360 | ||
3361 | /* intel_opregion.c */ | 3361 | /* intel_opregion.c */ |
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c index 4c9304e92ff5..25edfc062f94 100644 --- a/drivers/gpu/drm/i915/intel_bios.c +++ b/drivers/gpu/drm/i915/intel_bios.c | |||
@@ -332,10 +332,10 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv, | |||
332 | drm_mode_debug_printmodeline(panel_fixed_mode); | 332 | drm_mode_debug_printmodeline(panel_fixed_mode); |
333 | } | 333 | } |
334 | 334 | ||
335 | static int intel_bios_ssc_frequency(struct drm_device *dev, | 335 | static int intel_bios_ssc_frequency(struct drm_i915_private *dev_priv, |
336 | bool alternate) | 336 | bool alternate) |
337 | { | 337 | { |
338 | switch (INTEL_INFO(dev)->gen) { | 338 | switch (INTEL_INFO(dev_priv)->gen) { |
339 | case 2: | 339 | case 2: |
340 | return alternate ? 66667 : 48000; | 340 | return alternate ? 66667 : 48000; |
341 | case 3: | 341 | case 3: |
@@ -350,7 +350,6 @@ static void | |||
350 | parse_general_features(struct drm_i915_private *dev_priv, | 350 | parse_general_features(struct drm_i915_private *dev_priv, |
351 | const struct bdb_header *bdb) | 351 | const struct bdb_header *bdb) |
352 | { | 352 | { |
353 | struct drm_device *dev = dev_priv->dev; | ||
354 | const struct bdb_general_features *general; | 353 | const struct bdb_general_features *general; |
355 | 354 | ||
356 | general = find_section(bdb, BDB_GENERAL_FEATURES); | 355 | general = find_section(bdb, BDB_GENERAL_FEATURES); |
@@ -362,7 +361,7 @@ parse_general_features(struct drm_i915_private *dev_priv, | |||
362 | dev_priv->vbt.int_crt_support = general->int_crt_support; | 361 | dev_priv->vbt.int_crt_support = general->int_crt_support; |
363 | dev_priv->vbt.lvds_use_ssc = general->enable_ssc; | 362 | dev_priv->vbt.lvds_use_ssc = general->enable_ssc; |
364 | dev_priv->vbt.lvds_ssc_freq = | 363 | dev_priv->vbt.lvds_ssc_freq = |
365 | intel_bios_ssc_frequency(dev, general->ssc_freq); | 364 | intel_bios_ssc_frequency(dev_priv, general->ssc_freq); |
366 | dev_priv->vbt.display_clock_mode = general->display_clock_mode; | 365 | dev_priv->vbt.display_clock_mode = general->display_clock_mode; |
367 | dev_priv->vbt.fdi_rx_polarity_inverted = general->fdi_rx_polarity_inverted; | 366 | dev_priv->vbt.fdi_rx_polarity_inverted = general->fdi_rx_polarity_inverted; |
368 | DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d fdi_rx_polarity_inverted %d\n", | 367 | DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d fdi_rx_polarity_inverted %d\n", |
@@ -1057,10 +1056,9 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port, | |||
1057 | static void parse_ddi_ports(struct drm_i915_private *dev_priv, | 1056 | static void parse_ddi_ports(struct drm_i915_private *dev_priv, |
1058 | const struct bdb_header *bdb) | 1057 | const struct bdb_header *bdb) |
1059 | { | 1058 | { |
1060 | struct drm_device *dev = dev_priv->dev; | ||
1061 | enum port port; | 1059 | enum port port; |
1062 | 1060 | ||
1063 | if (!HAS_DDI(dev)) | 1061 | if (!HAS_DDI(dev_priv)) |
1064 | return; | 1062 | return; |
1065 | 1063 | ||
1066 | if (!dev_priv->vbt.child_dev_num) | 1064 | if (!dev_priv->vbt.child_dev_num) |
@@ -1173,7 +1171,6 @@ parse_device_mapping(struct drm_i915_private *dev_priv, | |||
1173 | static void | 1171 | static void |
1174 | init_vbt_defaults(struct drm_i915_private *dev_priv) | 1172 | init_vbt_defaults(struct drm_i915_private *dev_priv) |
1175 | { | 1173 | { |
1176 | struct drm_device *dev = dev_priv->dev; | ||
1177 | enum port port; | 1174 | enum port port; |
1178 | 1175 | ||
1179 | dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC; | 1176 | dev_priv->vbt.crt_ddc_pin = GMBUS_PIN_VGADDC; |
@@ -1198,8 +1195,8 @@ init_vbt_defaults(struct drm_i915_private *dev_priv) | |||
1198 | * Core/SandyBridge/IvyBridge use alternative (120MHz) reference | 1195 | * Core/SandyBridge/IvyBridge use alternative (120MHz) reference |
1199 | * clock for LVDS. | 1196 | * clock for LVDS. |
1200 | */ | 1197 | */ |
1201 | dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev, | 1198 | dev_priv->vbt.lvds_ssc_freq = intel_bios_ssc_frequency(dev_priv, |
1202 | !HAS_PCH_SPLIT(dev)); | 1199 | !HAS_PCH_SPLIT(dev_priv)); |
1203 | DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq); | 1200 | DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq); |
1204 | 1201 | ||
1205 | for (port = PORT_A; port < I915_MAX_PORTS; port++) { | 1202 | for (port = PORT_A; port < I915_MAX_PORTS; port++) { |
@@ -1295,15 +1292,14 @@ static const struct vbt_header *find_vbt(void __iomem *bios, size_t size) | |||
1295 | * Returns 0 on success, nonzero on failure. | 1292 | * Returns 0 on success, nonzero on failure. |
1296 | */ | 1293 | */ |
1297 | int | 1294 | int |
1298 | intel_bios_init(struct drm_device *dev) | 1295 | intel_bios_init(struct drm_i915_private *dev_priv) |
1299 | { | 1296 | { |
1300 | struct drm_i915_private *dev_priv = dev->dev_private; | 1297 | struct pci_dev *pdev = dev_priv->dev->pdev; |
1301 | struct pci_dev *pdev = dev->pdev; | ||
1302 | const struct vbt_header *vbt = dev_priv->opregion.vbt; | 1298 | const struct vbt_header *vbt = dev_priv->opregion.vbt; |
1303 | const struct bdb_header *bdb; | 1299 | const struct bdb_header *bdb; |
1304 | u8 __iomem *bios = NULL; | 1300 | u8 __iomem *bios = NULL; |
1305 | 1301 | ||
1306 | if (HAS_PCH_NOP(dev)) | 1302 | if (HAS_PCH_NOP(dev_priv)) |
1307 | return -ENODEV; | 1303 | return -ENODEV; |
1308 | 1304 | ||
1309 | init_vbt_defaults(dev_priv); | 1305 | init_vbt_defaults(dev_priv); |