All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] driver enhancement for Intel IGD passthrough
@ 2015-04-16 17:24 Tian, Kevin
  2015-04-20 18:12 ` Alex Williamson
  0 siblings, 1 reply; 4+ messages in thread
From: Tian, Kevin @ 2015-04-16 17:24 UTC (permalink / raw)
  To: mst, kraxel, pbonzini, rth; +Cc: Chen, Tiejun, Kay, Allen M, qemu-devel

ping...

> From: Tian, Kevin
> Sent: Friday, April 10, 2015 10:33 AM
> 
> Hi,
> 
> We are working on Linux/Windows graphics driver enhancement to
> remove those non-standard PCI resource accesses, e.g. to PCH/MCH
> registers, in parallel with the ongoing effort from Tiejun on current
> driver support.
> 
> When the goal is to make IGD passthrough like a standard PCI
> passthrough w/o IGD specific patches, there is one open about VBT
> table which contains important display information (resolution,
> timing, etc.) for embedded panels (e.g. on laptop) which may not
> be detected through normal EDID query interface. Lacking of VBT
> may lead to a suboptimal display quality and other tricky issues.
> 
> So we want to hear your opinions whether it makes sense to you
> to only maintain one IGD specific logic by exposing VBT through
> OpRegion to the guest. Except it all current IGD specific tweaks
> will not be required in the future w/ planned driver enhancements.
> 
> Thanks
> Kevin

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] driver enhancement for Intel IGD passthrough
  2015-04-16 17:24 [Qemu-devel] driver enhancement for Intel IGD passthrough Tian, Kevin
@ 2015-04-20 18:12 ` Alex Williamson
  2015-05-04  8:08   ` Tian, Kevin
  0 siblings, 1 reply; 4+ messages in thread
From: Alex Williamson @ 2015-04-20 18:12 UTC (permalink / raw)
  To: Tian, Kevin
  Cc: mst, Kay, Allen M, qemu-devel, kraxel, pbonzini, Chen, Tiejun, rth

On Thu, 2015-04-16 at 17:24 +0000, Tian, Kevin wrote:
> ping...
> 
> > From: Tian, Kevin
> > Sent: Friday, April 10, 2015 10:33 AM
> > 
> > Hi,
> > 
> > We are working on Linux/Windows graphics driver enhancement to
> > remove those non-standard PCI resource accesses, e.g. to PCH/MCH
> > registers, in parallel with the ongoing effort from Tiejun on current
> > driver support.
> > 
> > When the goal is to make IGD passthrough like a standard PCI
> > passthrough w/o IGD specific patches, there is one open about VBT
> > table which contains important display information (resolution,
> > timing, etc.) for embedded panels (e.g. on laptop) which may not
> > be detected through normal EDID query interface. Lacking of VBT
> > may lead to a suboptimal display quality and other tricky issues.
> > 
> > So we want to hear your opinions whether it makes sense to you
> > to only maintain one IGD specific logic by exposing VBT through
> > OpRegion to the guest. Except it all current IGD specific tweaks
> > will not be required in the future w/ planned driver enhancements.

Hi Kevin,

I found the VBT in chapter 4 here:

https://01.org/linuxgraphics/sites/default/files/documentation/acpi_igd_opregion_spec.pdf

        How ASL/Driver use it:
        
        The system BIOS during, POST, decompresses (if necessary) the
        video BIOS image to physical RAM, scans VBIOS image, and copies
        ONLY the VBT block (all of the VBT data including its header) to
        OpRegion memory. This must be done whether IGD is primary or
        secondary VGA, and after VBIOS POST. The driver, during
        initialization, reads this data, validates it, and uses it.

So this sounds like a simple extension required in SeaBIOS and OVMF to
perform this additional operation to create this opregion in guest
memory, right?  I'm not really seeing why this needs to be anything
special beyond some guest BIOS code and maybe some procedure to extract
the VBIOS from the host or expose it through sysfs.  I'd expect we need
a VBIOS to initialize the card in the guest anyway.  There isn't really
any requirement to pass through the host VBT, is there?  Seems like we
can recreate it ourselves once we have the VBIOS.  If that's the case,
it seems fairly agreeable to me, especially if it's more of an
optimization than a requirement.  Thanks,

Alex

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] driver enhancement for Intel IGD passthrough
  2015-04-20 18:12 ` Alex Williamson
@ 2015-05-04  8:08   ` Tian, Kevin
  0 siblings, 0 replies; 4+ messages in thread
From: Tian, Kevin @ 2015-05-04  8:08 UTC (permalink / raw)
  To: Alex Williamson
  Cc: mst, Kay, Allen M, qemu-devel, kraxel, pbonzini, Chen, Tiejun, rth

> From: Alex Williamson [mailto:alex.williamson@redhat.com]
> Sent: Tuesday, April 21, 2015 2:13 AM
> On Thu, 2015-04-16 at 17:24 +0000, Tian, Kevin wrote:
> > ping...
> >
> > > From: Tian, Kevin
> > > Sent: Friday, April 10, 2015 10:33 AM
> > >
> > > Hi,
> > >
> > > We are working on Linux/Windows graphics driver enhancement to
> > > remove those non-standard PCI resource accesses, e.g. to PCH/MCH
> > > registers, in parallel with the ongoing effort from Tiejun on current
> > > driver support.
> > >
> > > When the goal is to make IGD passthrough like a standard PCI
> > > passthrough w/o IGD specific patches, there is one open about VBT
> > > table which contains important display information (resolution,
> > > timing, etc.) for embedded panels (e.g. on laptop) which may not
> > > be detected through normal EDID query interface. Lacking of VBT
> > > may lead to a suboptimal display quality and other tricky issues.
> > >
> > > So we want to hear your opinions whether it makes sense to you
> > > to only maintain one IGD specific logic by exposing VBT through
> > > OpRegion to the guest. Except it all current IGD specific tweaks
> > > will not be required in the future w/ planned driver enhancements.
> 
> Hi Kevin,
> 
> I found the VBT in chapter 4 here:
> 
> https://01.org/linuxgraphics/sites/default/files/documentation/acpi_igd_opre
> gion_spec.pdf
> 
>         How ASL/Driver use it:
> 
>         The system BIOS during, POST, decompresses (if necessary) the
>         video BIOS image to physical RAM, scans VBIOS image, and copies
>         ONLY the VBT block (all of the VBT data including its header) to
>         OpRegion memory. This must be done whether IGD is primary or
>         secondary VGA, and after VBIOS POST. The driver, during
>         initialization, reads this data, validates it, and uses it.
> 
> So this sounds like a simple extension required in SeaBIOS and OVMF to
> perform this additional operation to create this opregion in guest
> memory, right?  I'm not really seeing why this needs to be anything
> special beyond some guest BIOS code and maybe some procedure to extract
> the VBIOS from the host or expose it through sysfs.  I'd expect we need
> a VBIOS to initialize the card in the guest anyway.  There isn't really
> any requirement to pass through the host VBT, is there?  Seems like we
> can recreate it ourselves once we have the VBIOS.  If that's the case,
> it seems fairly agreeable to me, especially if it's more of an
> optimization than a requirement.  Thanks,
> 
> Alex

either presenting VBT in guest BIOS or in guest OpRegion is OK because
guest driver will try another if one is lacking. You can even create a new
VBT with filtered information. 

Here the background of this ask, is that we initially plan to make IGD 
passthru exactly same as normal PCI passthru w/o IGD specific patches, 
by providing driver enhancements, however w/o a valid VBT presented 
there will be feature/quality impact on some platforms. 

So we want to know whether keeping this very IGD specific logic only for
VBT is acceptable to the community, after removing other hacks on
MCH/ICH, etc.

Looks from your feedback it should be fine. :-)

Thanks
Kevin


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] driver enhancement for Intel IGD passthrough
@ 2015-04-10  2:32 Tian, Kevin
  0 siblings, 0 replies; 4+ messages in thread
From: Tian, Kevin @ 2015-04-10  2:32 UTC (permalink / raw)
  To: mst, kraxel, pbonzini, rth; +Cc: Chen, Tiejun, Kay, Allen M, qemu-devel

Hi,

We are working on Linux/Windows graphics driver enhancement to 
remove those non-standard PCI resource accesses, e.g. to PCH/MCH
registers, in parallel with the ongoing effort from Tiejun on current
driver support. 

When the goal is to make IGD passthrough like a standard PCI 
passthrough w/o IGD specific patches, there is one open about VBT 
table which contains important display information (resolution, 
timing, etc.) for embedded panels (e.g. on laptop) which may not 
be detected through normal EDID query interface. Lacking of VBT 
may lead to a suboptimal display quality and other tricky issues.

So we want to hear your opinions whether it makes sense to you 
to only maintain one IGD specific logic by exposing VBT through 
OpRegion to the guest. Except it all current IGD specific tweaks
will not be required in the future w/ planned driver enhancements.

Thanks
Kevin

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-05-04  8:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-16 17:24 [Qemu-devel] driver enhancement for Intel IGD passthrough Tian, Kevin
2015-04-20 18:12 ` Alex Williamson
2015-05-04  8:08   ` Tian, Kevin
  -- strict thread matches above, loose matches on Subject: below --
2015-04-10  2:32 Tian, Kevin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.