Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp209080img; Tue, 19 Mar 2019 22:14:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqw51sTMsGYw7IPrU0g4IpSsafNurQebUBJiWd9lQWPoANSK1khHI4szeZ9DjuL6vb8YZTK0 X-Received: by 2002:aa7:8117:: with SMTP id b23mr6337648pfi.2.1553058856693; Tue, 19 Mar 2019 22:14:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553058856; cv=none; d=google.com; s=arc-20160816; b=QlZzrDgfWT27gKr7Nms26usHWMZU87iKt1sX8BVVWgaglhQ2KY9ulqPpPMrK9VSScP 6OaY++F1IWZtrCPGV9d42jNpXqMmc2M/efwc7G06dkE385mnbEOUFAP27ZQToRhB8Fka tsZJGgjdjXcDi7x9xqAzp1TRbHoqcxM2siJhZiy8GbrJJASLuCt2oEXGAnvu5BB40PsC BGdN8lVV4HLSPdlsSghcMHDB95jYT1KbFye7tH8HCxSDwm5+4OgwLpeD1CoLZXM65eRC NWMLKs6qJ9K9Fvk6BqSRhDwpXhDxsRAe2VTsOu6wkxNepdJ6rRh7PzhMGzeuIgi8XvWH C27g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :mime-version:references:in-reply-to:date:subject:cc:to:from; bh=pNdrXL/0HxAD4A1oi6sBnUaQE7+FMztvzpMij1M4DGk=; b=yTFbqxtat4bOuMKhKuUhT4dgMJLL3D6Cd8tYSbHNXg5f9seYOso052kgkVWX/lGnf0 muBGwDY5GySMzuagJSeg99LoLQpA2b0JcipvJ5NINQYF1xNuX6pScKoxp7ZkME1kOqXY UOCyC/ZfNg2r5KIgwmbdGhT4s3whvXEo8jGuhDMsjhs6/zWshRQ7CE5VBnOTC2LSyZxQ ltSXiGt8wldpE7OiCy6Z1sefm1Nefv/Tkmw04F4ZuUw54rhTf90Up00BzUOug2MUqWg2 UZjuqemR4KfsPPw7B9ayHNmWcK8xgDkbsxc3hwbcV+rW65OfSbjc3OlFyVU1n6PSnOCO 4h8Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p9si914754pls.151.2019.03.19.22.14.00; Tue, 19 Mar 2019 22:14:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726969AbfCTFNT (ORCPT + 99 others); Wed, 20 Mar 2019 01:13:19 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:40172 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725986AbfCTFNS (ORCPT ); Wed, 20 Mar 2019 01:13:18 -0400 Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x2K53aaS118347 for ; Wed, 20 Mar 2019 01:13:17 -0400 Received: from e06smtp05.uk.ibm.com (e06smtp05.uk.ibm.com [195.75.94.101]) by mx0a-001b2d01.pphosted.com with ESMTP id 2rbem8hedd-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 20 Mar 2019 01:13:17 -0400 Received: from localhost by e06smtp05.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 20 Mar 2019 05:13:09 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp05.uk.ibm.com (192.168.101.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 20 Mar 2019 05:13:06 -0000 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x2K5DBRj40370268 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 20 Mar 2019 05:13:11 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 43D70AE05D; Wed, 20 Mar 2019 05:13:11 +0000 (GMT) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E6787AE04D; Wed, 20 Mar 2019 05:13:10 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 20 Mar 2019 05:13:10 +0000 (GMT) Received: from adsilva.ozlabs.ibm.com (haven.au.ibm.com [9.192.254.114]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id A9BB4A0129; Wed, 20 Mar 2019 16:13:09 +1100 (AEDT) From: "Alastair D'Silva" To: alastair@d-silva.org Cc: Frederic Barrat , Andrew Donnellan , Arnd Bergmann , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 0/7] Refactor OCXL driver to allow external drivers to use it Date: Wed, 20 Mar 2019 16:08:52 +1100 X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190313041524.14644-1-alastair@au1.ibm.com> References: <20190313041524.14644-1-alastair@au1.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 x-cbid: 19032005-0020-0000-0000-000003256780 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19032005-0021-0000-0000-00002177842D Message-Id: <20190320050901.310-1-alastair@au1.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-03-20_04:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=905 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1903200044 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alastair D'Silva This series reworks the OpenCAPI driver to split frontend (driver interactions) from backend (hardware interactions). This allows external drivers to utilise the core of the generic OpenCAPI driver to communicate with specific OpenCAPI hardware. Changelog: V2: - Reorder patches as some required structs that were only available later - Add dev.release implementation for ocxl_file_info to address warning on driver unload (ocxl: Create a clear delineation...) - Set output var irq_id in ocxl_afu_irq_alloc (ocxl: afu_irq only deals...) - Bump copyright year (ocxl: Provide global MMIO accessors..., ocxl: Split pci.c) Alastair D'Silva (7): ocxl: Split pci.c ocxl: Don't pass pci_dev around ocxl: Create a clear delineation between ocxl backend & frontend ocxl: Allow external drivers to use OpenCAPI contexts ocxl: afu_irq only deals with IRQ IDs, not offsets ocxl: move event_fd handling to frontend ocxl: Provide global MMIO accessors for external drivers drivers/misc/ocxl/Makefile | 3 +- drivers/misc/ocxl/afu_irq.c | 97 ++--- drivers/misc/ocxl/context.c | 18 +- drivers/misc/ocxl/core.c | 578 ++++++++++++++++++++++++++++++ drivers/misc/ocxl/file.c | 160 ++++++--- drivers/misc/ocxl/mmio.c | 234 ++++++++++++ drivers/misc/ocxl/ocxl_internal.h | 49 +-- drivers/misc/ocxl/pci.c | 562 ++--------------------------- drivers/misc/ocxl/sysfs.c | 58 +-- drivers/misc/ocxl/trace.h | 12 +- include/misc/ocxl.h | 322 ++++++++++++++++- 11 files changed, 1390 insertions(+), 703 deletions(-) create mode 100644 drivers/misc/ocxl/core.c create mode 100644 drivers/misc/ocxl/mmio.c -- 2.20.1