Received: by 2002:ac0:aa62:0:0:0:0:0 with SMTP id w31-v6csp3101352ima; Mon, 22 Oct 2018 23:48:37 -0700 (PDT) X-Google-Smtp-Source: ACcGV631G2USP1c5dNWJ+FrncCHxbeavmUUittQHk2Jc4EbIu0modDUDK9/LTYEqXgfbSoKYH0MB X-Received: by 2002:a17:902:930b:: with SMTP id bc11-v6mr48114342plb.101.1540277317441; Mon, 22 Oct 2018 23:48:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540277317; cv=none; d=google.com; s=arc-20160816; b=TjUHUHRQiD7FhTmEgKhNH1gu5QTuFJS7QDp+zrvrQyZvtC9VlHRmP4at3izfBHnJnt rlFuqZj355zR0DqMtP3ozU9AD7YdPrZWdIX514Qk17XlACY/G/4Je0BIyLNkSSUu6lts VKT0uVgDTuOelPIrKFTKzRJAl+GHbYQJWnvMWlUZuf8dP/+I9JVIytlDrpuRQzYHU23j 4TxzYu7V9wsyeelfV1o0HHUzBJq9YLaz9ro6kJZXL4jsaBJ7AkzehJ3oFI+9ZrHJ5AgD a15fg6pJVb1K+69OELWz+N5Ky2NckgsIfsxVsvu9CwGXuXBuAAhF+nETaSd3xqpQhekd P63g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=G2iNOotqKu9vD6YLo+BGIYEhc/XmaZU9QFHZwkqESZc=; b=UqSVqcVSZKKh5Aad0RdIfsk3BkSXzfFfufH51RHRg1ECMyfKhC5GcE8SY760QKIn+D 7Shq5VeP2YIvCAF1hr1kmP5KzVZdHvGZUEtRv2W/MF2LpHSKrEwx/70KJQyHQhhbAAYc beaXIwIMX9FWUWlWWpu69E/Sm9xq3paRPKF5KUHxDRFx9vfJbZfM590JCFlb6lmsjjNq Gow4S2CF+zjojIQokVq3Xyw4KgpRlhhYllYYrEIhJEgiwANveoeETAkMCQ02AgMxmmz9 6TUhz06IQ9ZZ7wGbEoVc5p06OkXeuZY/BUa9XOPBk/K3iDOyVkNc/yLmkobUTF4j/alI xlvg== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 202-v6si401276pgb.63.2018.10.22.23.48.22; Mon, 22 Oct 2018 23:48:37 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727683AbeJWO7b (ORCPT + 99 others); Tue, 23 Oct 2018 10:59:31 -0400 Received: from atl4mhfb03.myregisteredsite.com ([209.17.115.119]:49584 "EHLO atl4mhfb03.myregisteredsite.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727512AbeJWO7b (ORCPT ); Tue, 23 Oct 2018 10:59:31 -0400 X-Greylist: delayed 360 seconds by postgrey-1.27 at vger.kernel.org; Tue, 23 Oct 2018 10:59:30 EDT Received: from atl4mhob04.registeredsite.com (atl4mhob04.registeredsite.com [209.17.115.42]) by atl4mhfb03.myregisteredsite.com (8.14.4/8.14.4) with ESMTP id w9N6VWSs002403 for ; Tue, 23 Oct 2018 02:31:32 -0400 Received: from mailpod.hostingplatform.com (atl4qobmail03pod0.registeredsite.com [10.30.71.205]) by atl4mhob04.registeredsite.com (8.14.4/8.14.4) with ESMTP id w9N6VTxu020597 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 23 Oct 2018 02:31:29 -0400 Received: (qmail 8254 invoked by uid 0); 23 Oct 2018 06:31:29 -0000 X-TCPREMOTEIP: 81.173.50.109 X-Authenticated-UID: mike@milosoftware.com Received: from unknown (HELO mikebuntu.TOPIC.LOCAL) (mike@milosoftware.com@81.173.50.109) by 0 with ESMTPA; 23 Oct 2018 06:31:29 -0000 From: Mike Looijmans To: linux-fpga@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, michal.simek@xilinx.com, mdf@kernel.org, atull@kernel.org, Mike Looijmans Subject: [PATCH] zynq-fpga: Only route PR via PCAP when required Date: Tue, 23 Oct 2018 08:31:19 +0200 Message-Id: <1540276279-2903-1-git-send-email-mike.looijmans@topic.nl> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Xilinx Zynq FPGA driver takes ownership of the PR interface, making it impossible to use the ICAP interface for partial reconfiguration. This patch changes the driver to only activate PR over PCAP while the device is actively being accessed by the driver for programming. This allows both PCAP and ICAP interfaces to be used for PR. Signed-off-by: Mike Looijmans --- drivers/fpga/zynq-fpga.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/fpga/zynq-fpga.c b/drivers/fpga/zynq-fpga.c index 3110e00..f6c205a 100644 --- a/drivers/fpga/zynq-fpga.c +++ b/drivers/fpga/zynq-fpga.c @@ -497,6 +497,10 @@ static int zynq_fpga_ops_write_complete(struct fpga_manager *mgr, int err; u32 intr_status; + /* Release 'PR' control back to the ICAP */ + zynq_fpga_write(priv, CTRL_OFFSET, + zynq_fpga_read(priv, CTRL_OFFSET) & ~CTRL_PCAP_PR_MASK); + err = clk_enable(priv->clk); if (err) return err; -- 1.9.1