Lines 653-658
intel_parse_bios(struct drm_device *dev)
Link Here
|
653 |
struct drm_i915_private *dev_priv = dev->dev_private; |
653 |
struct drm_i915_private *dev_priv = dev->dev_private; |
654 |
struct bdb_header *bdb = NULL; |
654 |
struct bdb_header *bdb = NULL; |
655 |
u8 *bios; |
655 |
u8 *bios; |
|
|
656 |
device_t vga_dev; |
656 |
|
657 |
|
657 |
init_vbt_defaults(dev_priv); |
658 |
init_vbt_defaults(dev_priv); |
658 |
|
659 |
|
Lines 668-685
intel_parse_bios(struct drm_device *dev)
Link Here
|
668 |
} |
669 |
} |
669 |
bios = NULL; |
670 |
bios = NULL; |
670 |
|
671 |
|
671 |
#if 1 |
|
|
672 |
if (bdb == NULL) { |
673 |
KIB_NOTYET(); |
674 |
return (-1); |
675 |
} |
676 |
#else |
677 |
if (bdb == NULL) { |
672 |
if (bdb == NULL) { |
678 |
struct vbt_header *vbt = NULL; |
673 |
struct vbt_header *vbt = NULL; |
679 |
size_t size; |
674 |
size_t size; |
680 |
int i; |
675 |
int i; |
681 |
|
676 |
|
682 |
bios = pci_map_rom(pdev, &size); |
677 |
vga_dev = device_get_parent(dev->device); |
|
|
678 |
bios = vga_pci_map_bios(vga_dev, &size); |
683 |
if (!bios) |
679 |
if (!bios) |
684 |
return -1; |
680 |
return -1; |
685 |
|
681 |
|
Lines 693-705
intel_parse_bios(struct drm_device *dev)
Link Here
|
693 |
|
689 |
|
694 |
if (!vbt) { |
690 |
if (!vbt) { |
695 |
DRM_DEBUG_DRIVER("VBT signature missing\n"); |
691 |
DRM_DEBUG_DRIVER("VBT signature missing\n"); |
696 |
pci_unmap_rom(pdev, bios); |
692 |
vga_pci_unmap_bios(vga_dev, bios); |
697 |
return -1; |
693 |
return -1; |
698 |
} |
694 |
} |
699 |
|
695 |
|
700 |
bdb = (struct bdb_header *)(bios + i + vbt->bdb_offset); |
696 |
bdb = (struct bdb_header *)(bios + i + vbt->bdb_offset); |
701 |
} |
697 |
} |
702 |
#endif |
|
|
703 |
|
698 |
|
704 |
/* Grab useful general definitions */ |
699 |
/* Grab useful general definitions */ |
705 |
parse_general_features(dev_priv, bdb); |
700 |
parse_general_features(dev_priv, bdb); |
Lines 711-720
intel_parse_bios(struct drm_device *dev)
Link Here
|
711 |
parse_driver_features(dev_priv, bdb); |
706 |
parse_driver_features(dev_priv, bdb); |
712 |
parse_edp(dev_priv, bdb); |
707 |
parse_edp(dev_priv, bdb); |
713 |
|
708 |
|
714 |
#if 0 |
|
|
715 |
if (bios) |
709 |
if (bios) |
716 |
pci_unmap_rom(pdev, bios); |
710 |
vga_pci_unmap_bios(vga_dev, bios); |
717 |
#endif |
|
|
718 |
|
711 |
|
719 |
return 0; |
712 |
return 0; |
720 |
} |
713 |
} |