RE: [Linux 2.6.29-rc6] [drm:i915_set_status_page] *ERROR* can notioremap virtual address for G33 hw status page

From: Pallipadi, Venkatesh
Date: Tue Feb 24 2009 - 17:09:37 EST




>-----Original Message-----
>From: Linus Torvalds [mailto:torvalds@xxxxxxxxxxxxxxxxxxxx]
>Sent: Tuesday, February 24, 2009 1:59 PM
>To: Dave Airlie
>Cc: Ingo Molnar; Yinghai Lu; H. Peter Anvin; Pallipadi,
>Venkatesh; Siddha, Suresh B; Arjan van de Ven; Andy Isaacson;
>Maciej Rutecki; Rafael J. Wysocki; Eric Anholt; Linux Kernel
>Mailing List; Jesse Barnes; lenb@xxxxxxxxxx; mjg@xxxxxxxxxx;
>Andrew Morton; Zhang, Rui
>Subject: Re: [Linux 2.6.29-rc6] [drm:i915_set_status_page]
>*ERROR* can not ioremap virtual address for G33 hw status page
>
>
>
>On Wed, 25 Feb 2009, Dave Airlie wrote:
>> >
>> > The other question is, why did the ioremap_wc() fail? Why doesnt
>> > it fall back to UC transparently?
>>
>> I'm sort of worried the drivers are going to end up doing, which at
>> the moment is the only option that will work.
>>
>> blah = ioremap_wc();
>> if (!blah)
>> blah = ioremap_nocache();
>>
>> which seems pointless so this is a good point, where is the fallback?
>
>I agree.
>
>We should not fail the ioremap_wc(), we should just fall back
>to nocache,
>(possibly with a warning). In fact I thought we did exactly that, but
>maybe it only happens in certain directions.
>

Yes. We do allow fallback from WC to UC in ioremap. Atleast the code is
intended to do that, unless there is a conflicting WB mapping to this region,
in which case we will fail ioremap_wc. But, that doesn't seem to be the case
as simple ioremap seems to go through without any error. Looking through this
code for any bugs...

Also, it will be interesting to look at pat_memtype_list in /debug/x86 when
ioremap_wc fails here..

Thanks,
Venki--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/