diff options
| author | Ed Swarthout <Ed.Swarthout@freescale.com> | 2010-03-31 09:54:28 -0500 | 
|---|---|---|
| committer | Anatolij Gustschin <agust@denx.de> | 2010-04-08 15:26:29 +0200 | 
| commit | 9624f6d9eb4b7223e97a27844ec4489ab953a2e2 (patch) | |
| tree | e4ee3bbf6241a5035418dd60eec87d00b32c9300 | |
| parent | d5011762f53ada9cc7cdf1f89f3a722f887af577 (diff) | |
| download | olio-uboot-2014.01-9624f6d9eb4b7223e97a27844ec4489ab953a2e2.tar.xz olio-uboot-2014.01-9624f6d9eb4b7223e97a27844ec4489ab953a2e2.zip | |
ati_radeon: return with error when emulator fails
Console was being switched to video even if emulator fails and
causing this hang:
               Scanning PCI bus 04
        04  00  1095  3132  0104  00
    PCIE3 on bus 03 - 04
Video: ATI Radeon video card (1002, 5b60) found @(2:0:0)
videoboot: Booting PCI video card bus 2, function 0, device 0
videoboot: Video ROM failed to map!
640x480x8 31kHz 59Hz
radeonfb: FIFO Timeout !
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
Tested-by: Anatolij Gustschin <agust@denx.de>
| -rw-r--r-- | drivers/bios_emulator/atibios.c | 3 | ||||
| -rw-r--r-- | drivers/video/ati_radeon_fb.c | 3 | 
2 files changed, 4 insertions, 2 deletions
| diff --git a/drivers/bios_emulator/atibios.c b/drivers/bios_emulator/atibios.c index 5f9bd101d..2881449d9 100644 --- a/drivers/bios_emulator/atibios.c +++ b/drivers/bios_emulator/atibios.c @@ -315,7 +315,8 @@ int BootVideoCardBIOS(pci_dev_t pcidev, BE_VGAInfo ** pVGAInfo, int cleanUp)  	BE_init(0, 65536, VGAInfo, 0);  	/*Post all the display controller BIOS'es*/ -	PCI_postController(pcidev, VGAInfo); +	if (!PCI_postController(pcidev, VGAInfo)) +		return false;  	/*Cleanup and exit the emulator if requested. If the BIOS emulator  	is needed after booting the card, we will not call BE_exit and diff --git a/drivers/video/ati_radeon_fb.c b/drivers/video/ati_radeon_fb.c index 9ebb0b0c9..529ddae83 100644 --- a/drivers/video/ati_radeon_fb.c +++ b/drivers/video/ati_radeon_fb.c @@ -597,7 +597,8 @@ int radeon_probe(struct radeonfb_info *rinfo)  		rinfo->fb_local_base = INREG(MC_FB_LOCATION) << 16;  		DPRINT("rinfo->fb_local_base = 0x%x\n",rinfo->fb_local_base);  		/* PostBIOS with x86 emulater */ -		BootVideoCardBIOS(pdev, NULL, 0); +		if (!BootVideoCardBIOS(pdev, NULL, 0)) +			return -1;  		/*  		 * Check for errata |