From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759591AbcJRKyb (ORCPT ); Tue, 18 Oct 2016 06:54:31 -0400 Received: from mga02.intel.com ([134.134.136.20]:2795 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751635AbcJRKyV (ORCPT ); Tue, 18 Oct 2016 06:54:21 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,361,1473145200"; d="scan'208,217";a="774013131" From: Jani Nikula To: Stephen Hemminger , Greg KH , KY Srinivasan , Haiyang Zhang , corbet@lwn.net Cc: devel@linuxdriverproject.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Subject: Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic In-Reply-To: <20161017123319.1e1fd706@xeon-e3> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20161017122959.21e29605@xeon-e3> <20161017123319.1e1fd706@xeon-e3> Date: Tue, 18 Oct 2016 13:54:16 +0300 Message-ID: <87mvi2vsfb.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 17 Oct 2016, Stephen Hemminger wrote: > From: Stephen Hemminger > > Update UIO documentation to include basic information about > uio_hv_generic. How about converting to Sphinx/reStructuredText first...? It's not a big file... BR, Jani. > > Signed-off-by: Stephen Hemminger > --- > Documentation/DocBook/uio-howto.tmpl | 62 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 62 insertions(+) > > diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl > index cd0e452..5210f8a 100644 > --- a/Documentation/DocBook/uio-howto.tmpl > +++ b/Documentation/DocBook/uio-howto.tmpl > @@ -46,6 +46,13 @@ GPL version 2. > > > > + 0.10 > + 2016-10-17 > + sch > + Added generic hyperv driver > + > + > + > 0.9 > 2009-07-16 > mst > @@ -1033,6 +1040,61 @@ int main() > > > > + > + > +Generic Hyper-V UIO driver > + > + The generic driver is a kernel module named uio_hv_generic. > + It supports devices on the Hyper-V VMBus similar to uio_pci_generic > + on PCI bus. > + > + > + > +Making the driver recognize the device > + > +Since the driver does not declare any device GUID's, it will not get loaded > +automatically and will not automatically bind to any devices, you must load it > +and allocate id to the driver yourself. For example, to use the network device > +GUID: > + > + modprobe uio_hv_generic > + echo "f8615163-df3e-46c5-913f-f2d2f965ed0e" > /sys/bus/vmbus/drivers/uio_hv_generic/new_id > + > + > + > +If there already is a hardware specific kernel driver for the device, the > +generic driver still won't bind to it, in this case if you want to use the > +generic driver (why would you?) you'll have to manually unbind the hardware > +specific driver and bind the generic driver, like this: > + > + echo -n vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3 > /sys/bus/vmbus/drivers/hv_netvsc/unbind > + echo -n vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3 > /sys/bus/vmbus/drivers/uio_hv_generic/bind > + > + > + > +You can verify that the device has been bound to the driver > +by looking for it in sysfs, for example like the following: > + > + ls -l /sys/bus/vmbus/devices/vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3/driver > + > +Which if successful should print > + > + .../vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3/driver -> ../../../bus/vmbus/drivers/uio_hv_generic > + > + > + > + > + > +Things to know about uio_hv_generic > + > +On each interrupt, uio_hv_generic sets the Interrupt Disable bit. > +This prevents the device from generating further interrupts > +until the bit is cleared. The userspace driver should clear this > +bit before blocking and waiting for more interrupts. > + > + > + > + > > Further information > -- Jani Nikula, Intel Open Source Technology Center