[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