Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2420583pxb; Tue, 13 Apr 2021 01:10:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQzzSetllEWYo4ZIbbgiXo3sDq8XfGzMa/5z+D0QWvKW3dkmA0za51/PifhGKoKsjZ55Ks X-Received: by 2002:a17:907:628a:: with SMTP id nd10mr31020028ejc.326.1618301424887; Tue, 13 Apr 2021 01:10:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618301424; cv=none; d=google.com; s=arc-20160816; b=tL0wdjHvA+UedRgT7xCQy1qs74pmnFwnaj9ObfSEU59odL2ysnSDuIBPWj3Xywa1fr zeXqwkU+JTkibpoptIb+/wW8ozjlpEQigrgbvlf4T1FNDuj7kBBlPj2NFYc9ZhJIJpmz FCZBjwHJuhni5h247VwGBFUZcHDhHLiN+s1c5S6OeXwPza9iAD2OGDGlo6M3ZHrnKiRL jbIpKaXCqyI5xLdbCEF1foltZFaEPz7VzIGis9Xa6U1TNQprRMwGT2p50b6R27L6Lg0N UN5wXmoGmJcbj5eXqpNY1jJRT8h8sofQ/OOaMFTyurkqKW3aOFoHx9XE+AwBtmAQwfok GZyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=4HZl1hWUpeN80WuLjoHqpH9RBDWYxfULZt5vUWw5iNc=; b=MoVFGwiYK6tU5N0GUxNC0PwjyOLj4GIx9SVwIsBe7N4JvnXjCvOgDcBi6AIuaK6+oE BYKty5aT1wOvTjLnAMZZvDUyRVt4gOZHxV4HvJtDuk5F1BTHGSssFd943vTW80oGTYxM w5yiAfh1FdhQNjhWPW2Tb9xZ0Dy1XR7NF4gHt5kdoXDqUDFomQ3YcqaW/MW/LScfMqin kWCBBOwn28Uz2sHTPKNbCurZuv36WMFtrIJL3s+FHkzVwuv6al+mYkKY9Q/QYepou1IH v35Lv3I9ThPbin8lldt+4Mb5Y65tXAcREHa0EQnvPxyMVojatfaBeWJ0yI/JtPEYSmat Tv6g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id de30si4227583ejc.539.2021.04.13.01.10.00; Tue, 13 Apr 2021 01:10:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344419AbhDMDjh (ORCPT + 99 others); Mon, 12 Apr 2021 23:39:37 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:17320 "EHLO szxga07-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241739AbhDMDjc (ORCPT ); Mon, 12 Apr 2021 23:39:32 -0400 Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4FKB9f5QcwzB024; Tue, 13 Apr 2021 11:36:54 +0800 (CST) Received: from huawei.com (10.67.165.24) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.498.0; Tue, 13 Apr 2021 11:39:02 +0800 From: Longfang Liu To: CC: , , , Subject: [RFC PATCH 2/3] vfio/hisilicon: register the driver to vfio Date: Tue, 13 Apr 2021 11:36:22 +0800 Message-ID: <1618284983-55581-3-git-send-email-liulongfang@huawei.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1618284983-55581-1-git-send-email-liulongfang@huawei.com> References: <1618284983-55581-1-git-send-email-liulongfang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Register the live migration driver of the accelerator module to vfio Signed-off-by: Longfang Liu --- drivers/vfio/pci/vfio_pci.c | 11 +++++++++++ drivers/vfio/pci/vfio_pci_private.h | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c index 65e7e6b..e1b0e37 100644 --- a/drivers/vfio/pci/vfio_pci.c +++ b/drivers/vfio/pci/vfio_pci.c @@ -407,6 +407,17 @@ static int vfio_pci_enable(struct vfio_pci_device *vdev) } } + if (pdev->vendor == PCI_VENDOR_ID_HUAWEI && + IS_ENABLED(CONFIG_VFIO_PCI_HISI_MIGRATION)) { + ret = vfio_pci_hisilicon_acc_init(vdev); + if (ret && ret != -ENODEV) { + dev_warn(&vdev->pdev->dev, + "Failed to setup Hisilicon ACC region\n"); + vfio_pci_disable(vdev); + return ret; + } + } + vfio_pci_probe_mmaps(vdev); return 0; diff --git a/drivers/vfio/pci/vfio_pci_private.h b/drivers/vfio/pci/vfio_pci_private.h index 9cd1882..83c51be 100644 --- a/drivers/vfio/pci/vfio_pci_private.h +++ b/drivers/vfio/pci/vfio_pci_private.h @@ -214,6 +214,15 @@ static inline int vfio_pci_ibm_npu2_init(struct vfio_pci_device *vdev) } #endif +#ifdef CONFIG_VFIO_PCI_HISI_MIGRATION +extern int vfio_pci_hisilicon_acc_init(struct vfio_pci_device *vdev); +#else +static inline int vfio_pci_hisilicon_acc_init(struct vfio_pci_device *vdev) +{ + return -ENODEV; +} +#endif + #ifdef CONFIG_S390 extern int vfio_pci_info_zdev_add_caps(struct vfio_pci_device *vdev, struct vfio_info_cap *caps); -- 2.8.1