Skip to content

Conversation

@bosheng1
Copy link

No description provided.

bosheng1 added 30 commits April 16, 2025 16:32
bosheng1 and others added 13 commits April 16, 2025 16:33
from PKT kernel, add function virtio_gpu_find_vqs

virtio device needs to delete before VM suspend happens
then reinitialize all virtqueues again upon resume

Tracked-On: OAM-130450
Signed-off-by: Zhao, Shirley <[email protected]>
Signed-off-by: Dongwon Kim <[email protected]>
from PKT kernel

Host KVM/QEMU loses all graphic resourses submitted by guest OS upon
resumption from sleep or hibernation. This will cause invalid resource
errors when the guest OS makes any request to the host regarding those
resources. One way to prevent this problem is to let virtio-gpu driver
resubmit all existing resources upon resumption. A linked-list for
keeping references of all created virtio_gpu_object and its params is
added for this save and restore mechanism. Virtio-gpu objects are added
to the list whenever a new object is created and sent to the host.
All backed-up objects will then be re-sent to the host in .resume
function with 'create resource' virtio gpu command.

Tracked-On: OAM-130450
Signed-off-by: Zhao, Shirley <[email protected]>
Signed-off-by: Dongwon Kim <[email protected]>
shirley update

Add tiling support featured with feature bit VIRTIO_GPU_F_MODIFIER,
so buffer created by virtio gpu with intel_x_tiling
and intel_y_tiling format could be rendered directly by i915.

Tracked-On: OAM-130450
Change-Id: I8c6447736c4edbc8947ab0ea7b72d48d9e85a7c4
Signed-off-by: hangliu1 <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
The gem buffer created by i915 in guest vm may be
smaller than the resolution determined by the
mode setting operation. In that case, a new framebuffer
may be created by virtio gpu driver, and i915 rendering
must be utilized to do the composition. To save the
effort, pass the dst crtc info to the backend which will
scale the gem buffer to the crtc.

Tests done:
- Android Boot / reboot / recovery
- Android Boot using ACRN / fastboot
- Wifi / Wifi Hotspot
- BT / File Transfer
- Audio / Video Playback
- ADB
- Web Browsing
- Settings
- Type C check
- Factory reset

Tracked-On: OAM-130450
Signed-off-by: Hang Liu<[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
virtio backend set the vblank queue number
in the config space, since vblank interrupt reuse
the virtio queue interrupt.

Tests done:
- Android Boot / reboot / recovery
- Android Boot using ACRN / fastboot
- Wifi / Wifi Hotspot
- BT / File Transfer
- Audio / Video Playback
- ADB
- Web Browsing
- Settings
- Type C check
- Factory reset

Tracked-On: OAM-130450
Signed-off-by: Hang Liu<[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
virtio gpu backend inject virtual vblank interrupt
for each virtio gpu crtc. The purpose for doing this
is to avoid the potential image tearing caused by the
concurrent accessing the same framebuffer by rendering
engine in guest and display engine in host.

Tests done:
- Android Boot / reboot / recovery
- Android Boot using ACRN / fastboot
- Wifi / Wifi Hotspot
- BT / File Transfer
- Audio / Video Playback
- ADB
- Web Browsing
- Settings
- Type C check
- Factory reset

Tracked-On: OAM-130450
Signed-off-by: Hang Liu<[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
set vblank on/off during atomic enable/disable, add vblank_get
to protect vblank event operation, process vblank during virtio gpu restore.

Tracked-On: OAM-130450
Signed-off-by: Xue, Bosheng <[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
Tile-4 is supported by Intel DG2. Support it could benefit performance.

Tracked-On: OAM-130450
Signed-off-by: HeYue <[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
put set modifier ahead of set scanout to avoid set scaout operation can not
get the lastest modifier, and refine set modifer api to pass resource id to
backend.

Tracked-On: OAM-130450
Signed-off-by: Xue, Bosheng <[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants