VirtualBox

Ignore:
Timestamp:
Sep 8, 2016 6:46:39 PM (8 years ago)
Author:
vboxsync
Message:

bugref:8584: HGSMISetHostGuestFlags() assertion: make the Linux vboxvideo driver report the host flags location to the host before enabling interrupts, as the host sets flags when sending interrupts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/drm/vbox_mode.c

    r62568 r63771  
    107107                                pitch, width, height,
    108108                                vbox_crtc->blanked ? 0 : bpp, flags);
    109     VBoxHGSMIReportFlagsLocation(&vbox->submit_info,   vbox->vram_map_start
    110                                                      + vbox->host_flags_offset);
    111109    LogFunc(("vboxvideo: %d\n", __LINE__));
    112110}
     
    507505    vbox_connector = to_vbox_connector(connector);
    508506    vbox = connector->dev->dev_private;
     507    /* Heuristic: we do not want to tell the host that we support dynamic
     508     * resizing unless we feel confident that the user space client using
     509     * the video driver can handle hot-plug events.  So the first time modes
     510     * are queried after a "master" switch we tell the host that we do not,
     511     * and immediately after we send the client a hot-plug notification as
     512     * a test to see if they will respond and query again.
     513     * That is also the reason why capabilities are reported to the host at
     514     * this place in the code rather than elsewhere.
     515     * We need to report the flags location before reporting the IRQ
     516     * capability. */
     517    VBoxHGSMIReportFlagsLocation(&vbox->submit_info,   vbox->vram_map_start
     518                                                     + vbox->host_flags_offset);
    509519    if (vbox_connector->vbox_crtc->crtc_id == 0)
    510         vbox_enable_caps(vbox);
     520        vbox_report_caps(vbox);
    511521    if (!vbox->initial_mode_queried) {
    512522        if (vbox_connector->vbox_crtc->crtc_id == 0) {
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette