2012/11/20 Damien Lespiau <damien.lespiau at intel.com>: > On Tue, Nov 20, 2012 at 7:10 PM, Paulo Zanoni <przanoni at gmail.com> wrote: >> Hi >> >> 2012/11/20 Damien Lespiau <damien.lespiau at intel.com>: >>>> + if (IS_HASWELL(dev_priv->dev) && (I915_READ_NOTRACE(GEN7_ERR_INT) & ERR_INT_MMIO_UNCLAIMED)) { \ >>>> + DRM_ERROR("Unknown unclaimed register before writing to %x\n", reg); \ >>>> + I915_WRITE_NOTRACE(GEN7_ERR_INT, ERR_INT_MMIO_UNCLAIMED); \ >>>> + } \ >>> >>> Do we really have to DRM_ERROR here? this bit being set seems to be >>> beyond things we can fix (BIOS leaving that behind?) >> >> If we do I915_WRITE_NOTRACE or I915_READ_NOTRACE to a register that >> does not exist I believe the unclaimed bit will be set. > > Yup, that looks true, I guess that if we're seeing that BIOSes leave > that behind and generate a false positive we can write that bit when > cleaning up after the BIOS anyway. As far as I have investigated, we are also seeing leftovers from the BIOS that you're talking about. We need to do an initial clear in this bit at the driver initialization time (irq initialization?). I forgot to say, but the error message introduced by this patch will also be print when we I915_READ a register that does not exist (which is the case when we hang the gpu, for example). > > Reviewed-by: Damien Lespiau <damien.lespiau at intel.com> > > -- > Damien -- Paulo Zanoni