Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4007926pxj; Tue, 15 Jun 2021 13:21:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymdcAUtbF9yuoJ1w29VhRsFBubzK6rldLRHGuog9XvtyiFNn1rDJejdWnA3KvHUQWI5l8z X-Received: by 2002:a92:7b07:: with SMTP id w7mr898368ilc.308.1623788515931; Tue, 15 Jun 2021 13:21:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623788515; cv=none; d=google.com; s=arc-20160816; b=wx0DILF8+yLOwdUFLcshNXk7Wep4RiN2cyXszyc/A7mvjEx6JjhIibIYWaDELKy7l/ gd+YLZww8JdtBvuzWyvqggZdIch63jHa0kuUw1KpMKsamrahdVE32mP5ALVMKNragZO8 eG8OevY6pwtXMX4ZT6BJtSNDZLhxKk8veOtk/Sp2WiaL5H6S4T2e6pExQhOrMG8Ki5ac bYSgjQL4SI2EGT32op1jokZcq8044z8qRcRyoKamNtm8IwTQML2P8Bu92BIixDgkfkaw 3R1si7e7e4z5XXPvYML84ey0jrWKPs67t4FQtaqtYSHlQBt8Q679vukWD2LtbmmFDPzp 3fEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=4OP+kXa7j7VmEib/1s/iK6tFrNtW3KF8Er88jDxAmgM=; b=WVnZ4AEr0vns/FrxswkvMH2G/E6ye5VW8dz1Y/QTpsiGah/m1aSXfFskd6K13Ps8zr 4ZDdHPoJz7BOjbcnYKKSXPLJU7tZGXCqeb8SwfA+ndgCigTaCOy2Fy12mZaaIsFd0wPg pMV6VpPdFyWzKt57w+YOfKh8HuX2269CZ4GcCg/hCSPe/9Jn2rzGW4yqRMeguxY2Ee80 2IeEI3IrWrAImBHW97pZdO9WiKgOixt1bXka6ZDfX5RsJcV0VvMHpvHYroONnhNjabGb itM+hrQz3jm6dPLZuBJU7d8x9LhkComBYjVgI/X5xDufrX3Lviud9eU2SibHAVbBL1A/ uXCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=DO0IxwWh; 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=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f22si93990jav.24.2021.06.15.13.21.27; Tue, 15 Jun 2021 13:21:55 -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; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=DO0IxwWh; 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=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230390AbhFOUV1 (ORCPT + 99 others); Tue, 15 Jun 2021 16:21:27 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:24462 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230236AbhFOUVX (ORCPT ); Tue, 15 Jun 2021 16:21:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623788358; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4OP+kXa7j7VmEib/1s/iK6tFrNtW3KF8Er88jDxAmgM=; b=DO0IxwWhjeCIu+yRi/TTtDYD9b801edmASR+BANJ105O09rrTPkncscWQcslsfM1sBNa7W BxHcHYJ/dtyDzM05KaHU49Mu5zKBiU97vFYKOS4vk+5vgl7kk60vi/KicZvvS2x369Z/ax e897BZeTzqEjP/J+IzMq1otnt7OErzg= Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-27-9Vre0UiRNH6y1py-7_9-tA-1; Tue, 15 Jun 2021 16:19:16 -0400 X-MC-Unique: 9Vre0UiRNH6y1py-7_9-tA-1 Received: by mail-ot1-f70.google.com with SMTP id o26-20020a9d6d1a0000b02903e61e3de711so61850otp.12 for ; Tue, 15 Jun 2021 13:19:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=4OP+kXa7j7VmEib/1s/iK6tFrNtW3KF8Er88jDxAmgM=; b=E1gIiOA9AR3MrArUtiBcTqTo/XpxvuFjQQt7jQUYN2ClJrLs7fS9SZkCUXucFLlKP7 Qy/OrLlFl/2tmjwxSJow2jQmo6MpYY3MZ7Tdw3Ts5K7RhJEs4J1f1cb3dZqKt1IXYW11 96T2iJwhY3HyO/rBkATRcirV4dvv0gUsBhdihjKVYwbXEwU41jnpqhER/jhdSFqlYToz VaY4SaF4dqznFnBWqnGXDPC8pmJlLuzilfXzMjyj0Iocw/CMloPz7SldK0VDd3aXBjX/ pNt/uyWp8qFfc9TeggG5I+JZxNmywX973jErDL7XeRtKsxM/5t+HF0lwSPesJopDmmoU nWTQ== X-Gm-Message-State: AOAM530c1AmzGghg7fCZfDTofCkVn5QyG427gUqJIesGEXNz4hymo2gy LAldH85Ty1nmTz95r+uxUW09+gKjlePd4dUvrmLwxLC8D5wMXb+PvqTDfwY4ylp7hCYHW/vlk8a lh7L1nf6Twy5I20fXQLZJ5nkK X-Received: by 2002:aca:3116:: with SMTP id x22mr4505083oix.133.1623788356054; Tue, 15 Jun 2021 13:19:16 -0700 (PDT) X-Received: by 2002:aca:3116:: with SMTP id x22mr4505062oix.133.1623788355771; Tue, 15 Jun 2021 13:19:15 -0700 (PDT) Received: from localhost.localdomain (075-142-250-213.res.spectrum.com. [75.142.250.213]) by smtp.gmail.com with ESMTPSA id v1sm1926804ota.22.2021.06.15.13.19.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 15 Jun 2021 13:19:14 -0700 (PDT) Subject: Re: [PATCH v4 2/4] fpga: xilinx: reorganize to subdir layout To: Greg KH Cc: hao.wu@intel.com, mdf@kernel.org, corbet@lwn.net, michal.simek@xilinx.com, krzysztof.kozlowski@canonical.com, nava.manne@xilinx.com, yilun.xu@intel.com, davidgow@google.com, fpacheco@redhat.com, richard.gong@intel.com, luca@lucaceresoli.net, linux-fpga@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20210614201648.3358206-1-trix@redhat.com> <20210614201648.3358206-4-trix@redhat.com> From: Tom Rix Message-ID: <4fa2a233-e429-1b41-fc9b-1f4c6d9a05ae@redhat.com> Date: Tue, 15 Jun 2021 13:19:11 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/15/21 12:36 AM, Greg KH wrote: > On Mon, Jun 14, 2021 at 01:16:46PM -0700, trix@redhat.com wrote: >> From: Tom Rix >> >> Follow drivers/net/ethernet/ which has control configs >> NET_VENDOR_BLA that map to drivers/net/ethernet/bla >> Since fpgas do not have many vendors, drop the 'VENDOR' and use >> FPGA_BLA. >> >> There are several new subdirs >> altera/ >> dfl/ >> lattice/ >> xilinx/ >> >> Each subdir has a Kconfig that has a new/reused >> >> if FPGA_BLA >> ... existing configs ... >> endif FPGA_BLA >> >> Which is sourced into the main fpga/Kconfig >> >> Each subdir has a Makefile whose transversal is controlled in the >> fpga/Makefile by >> >> obj-$(CONFIG_FPGA_BLA) += bla/ >> >> This is the xilinx/ subdir part >> >> Create a xilinx/ subdir >> Move xilinx-* and zynq* files to it. >> Add a Kconfig and Makefile >> >> Signed-off-by: Tom Rix >> --- >> drivers/fpga/Kconfig | 40 +------------- >> drivers/fpga/Makefile | 5 +- >> drivers/fpga/xilinx/Kconfig | 55 +++++++++++++++++++ >> drivers/fpga/xilinx/Makefile | 6 ++ >> .../fpga/{ => xilinx}/xilinx-pr-decoupler.c | 0 >> drivers/fpga/{ => xilinx}/xilinx-spi.c | 0 >> drivers/fpga/{ => xilinx}/zynq-fpga.c | 0 >> drivers/fpga/{ => xilinx}/zynqmp-fpga.c | 0 >> 8 files changed, 63 insertions(+), 43 deletions(-) >> create mode 100644 drivers/fpga/xilinx/Kconfig >> create mode 100644 drivers/fpga/xilinx/Makefile >> rename drivers/fpga/{ => xilinx}/xilinx-pr-decoupler.c (100%) >> rename drivers/fpga/{ => xilinx}/xilinx-spi.c (100%) >> rename drivers/fpga/{ => xilinx}/zynq-fpga.c (100%) >> rename drivers/fpga/{ => xilinx}/zynqmp-fpga.c (100%) >> >> diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig >> index 7a290b2234576..28c261807b428 100644 >> --- a/drivers/fpga/Kconfig >> +++ b/drivers/fpga/Kconfig >> @@ -52,25 +52,12 @@ config FPGA_MGR_ALTERA_CVP >> FPGA manager driver support for Arria-V, Cyclone-V, Stratix-V, >> Arria 10 and Stratix10 Altera FPGAs using the CvP interface over PCIe. >> >> -config FPGA_MGR_ZYNQ_FPGA >> - tristate "Xilinx Zynq FPGA" >> - depends on ARCH_ZYNQ || COMPILE_TEST >> - help >> - FPGA manager driver support for Xilinx Zynq FPGAs. >> - >> config FPGA_MGR_STRATIX10_SOC >> tristate "Intel Stratix10 SoC FPGA Manager" >> depends on (ARCH_INTEL_SOCFPGA && INTEL_STRATIX10_SERVICE) >> help >> FPGA manager driver support for the Intel Stratix10 SoC. >> >> -config FPGA_MGR_XILINX_SPI >> - tristate "Xilinx Configuration over Slave Serial (SPI)" >> - depends on SPI >> - help >> - FPGA manager driver support for Xilinx FPGA configuration >> - over slave serial interface. >> - >> config FPGA_MGR_ICE40_SPI >> tristate "Lattice iCE40 SPI" >> depends on OF && SPI >> @@ -113,23 +100,6 @@ config ALTERA_FREEZE_BRIDGE >> isolate one region of the FPGA from the busses while that >> region is being reprogrammed. >> >> -config XILINX_PR_DECOUPLER >> - tristate "Xilinx LogiCORE PR Decoupler" >> - depends on FPGA_BRIDGE >> - depends on HAS_IOMEM >> - help >> - Say Y to enable drivers for Xilinx LogiCORE PR Decoupler >> - or Xilinx Dynamic Function eXchnage AIX Shutdown Manager. >> - The PR Decoupler exists in the FPGA fabric to isolate one >> - region of the FPGA from the busses while that region is >> - being reprogrammed during partial reconfig. >> - The Dynamic Function eXchange AXI shutdown manager prevents >> - AXI traffic from passing through the bridge. The controller >> - safely handles AXI4MM and AXI4-Lite interfaces on a >> - Reconfigurable Partition when it is undergoing dynamic >> - reconfiguration, preventing the system deadlock that can >> - occur if AXI transactions are interrupted by DFX. >> - >> config FPGA_REGION >> tristate "FPGA Region" >> depends on FPGA_BRIDGE >> @@ -146,14 +116,6 @@ config OF_FPGA_REGION >> overlay. >> >> source "drivers/fpga/dfl/Kconfig" >> - >> -config FPGA_MGR_ZYNQMP_FPGA >> - tristate "Xilinx ZynqMP FPGA" >> - depends on ZYNQMP_FIRMWARE || (!ZYNQMP_FIRMWARE && COMPILE_TEST) >> - help >> - FPGA manager driver support for Xilinx ZynqMP FPGAs. >> - This driver uses the processor configuration port(PCAP) >> - to configure the programmable logic(PL) through PS >> - on ZynqMP SoC. >> +source "drivers/fpga/xilinx/Kconfig" >> >> endif # FPGA >> diff --git a/drivers/fpga/Makefile b/drivers/fpga/Makefile >> index bda74e54ce390..0868c7c4264d8 100644 >> --- a/drivers/fpga/Makefile >> +++ b/drivers/fpga/Makefile >> @@ -15,9 +15,6 @@ obj-$(CONFIG_FPGA_MGR_SOCFPGA) += socfpga.o >> obj-$(CONFIG_FPGA_MGR_SOCFPGA_A10) += socfpga-a10.o >> obj-$(CONFIG_FPGA_MGR_STRATIX10_SOC) += stratix10-soc.o >> obj-$(CONFIG_FPGA_MGR_TS73XX) += ts73xx-fpga.o >> -obj-$(CONFIG_FPGA_MGR_XILINX_SPI) += xilinx-spi.o >> -obj-$(CONFIG_FPGA_MGR_ZYNQ_FPGA) += zynq-fpga.o >> -obj-$(CONFIG_FPGA_MGR_ZYNQMP_FPGA) += zynqmp-fpga.o >> obj-$(CONFIG_ALTERA_PR_IP_CORE) += altera-pr-ip-core.o >> obj-$(CONFIG_ALTERA_PR_IP_CORE_PLAT) += altera-pr-ip-core-plat.o >> >> @@ -25,10 +22,10 @@ obj-$(CONFIG_ALTERA_PR_IP_CORE_PLAT) += altera-pr-ip-core-plat.o >> obj-$(CONFIG_FPGA_BRIDGE) += fpga-bridge.o >> obj-$(CONFIG_SOCFPGA_FPGA_BRIDGE) += altera-hps2fpga.o altera-fpga2sdram.o >> obj-$(CONFIG_ALTERA_FREEZE_BRIDGE) += altera-freeze-bridge.o >> -obj-$(CONFIG_XILINX_PR_DECOUPLER) += xilinx-pr-decoupler.o >> >> # High Level Interfaces >> obj-$(CONFIG_FPGA_REGION) += fpga-region.o >> obj-$(CONFIG_OF_FPGA_REGION) += of-fpga-region.o >> >> obj-$(CONFIG_FPGA_DFL) += dfl/ >> +obj-$(CONFIG_FPGA_XILINX) += xilinx/ >> diff --git a/drivers/fpga/xilinx/Kconfig b/drivers/fpga/xilinx/Kconfig >> new file mode 100644 >> index 0000000000000..e016d450539a0 >> --- /dev/null >> +++ b/drivers/fpga/xilinx/Kconfig >> @@ -0,0 +1,55 @@ >> +# SPDX-License-Identifier: GPL-2.0-only >> + >> +config FPGA_XILINX >> + bool "Xilinx FPGAs" > "Xilinx FPGA drivers" > >> + default y >> + help >> + If you have a xilinx fpga, say Y. > "Xilix FPGA" Ok. > But how about being a bit more descriptive here: > > "Select this option if you want to enable support for Xilinx FPGA > drivers" ok > >> + Note that the answer to this question doesn't directly affect the >> + kernel: saying N will just cause the configurator to skip all >> + the questions about xilinx fpgas. If you say Y, you will be asked >> + for your specific device in the following questions. > Why this "note"? Do networking drivers have this type of description? Yes, the NET_VENDOR_* configs all have this boilerplate. Tom > Same for the other patches in this series. > thanks, > > greg k-h >