[PATCH] only try to find radeon IGP ROM on X86

Alex Deucher alexdeucher at gmail.com
Thu Oct 10 19:10:35 CEST 2013


On Thu, Oct 10, 2013 at 11:26 AM, Meelis Roos <mroos at linux.ee> wrote:
>> On Thu, Oct 10, 2013 at 7:51 AM, Meelis Roos <mroos at linux.ee> wrote:
>> > To prevent hangs on non-PC machines (e.g. sparc64), probe Radeon ROM
>> > from ATI IGP only on X86. Fixes hang in this place and allows PCI radeon
>> > detection to move on to next problem.
>>
>> NACK.  All this function does it attempt to read the rom from the
>> framebuffer PCI BAR.  If you get hangs reading the BAR, then you have
>> larger problems on your platform.  Also, there are non-x86 platforms
>> that IGP chips which this may break.
>
> OK. But the code seems to just dereference addresses returned from
> ioremap, but to the best of my knowledge, these are not universally
> (like on each arch) safe to read without readb/readw/readl. Should I
> convert these to readb for test?

Yeah, that would be great.

Thanks,

Alex

>
>> > Signed-off-by: Meelis Roos <mroos at linux.ee>
>> >
>> > diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/radeon/radeon_bios.c
>> > index 061b227..48ef97c 100644
>> > --- a/drivers/gpu/drm/radeon/radeon_bios.c
>> > +++ b/drivers/gpu/drm/radeon/radeon_bios.c
>> > @@ -49,6 +49,11 @@ static bool igp_read_bios_from_vram(struct radeon_device *rdev)
>> >         resource_size_t vram_base;
>> >         resource_size_t size = 256 * 1024; /* ??? */
>> >
>> > +#ifndef CONFIG_X86
>> > +       /* IGP only exists on X86 (32- and 64-bit) */
>> > +       return false;
>> > +#endif
>> > +
>> >         if (!(rdev->flags & RADEON_IS_IGP))
>> >                 if (!radeon_card_posted(rdev))
>> >                         return false;
>> >
>> > --
>> > Meelis Roos (mroos at linux.ee)
>>
>
> --
> Meelis Roos (mroos at linux.ee)


More information about the dri-devel mailing list