diff options
author | Ed Tanous <ed.tanous@intel.com> | 2019-03-26 20:20:25 +0300 |
---|---|---|
committer | Ed Tanous <ed@tanous.net> | 2019-03-29 02:02:11 +0300 |
commit | 66d082174669a8c7f311572e8922d2ba396cc07f (patch) | |
tree | 8ee87ddeaa6fc5e3ebbee623fe46e2876d4184ba /meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm | |
parent | f7b06037d0c10e98a58a3b0a1feaf511aedc52ae (diff) | |
download | openbmc-66d082174669a8c7f311572e8922d2ba396cc07f.tar.xz |
Update to internal
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm')
3 files changed, 3 insertions, 145 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Fix-video-restarting-sync-issue.patch b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Fix-video-restarting-sync-issue.patch deleted file mode 100644 index 0c9267796..000000000 --- a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Fix-video-restarting-sync-issue.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 561e73cf200fa25a2c2f1ede4e4c899e192a95a4 Mon Sep 17 00:00:00 2001 -From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> -Date: Wed, 6 Mar 2019 15:39:58 -0800 -Subject: [PATCH] Fix video restarting sync issue - -There is a video start/stop sync issue inbetween ikvm server and -ikvm manager because newClient and clientGone callback called -by a different thread from libvncserver. To fix this issue, this -commit moves the video.start() call from server to manager to -unify video control thread. - -Tested: - Open KVM web page and reload the web page by pressing F5. - KVM page should be reloaded correctly. - -Change-Id: Ic0d14ea712510318e9e8f45615a95e82aeaaddf1 -Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> ---- - ikvm_manager.cpp | 1 + - ikvm_server.cpp | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/ikvm_manager.cpp b/ikvm_manager.cpp -index 5e014d057410..d56110dd977f 100644 ---- a/ikvm_manager.cpp -+++ b/ikvm_manager.cpp -@@ -21,6 +21,7 @@ void Manager::run() - { - if (server.wantsFrame()) - { -+ video.start(); - video.getFrame(); - server.sendFrame(); - } -diff --git a/ikvm_server.cpp b/ikvm_server.cpp -index 37a927b9d418..35310da292be 100644 ---- a/ikvm_server.cpp -+++ b/ikvm_server.cpp -@@ -154,6 +154,7 @@ void Server::clientGone(rfbClientPtr cl) - Server* server = (Server*)cl->screen->screenData; - - delete (ClientData*)cl->clientData; -+ cl->clientData = nullptr; - - if (server->numClients-- == 1) - { -@@ -173,7 +174,6 @@ enum rfbNewClientAction Server::newClient(rfbClientPtr cl) - { - server->pendingResize = false; - server->frameCounter = 0; -- server->video.start(); - } - - return RFB_CLIENT_ACCEPT; --- -2.7.4 - diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0002-Restart-video-when-mode-detection-is-failed.patch b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0002-Restart-video-when-mode-detection-is-failed.patch deleted file mode 100644 index 9219b7dd0..000000000 --- a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0002-Restart-video-when-mode-detection-is-failed.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 474addee4ed8da523bdc1cfe609099f9ebfb6f07 Mon Sep 17 00:00:00 2001 -From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> -Date: Fri, 15 Mar 2019 15:21:51 -0700 -Subject: [PATCH] Restart video when mode detection is failed - -KVM sometimes stops when video mode is changed. This commit adds -video restarting logic for the case. - -Tested: - 1. Open BMCWeb -> Server control -> KVM - 2. Checked KVM screen update while restarting the host. It - updates all frames even when video mode changes happen. - -Change-Id: If986394110986e49a6eaac1ae2859208fa7681f5 -Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> ---- - ikvm_video.cpp | 23 +++++++++++++---------- - ikvm_video.hpp | 6 ++++++ - 2 files changed, 19 insertions(+), 10 deletions(-) - -diff --git a/ikvm_video.cpp b/ikvm_video.cpp -index ed5ed92ef131..a34cdf2c083f 100644 ---- a/ikvm_video.cpp -+++ b/ikvm_video.cpp -@@ -155,6 +155,7 @@ bool Video::needsResize() - { - log<level::ERR>("Failed to query timings", - entry("ERROR=%s", strerror(errno))); -+ restart(); - return false; - } - -@@ -265,17 +266,19 @@ void Video::resize() - xyz::openbmc_project::Common::Device::ReadFailure:: - CALLOUT_DEVICE_PATH(path.c_str())); - } -- -- rc = ioctl(fd, VIDIOC_S_DV_TIMINGS, &timings); -- if (rc < 0) -+ else - { -- log<level::ERR>("Failed to set timings", -- entry("ERROR=%s", strerror(errno))); -- elog<ReadFailure>( -- xyz::openbmc_project::Common::Device::ReadFailure:: -- CALLOUT_ERRNO(errno), -- xyz::openbmc_project::Common::Device::ReadFailure:: -- CALLOUT_DEVICE_PATH(path.c_str())); -+ rc = ioctl(fd, VIDIOC_S_DV_TIMINGS, &timings); -+ if (rc < 0) -+ { -+ log<level::ERR>("Failed to set timings", -+ entry("ERROR=%s", strerror(errno))); -+ elog<ReadFailure>( -+ xyz::openbmc_project::Common::Device::ReadFailure:: -+ CALLOUT_ERRNO(errno), -+ xyz::openbmc_project::Common::Device::ReadFailure:: -+ CALLOUT_DEVICE_PATH(path.c_str())); -+ } - } - - buffers.clear(); -diff --git a/ikvm_video.hpp b/ikvm_video.hpp -index 0e5f3afb27b4..faaa57d36f1a 100644 ---- a/ikvm_video.hpp -+++ b/ikvm_video.hpp -@@ -50,6 +50,12 @@ class Video - void start(); - /* @brief Stops streaming from the video device */ - void stop(); -+ /* @brief Restarts streaming from the video device */ -+ void restart() -+ { -+ stop(); -+ start(); -+ } - - /* - * @brief Gets the desired video frame rate in frames per second --- -2.7.4 - diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb index 7002134db..f69382440 100644 --- a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb +++ b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb @@ -1,15 +1,12 @@ SUMMARY = "OpenBMC VNC server and ipKVM daemon" DESCRIPTION = "obmc-ikvm is a vncserver for JPEG-serving V4L2 devices to allow ipKVM" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e" DEPENDS = " libvncserver sdbusplus sdbusplus-native phosphor-logging phosphor-dbus-interfaces autoconf-archive-native" SRC_URI = "git://github.com/openbmc/obmc-ikvm" -SRCREV = "2bc661d34abd1fda92a9d2b256ed88ca0e90d09a" -SRC_URI += "file://0001-Fix-video-restarting-sync-issue.patch \ - file://0002-Restart-video-when-mode-detection-is-failed.patch \ - " +SRCREV = "f6ed0e75b05b573345e4f3eb9d80e677f98992ac" PR = "r1" PR_append = "+gitr${SRCPV}" |