Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3404163ybi; Sun, 26 May 2019 22:41:25 -0700 (PDT) X-Google-Smtp-Source: APXvYqyZyMY3edy58kxHS6PiVB/+AI/W/CruHpRXC+EwRwS/humF0GIP82z/hpbnRL+UO+oC6SYJ X-Received: by 2002:a17:90a:35c:: with SMTP id 28mr27694458pjf.110.1558935685334; Sun, 26 May 2019 22:41:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558935685; cv=none; d=google.com; s=arc-20160816; b=ffXZN1jMg0yq5nucL7H68gfysBV14SPSUCGKcaT//i+yNblf9vLaCw10+2U9W9GwYu QlgvGU5ej46feG0OGhyRiGIZzRqge5NzDwVu8GaW+yIPSifUgfVvIHSmA6Bgtr3m40ui WbE/tnjKZJ+K7yhUH2KmmP4AMPu8yFBXhmwU+HDjNRo2Q0bLST+8DBmCZaS/JmJfjsEa 3DTArSoGY+lGWGKasIkCGhAHDZ1+Ypc+jJOm1C1VCrJ2HTt6bPXEloSr+TTRBdlUmRob Nfhi+122q+73e4esaI+4DITMJNqYjUfaNNKmaDoG4eGIoWDyRYOveIY3+5TaMQwiZT19 wQtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=GjR4aeaNbblaQpPlDL3bDup8mf8cV7eDCTatZxhnaAo=; b=SAqF37jOzMVRPvQ4+sw74+E3wYF5+DbzZDuE5iyqXYEQ/WOtIA7BYgx4J6Y2/3F0Vf FTEp6gAndJ8t2WluLt0xDqssw5XbCSB5ddZqky2pm50S135GhOG+FXr0I6t2yQSQs3dL M/IaJyp9rWQviMjchwLHxzEsXwJvr2ZNK0NYOurQE5G8pCUbyrDO1U6mWrpO3Rr7gIQV kv94adi61yJqghTJrQMZ4JS7ZlgYlULMNHLJBf3QALoXu+Hl+06krqUwDmFfFGJO6r6D DIrHsRz16PsS3N/8Xv77+TeUMP82K2zVIEfcky5wc/kXelcMrc1OurqapIOqW2+Ed5EP Lvbw== 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l17si17420357pfd.202.2019.05.26.22.41.10; Sun, 26 May 2019 22:41:25 -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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726636AbfE0Fjk (ORCPT + 99 others); Mon, 27 May 2019 01:39:40 -0400 Received: from mga04.intel.com ([192.55.52.120]:7420 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726540AbfE0FjU (ORCPT ); Mon, 27 May 2019 01:39:20 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 May 2019 22:39:20 -0700 X-ExtLoop1: 1 Received: from hao-dev.bj.intel.com ([10.238.157.65]) by orsmga001.jf.intel.com with ESMTP; 26 May 2019 22:39:18 -0700 From: Wu Hao To: atull@kernel.org, mdf@kernel.org, linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org Cc: linux-api@vger.kernel.org, Wu Hao , Xu Yilun Subject: [PATCH v3 13/16] fpga: dfl: afu: add STP (SignalTap) support Date: Mon, 27 May 2019 13:22:23 +0800 Message-Id: <1558934546-12171-14-git-send-email-hao.wu@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1558934546-12171-1-git-send-email-hao.wu@intel.com> References: <1558934546-12171-1-git-send-email-hao.wu@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org STP (SignalTap) is one of the private features under the port for debugging. This patch adds private feature driver support for it to allow userspace applications to mmap related mmio region and provide STP service. Signed-off-by: Xu Yilun Signed-off-by: Wu Hao Acked-by: Moritz Fischer Acked-by: Alan Tull --- drivers/fpga/dfl-afu-main.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/drivers/fpga/dfl-afu-main.c b/drivers/fpga/dfl-afu-main.c index bcf6e28..8241ace 100644 --- a/drivers/fpga/dfl-afu-main.c +++ b/drivers/fpga/dfl-afu-main.c @@ -513,6 +513,36 @@ static void port_afu_uinit(struct platform_device *pdev, .uinit = port_afu_uinit, }; +static int port_stp_init(struct platform_device *pdev, + struct dfl_feature *feature) +{ + struct resource *res = &pdev->resource[feature->resource_index]; + + dev_dbg(&pdev->dev, "PORT STP Init.\n"); + + return afu_mmio_region_add(dev_get_platdata(&pdev->dev), + DFL_PORT_REGION_INDEX_STP, + resource_size(res), res->start, + DFL_PORT_REGION_MMAP | DFL_PORT_REGION_READ | + DFL_PORT_REGION_WRITE); +} + +static void port_stp_uinit(struct platform_device *pdev, + struct dfl_feature *feature) +{ + dev_dbg(&pdev->dev, "PORT STP UInit.\n"); +} + +static const struct dfl_feature_id port_stp_id_table[] = { + {.id = PORT_FEATURE_ID_STP,}, + {0,} +}; + +static const struct dfl_feature_ops port_stp_ops = { + .init = port_stp_init, + .uinit = port_stp_uinit, +}; + static struct dfl_feature_driver port_feature_drvs[] = { { .id_table = port_hdr_id_table, @@ -527,6 +557,10 @@ static void port_afu_uinit(struct platform_device *pdev, .ops = &port_err_ops, }, { + .id_table = port_stp_id_table, + .ops = &port_stp_ops, + }, + { .ops = NULL, } }; -- 1.8.3.1