ACRN:DM:VDisplay: vdpy_init connection returns the supported number of vScreen
Vdisplay module will create the gui_window (vScreen) based on the virtio-gpu parameter. When virtio-gpu device tries to establish the connection with vdisplay module, it will return the supported number of vScreen. Then the virtio-gpu device can initialize the correct info for the guest_vm. BTW: The number is fixed to 1. Tracked-On: #7988 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Reviewed-by: Peng Sun <peng.p.sun@linux.intel.com>
This commit is contained in:
parent
ad67215d4b
commit
6407de302c
|
@ -1485,7 +1485,7 @@ virtio_gpu_init(struct vmctx *ctx, struct pci_vdev *dev, char *opts)
|
||||||
gpu->vq,
|
gpu->vq,
|
||||||
BACKEND_VBSU);
|
BACKEND_VBSU);
|
||||||
|
|
||||||
gpu->vdpy_handle = vdpy_init();
|
gpu->vdpy_handle = vdpy_init(NULL);
|
||||||
gpu->base.mtx = &gpu->mtx;
|
gpu->base.mtx = &gpu->mtx;
|
||||||
gpu->base.device_caps = VIRTIO_GPU_S_HOSTCAPS;
|
gpu->base.device_caps = VIRTIO_GPU_S_HOSTCAPS;
|
||||||
|
|
||||||
|
|
|
@ -1069,7 +1069,7 @@ bool vdpy_submit_bh(int handle, struct vdpy_display_bh *bh_task)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
vdpy_init()
|
vdpy_init(int *num_vscreens)
|
||||||
{
|
{
|
||||||
int err, count;
|
int err, count;
|
||||||
|
|
||||||
|
@ -1100,6 +1100,8 @@ vdpy_init()
|
||||||
}
|
}
|
||||||
|
|
||||||
vdpy.s.n_connect++;
|
vdpy.s.n_connect++;
|
||||||
|
if (num_vscreens)
|
||||||
|
*num_vscreens = 1;
|
||||||
return vdpy.s.n_connect;
|
return vdpy.s.n_connect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ struct cursor {
|
||||||
|
|
||||||
int vdpy_parse_cmd_option(const char *opts);
|
int vdpy_parse_cmd_option(const char *opts);
|
||||||
int gfx_ui_init();
|
int gfx_ui_init();
|
||||||
int vdpy_init();
|
int vdpy_init(int *num_vscreens);
|
||||||
void vdpy_get_display_info(int handle, int scanout_id, struct display_info *info);
|
void vdpy_get_display_info(int handle, int scanout_id, struct display_info *info);
|
||||||
void vdpy_surface_set(int handle, int scanout_id, struct surface *surf);
|
void vdpy_surface_set(int handle, int scanout_id, struct surface *surf);
|
||||||
void vdpy_surface_update(int handle, int scanout_id, struct surface *surf);
|
void vdpy_surface_update(int handle, int scanout_id, struct surface *surf);
|
||||||
|
|
Loading…
Reference in New Issue