linux-hyperv.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dexuan Cui <decui@microsoft.com>
To: Deepak Rawat <drawat.floss@gmail.com>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Cc: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	KY Srinivasan <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>, Wei Hu <weh@microsoft.com>,
	Jork Loeser <Jork.Loeser@microsoft.com>,
	Michael Kelley <mikelley@microsoft.com>
Subject: RE: [RFC PATCH 1/2] drm/hyperv: Add DRM driver for hyperv synthetic video device
Date: Tue, 23 Jun 2020 21:58:57 +0000	[thread overview]
Message-ID: <HK0P153MB03226AB1A353EDFD62EA4ECDBF940@HK0P153MB0322.APCP153.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <aa7ab349ff502390edea4fd5721dbd64a0997216.camel@gmail.com>

> From: linux-hyperv-owner@vger.kernel.org
> <linux-hyperv-owner@vger.kernel.org> On Behalf Of Deepak Rawat
> Sent: Monday, June 22, 2020 11:49 PM
> > [...]
> > Some quick comments:
> > 1. hyperv_vmbus_probe() assumes the existence of the PCI device,
> > which
> > is not true in a Hyper-V Generation-2 VM.
> 
> I guess that mean for Gen-2 VM need to rely on vmbus_allocate_mmio to
> get the VRAM memory? From what I understand the pci interface anyway
> maps to vmbus.

In a Hyper-V Generaton-2 VM, there is not the legacy Hyper-V PCI framebuffer
device, so we have to call vmbus_allocate_mmio() to get a proper MMIO 
range and use that as the VRAM memory.

BTW, what's the equivlent of FB_DEFERRED_IO in DRM? Have the patch
implemented the similar thing for DRM like this for FB in this patch:
d21987d709e8 ("video: hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver")

There is also another important performance improvement patch:
3a6fb6c4255c ("video: hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs.")
Is the same idea applicable to this DRM patch?

The pci-hyperv FB driver and this DRM driver should not try to load at
the same time. Not sure what should be done to make sure that won't happen.

> > 2. It looks some other functionality in the hyperv_fb driver has not
> > been
> > implemented in this new driver either, e.g. the handling of the
> > SYNTHVID_FEATURE_CHANGE msg.
> 
> I deliberately left this and things seems to work without this, maybe I
> need to do more testing. I don't really understand the use-case
> of SYNTHVID_FEATURE_CHANGE. I observed this message was received just
> after vmbus connect and DRM is not yet initialized so no point updating
> the situation. Even otherwise situation (mode, damage, etc.) is
> triggered from user-space, not sure what to update. But will definitely
> clarify on this.

When Linux VM updates the VRAM, Linux should notify the host of the
dirty rectangle, and then the host refreshes the rectangle in the VM
Connectin window so the user sees the updated part of the screen.

I remember when the user closes the VM Connection window, the host
sends the VM a msg with msg->feature_chg.is_dirt_needed=0, so the VM
doesn't have to notify the host of the dirty rectangle; when the VM
Connection program runs again, the VM will receive a msg with
msg->feature_chg.is_dirt_needed=1.

Thanks,
-- Dexuan


  reply	other threads:[~2020-06-23 21:59 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-22 11:06 [RFC PATCH 0/2] DRM driver for hyper-v synthetic video device Deepak Rawat
2020-06-22 11:06 ` [RFC PATCH 1/2] drm/hyperv: Add DRM driver for hyperv " Deepak Rawat
2020-06-22 12:46   ` Gerd Hoffmann
2020-06-22 22:20     ` Deepak Rawat
2020-06-23  9:42       ` Daniel Vetter
2020-06-23 16:17         ` Gerd Hoffmann
2020-06-25  0:47           ` Deepak Rawat
2020-06-22 15:19   ` Sam Ravnborg
2020-06-22 22:43     ` Deepak Rawat
2020-06-23  7:59     ` Thomas Zimmermann
2020-06-23  9:12       ` Deepak Rawat
2020-06-23  9:19         ` Thomas Zimmermann
2020-06-23  2:31   ` Dexuan Cui
2020-06-23  6:48     ` Deepak Rawat
2020-06-23 21:58       ` Dexuan Cui [this message]
2020-06-22 11:06 ` [RFC PATCH 2/2] MAINTAINERS: Add maintainer for hyperv " Deepak Rawat
2020-06-28 23:01 ` [RFC PATCH 0/2] DRM driver for hyper-v synthetic " Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=HK0P153MB03226AB1A353EDFD62EA4ECDBF940@HK0P153MB0322.APCP153.PROD.OUTLOOK.COM \
    --to=decui@microsoft.com \
    --cc=Jork.Loeser@microsoft.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=drawat.floss@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=haiyangz@microsoft.com \
    --cc=kys@microsoft.com \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mikelley@microsoft.com \
    --cc=mripard@kernel.org \
    --cc=sthemmin@microsoft.com \
    --cc=weh@microsoft.com \
    --cc=wei.liu@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).