Re: has the i915 "black screen" boot issue returned? [BISECTED]

From: Robert P. J. Day
Date: Fri Jan 28 2011 - 09:32:23 EST


On Fri, 28 Jan 2011, Chris Wilson wrote:

> On Fri, 28 Jan 2011 08:53:59 -0500 (EST), "Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx> wrote:
> > so the culprit appears to be:
> >
> > b705120e4198315f4ae043de06c62f65e0851fd3 is the first bad commit
> > commit b705120e4198315f4ae043de06c62f65e0851fd3
> > Author: Michael Karcher <kernel@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
> > Date: Sun Jan 23 18:17:17 2011 +0000
> >
> > drm/i915: Use consistent mappings for OpRegion between ACPI and i915
> >
> > The opregion is a shared memory region between ACPI and the graphics
> > driver. As the ACPI mapping has been changed to cachable in commit
> > 6d5bbf00d251cc73223a71422d69e069dc2e0b8d, mapping the intel opregion
> > non-cachable now fails. As no bus-master hardware is involved in the
> > opregion, cachable map should do no harm.
> >
> > Tested on a Fujitsu Lifebook P8010.
> >
> > Signed-off-by: Michael Karcher <kernel@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
> > [ickle: convert to acpi_os_ioremap for consistency]
> > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> >
> >
> > thoughts? once again, the salient output from "lspci -v":
>
> Indeed looks like using ioremap_cache is not as safe as was assumed. Does
>
> diff --git a/include/linux/acpi_io.h b/include/linux/acpi_io.h
> index 7180013..42108ab 100644
> --- a/include/linux/acpi_io.h
> +++ b/include/linux/acpi_io.h
> @@ -7,7 +7,7 @@
> static inline void __iomem *acpi_os_ioremap(acpi_physical_address phys,
> acpi_size size)
> {
> - return ioremap_cache(phys, size);
> + return ioremap_wc(phys, size);
> }
>
> int acpi_os_map_generic_address(struct acpi_generic_address *addr);

that didn't appear to make a difference. same black screen issue.
BTW, here's an excerpt from /var/log/dmesg for a *successful* boot (i
just rebooted to 8a327f23):

...
[ 24.037114] intel ips 0000:00:1f.6: failed to get i915 symbols, graphics turbo disabled
...
[ 27.155660] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 27.155665] i915 0000:00:02.0: setting latency timer to 64
[ 27.217407] mtrr: no more MTRRs available
[ 27.217411] [drm] MTRR allocation failed. Graphics performance may suffer.
[ 27.217848] ioremap error for 0xb3752000-0xb3755000, requested 0x10, got 0x0
[ 27.217933] i915 0000:00:02.0: irq 42 for MSI/MSI-X
[ 27.217938] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 27.217940] [drm] Driver supports precise vblank timestamp query.
...

if any of that is of any use.

> fix your boot issue or do we need to go back to using uncached:
>
> + return ioremap(phys, size);

is that the next change you want me to try?

rday

--

========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
http://crashcourse.ca

Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
--
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/