From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751978AbaHTAyi (ORCPT ); Tue, 19 Aug 2014 20:54:38 -0400 Received: from mail-by2lp0241.outbound.protection.outlook.com ([207.46.163.241]:36776 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751647AbaHTAyh (ORCPT ); Tue, 19 Aug 2014 20:54:37 -0400 From: "J. German Rivera" To: , , CC: , Subject: [RFC PATCH 0/4 v2] drivers/bus: Freescale Management Complex bus driver patch series Date: Tue, 19 Aug 2014 19:54:26 -0500 Message-ID: <1408496070-6252-1-git-send-email-German.Rivera@freescale.com> X-Mailer: git-send-email 1.7.9.7 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:CAL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(6009001)(199003)(189002)(87286001)(81342001)(69596002)(50226001)(104166001)(86362001)(44976005)(62966002)(92566001)(6806004)(83322001)(77156001)(50986999)(97736001)(26826002)(84676001)(83072002)(99396002)(68736004)(107046002)(81156004)(4396001)(93916002)(87936001)(89996001)(77982001)(36756003)(74502001)(229853001)(102836001)(74662001)(76482001)(31966008)(104016003)(106466001)(48376002)(64706001)(80022001)(81542001)(79102001)(88136002)(92726001)(50466002)(105606002)(85306004)(21056001)(2201001)(46102001)(95666004)(85852003)(47776003)(20776003)(217873001);DIR:OUT;SFP:;SCL:1;SRVR:BN1PR0301MB0737;H:az84smr01.freescale.net;FPR:;MLV:ovrnspm;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;UriScan:; X-Forefront-PRVS: 03094A4065 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=German.Rivera@freescale.com; X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series introduces Linux support for the Freescale Management Complex (fsl-mc) hardware. The fsl-mc is a hardware resource manager that manages specialized hardware objects used in network-oriented packet processing applications. After the fsl-mc block is enabled, pools of hardware resources are available, such as queues, buffer poools, I/O interfaces. These resources are building blocks that can be used to create functional hardware objects such as network interfaces, crypto accelerator instances, or L2 switches. All the fsl-mc managed hardware resources/objects are represented in a physical grouping mechanism called a 'container' or DPRC (data path resource container). >>From the point of view of an OS, a DPRC functions similar to a plug and play bus. Using fsl-mc commands software can enumerate the contents of the DPRC discovering the hardware objects present and binding them to drivers. Hardware objects can be created and removed dynamically, providing hot pluggability of the hardware objects. Software contexts interact with the fsl-mc by sending commands through a memory mapped hardware interface called an "MC portal". Every fsl-mc object type has a command set to manage the objects. Key DPRC commands include: -create/destroy a DPRC -enumerate objects and resource pools in the DPRC, including identifying mappable regions and the number of IRQs an object may have -IRQ configuration -move objects/resources between DPRCs -connecting objects (e.g. connecting a network interface to an L2 switch port) -reset Patch 1 contains a minimal set of low level functions to send an d receive commands to the fsl-mc. It includes support for basic management commands and commands to manipulate DPRC objects. Patch 2 contains a platform device driver that sets up and registers the basic bus infrastructure including support for adding/removing devices, register/unregister of drivers, and bus match support to bind devices to drivers. Patch 3 contains an driver that manages DPRC objects (the container that holds the hardware resources). This driver functions as a bus controller and handles enumeration of the objects in the container and hotplug events. Patch 4 contains the update to the MAINTAINERS file.