From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH v9 00/15] octeontx2-af: Add RVU Admin Function driver Date: Wed, 10 Oct 2018 10:07:31 -0700 (PDT) Message-ID: <20181010.100731.1084741041103497616.davem@davemloft.net> References: <1539175475-5351-1-git-send-email-sunil.kovvuri@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, arnd@arndb.de, linux-soc@vger.kernel.org, sgoutham@marvell.com To: sunil.kovvuri@gmail.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:39868 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726562AbeJKAaf (ORCPT ); Wed, 10 Oct 2018 20:30:35 -0400 In-Reply-To: <1539175475-5351-1-git-send-email-sunil.kovvuri@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: sunil.kovvuri@gmail.com Date: Wed, 10 Oct 2018 18:14:20 +0530 > Resource virtualization unit (RVU) on Marvell's OcteonTX2 SOC maps HW > resources from the network, crypto and other functional blocks into > PCI-compatible physical and virtual functions. Each functional block > again has multiple local functions (LFs) for provisioning to PCI devices. > RVU supports multiple PCIe SRIOV physical functions (PFs) and virtual > functions (VFs). PF0 is called the administrative / admin function (AF) > and has privileges to provision RVU functional block's LFs to each of the > PF/VF. > > RVU managed networking functional blocks > - Network pool allocator (NPA) > - Network interface controller (NIX) > - Network parser CAM (NPC) > - Schedule/Synchronize/Order unit (SSO) > > RVU managed non-networking functional blocks > - Crypto accelerator (CPT) > - Scheduled timers unit (TIM) > - Schedule/Synchronize/Order unit (SSO) > Used for both networking and non networking usecases > - Compression (upcoming in future variants of the silicons) > > Resource provisioning examples > - A PF/VF with NIX-LF & NPA-LF resources works as a pure network device > - A PF/VF with CPT-LF resource works as a pure cyrpto offload device. > > This admin function driver neither receives any data nor processes it i.e > no I/O, a configuration only driver. > > PF/VFs communicates with AF via a shared memory region (mailbox). Upon > receiving requests from PF/VF, AF does resource provisioning and other > HW configuration. AF is always attached to host, but PF/VFs may be used > by host kernel itself, or attached to VMs or to userspace applications > like DPDK etc. So AF has to handle provisioning/configuration requests > sent by any device from any domain. > > This patch series adds logic for the following > - RVU AF driver with functional blocks provisioning support. > - Mailbox infrastructure for communication between AF and PFs. > - CGX (MAC controller) driver which communicates with firmware for > managing physical ethernet interfaces. AF collects info from this > driver and forwards the same to the PF/VFs uaing these interfaces. > > This is the first set of patches out of 80+ patches. Series applied. Please address Arnd's feedback about your usleep based timeout loops as a follow-on. Thank you.