On Wed, 31 Mar 2010 09:54:57 -0500 Ed Swarthout <ed.swarth...@freescale.com> wrote:
> Use pci_bus_to_virt() to convert the bus address from the BARs to > virtual address' to eliminate the direct mapping requirement. > > Rename variables to better match usage (_phys -> _bus or no-suffix) > > This fixes the mpc8572ds CONFIG_PYS_64BIT mode failure: > "videoboot: Vidoe ROM failed to map!" s/CONFIG_PYS_64BIT/CONFIG_PHYS_64BIT s/Vidoe/Video > Tested on mpc8572ds with and without CONFIG_PHYS_64BIT. > > Signed-off-by: Ed Swarthout <ed.swarth...@freescale.com> > --- > > This patch is independent of the ati radeon return error patch, > but for ease of debug it should be applied with this one. > > drivers/bios_emulator/atibios.c | 9 ++++--- > drivers/video/ati_radeon_fb.c | 45 ++++++++++++++++++++------------------ > drivers/video/ati_radeon_fb.h | 4 +- > 3 files changed, 31 insertions(+), 27 deletions(-) With this patch applied following warnings appear: ati_radeon_fb.c: In function 'video_hw_init': ati_radeon_fb.c:740: warning: assignment makes integer from pointer without a cast ati_radeon_fb.c:741: warning: assignment makes integer from pointer without a cast ati_radeon_fb.c:746: warning: assignment makes integer from pointer without a cast ati_radeon_fb.c:754: warning: assignment makes integer from pointer without a cast ati_radeon_fb.c:755: warning: assignment makes integer from pointer without a cast Please include inlined patch below to fix them. Thanks. Other than this, I tested this patch on PPC440EPx based sequoia board with ATI Radeon 9250 PCI card, it works. Anatolij diff --git a/drivers/video/ati_radeon_fb.c b/drivers/video/ati_radeon_fb.c index a74f724..c2c2096 100644 --- a/drivers/video/ati_radeon_fb.c +++ b/drivers/video/ati_radeon_fb.c @@ -737,13 +737,13 @@ void *video_hw_init(void) } pGD->isaBase = CONFIG_SYS_ISA_IO_BASE_ADDRESS; - pGD->pciBase = rinfo->fb_base; - pGD->frameAdrs = rinfo->fb_base; + pGD->pciBase = (unsigned int)rinfo->fb_base; + pGD->frameAdrs = (unsigned int)rinfo->fb_base; pGD->memSize = 64 * 1024 * 1024; /* Cursor Start Address */ - pGD->dprBase = - (pGD->winSizeX * pGD->winSizeY * pGD->gdfBytesPP) + rinfo->fb_base; + pGD->dprBase = (pGD->winSizeX * pGD->winSizeY * pGD->gdfBytesPP) + + (unsigned int)rinfo->fb_base; if ((pGD->dprBase & 0x0fff) != 0) { /* allign it */ pGD->dprBase &= 0xfffff000; @@ -751,8 +751,8 @@ void *video_hw_init(void) } DPRINT ("Cursor Start %x Pattern Start %x\n", pGD->dprBase, PATTERN_ADR); - pGD->vprBase = rinfo->fb_base; /* Dummy */ - pGD->cprBase = rinfo->fb_base; /* Dummy */ + pGD->vprBase = (unsigned int)rinfo->fb_base; /* Dummy */ + pGD->cprBase = (unsigned int)rinfo->fb_base; /* Dummy */ /* set up Hardware */ /* Clear video memory (only visible screen area) */ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot