Set custom EDID

Zhenyu Wang zhenyuw at linux.intel.com
Mon Jul 13 07:50:59 UTC 2020


On 2020.07.10 10:10:36 +0200, Stefan Hertrampf wrote:
> Hello,
> 
> we are developing a custom hypervisor backend for GVT which (from the mediators
> perspective) behaves like XEN.
> 
> Currently, we are working with the Linux Kernel v5.4.41 and we are trying to
> pass a custom EDID to a given vGPU.
> 
> The code flow roughly looks like this:
> 
> vgpu = intel_gvt_ops->vgpu_create();
> 
> port = intel_vgpu_port(vgpu, port);
> 
> edid_data = intel_vgpu_edid_block(port);
> 
> memcpy(edid_data, custom_edid, EDID_SIZE);
> 
> We are wondering how the set_edid callback of the intel_gvt_mpt is meant to be
> used to receive the correct port where the virtual display is attached. In
> v5.4.41 it seems, the default port is PORT_B and the mediator only calls
> set_edid on certain platforms where it is a different port. Is this correct?
> 
> Is there any other method to receive the correct port?
> 
> It seems that in v5.4.41 the mediator misses to call set_edid if the platform 
> IS_COFFEELAKE, which leads to a crash because we then assume the default PORT_B
> where no memory is allocated for the EDID data.
>

oh, I wasn't awared that actually caused crash but just thought it's a feature
enabling patch. If you like to backport, I'm fine with it.

> Also in some later commits [1] the behavior is changed and the set_edid
> callback is always called passing PORT_D. Does that mean that the virtual
> display is always attached at PORT_D on newer versions of GVT?
> 

Yes.

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20200713/e49fedf8/attachment.sig>


More information about the intel-gvt-dev mailing list