Message ID | 1453719748-10944-1-git-send-email-kraxel@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jan 25, 2016 at 12:02:28 +0100, Gerd Hoffmann <kraxel@redhat.com> wrote: > >Refine the check by additionally verifying the pci >subsystem id to see whenever it *really* is qemu. > >[ v2: fix subvendor tyops ] I tested this patch on my laptop that was getting a black screen part way through the boot process and it fixed things.
On Mon, Jan 25, 2016 at 12:02:28 +0100, Gerd Hoffmann <kraxel@redhat.com> wrote: >The test for the qemu q35 south bridge added by commit >"39bfcd52 drm/i915: more virtual south bridge detection" >also matches on real hardware. Having the check for >virtual systems last in the list is not enough to avoid >that ... > >Refine the check by additionally verifying the pci >subsystem id to see whenever it *really* is qemu. > >[ v2: fix subvendor tyops ] I haven't seen this patch (or a revert of 39bfcd52) show up in the intel drm repos yet. Has anyone asked for this tpo be included? Is there some problem with the patch? (It works for me.)
On Thu, 28 Jan 2016, Bruno Wolff III <bruno@wolff.to> wrote: > On Mon, Jan 25, 2016 at 12:02:28 +0100, > Gerd Hoffmann <kraxel@redhat.com> wrote: >>The test for the qemu q35 south bridge added by commit >>"39bfcd52 drm/i915: more virtual south bridge detection" >>also matches on real hardware. Having the check for >>virtual systems last in the list is not enough to avoid >>that ... >> >>Refine the check by additionally verifying the pci >>subsystem id to see whenever it *really* is qemu. >> >>[ v2: fix subvendor tyops ] > > I haven't seen this patch (or a revert of 39bfcd52) show up in the intel > drm repos yet. Has anyone asked for this tpo be included? Is there some > problem with the patch? (It works for me.) Pushed to drm-intel-next-queued, thanks for the patch and testing. BR, Jani.
On Mon, 25 Jan 2016, Gerd Hoffmann <kraxel@redhat.com> wrote: > The test for the qemu q35 south bridge added by commit > "39bfcd52 drm/i915: more virtual south bridge detection" > also matches on real hardware. Having the check for > virtual systems last in the list is not enough to avoid > that ... > > Refine the check by additionally verifying the pci > subsystem id to see whenever it *really* is qemu. > > [ v2: fix subvendor tyops ] Incidentally, I just spotted [1]. Gerd, could you review that one please, and (once it gets merged) post a follow-up changing our magic numbers to those constants as well? Thanks, Jani. [1] http://mid.gmane.org/1453739846-3549-1-git-send-email-robbat2@gentoo.org > > Reported-by: Bjørn Mork <bjorn@mork.no> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > drivers/gpu/drm/i915/i915_drv.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index 3ac616d..f357058 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -501,7 +501,9 @@ void intel_detect_pch(struct drm_device *dev) > WARN_ON(!IS_SKYLAKE(dev) && > !IS_KABYLAKE(dev)); > } else if ((id == INTEL_PCH_P2X_DEVICE_ID_TYPE) || > - (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE)) { > + ((id == INTEL_PCH_QEMU_DEVICE_ID_TYPE) && > + pch->subsystem_vendor == 0x1af4 && > + pch->subsystem_device == 0x1100)) { > dev_priv->pch_type = intel_virt_detect_pch(dev); > } else > continue;
On Fr, 2016-01-29 at 09:59 +0200, Jani Nikula wrote: > On Mon, 25 Jan 2016, Gerd Hoffmann <kraxel@redhat.com> wrote: > > The test for the qemu q35 south bridge added by commit > > "39bfcd52 drm/i915: more virtual south bridge detection" > > also matches on real hardware. Having the check for > > virtual systems last in the list is not enough to avoid > > that ... > > > > Refine the check by additionally verifying the pci > > subsystem id to see whenever it *really* is qemu. > > > > [ v2: fix subvendor tyops ] > > Incidentally, I just spotted [1]. Gerd, could you review that one > please, Done. > and (once it gets merged) post a follow-up changing our magic > numbers to those constants as well? Sure. cheers, Gerd
On Fri, 29 Jan 2016, Gerd Hoffmann <kraxel@redhat.com> wrote: > On Fr, 2016-01-29 at 09:59 +0200, Jani Nikula wrote: >> On Mon, 25 Jan 2016, Gerd Hoffmann <kraxel@redhat.com> wrote: >> > The test for the qemu q35 south bridge added by commit >> > "39bfcd52 drm/i915: more virtual south bridge detection" >> > also matches on real hardware. Having the check for >> > virtual systems last in the list is not enough to avoid >> > that ... >> > >> > Refine the check by additionally verifying the pci >> > subsystem id to see whenever it *really* is qemu. >> > >> > [ v2: fix subvendor tyops ] >> >> Incidentally, I just spotted [1]. Gerd, could you review that one >> please, > > Done. > >> and (once it gets merged) post a follow-up changing our magic >> numbers to those constants as well? > > Sure. Many thanks, Jani.
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 3ac616d..f357058 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -501,7 +501,9 @@ void intel_detect_pch(struct drm_device *dev) WARN_ON(!IS_SKYLAKE(dev) && !IS_KABYLAKE(dev)); } else if ((id == INTEL_PCH_P2X_DEVICE_ID_TYPE) || - (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE)) { + ((id == INTEL_PCH_QEMU_DEVICE_ID_TYPE) && + pch->subsystem_vendor == 0x1af4 && + pch->subsystem_device == 0x1100)) { dev_priv->pch_type = intel_virt_detect_pch(dev); } else continue;
The test for the qemu q35 south bridge added by commit "39bfcd52 drm/i915: more virtual south bridge detection" also matches on real hardware. Having the check for virtual systems last in the list is not enough to avoid that ... Refine the check by additionally verifying the pci subsystem id to see whenever it *really* is qemu. [ v2: fix subvendor tyops ] Reported-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- drivers/gpu/drm/i915/i915_drv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)