From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4BBEBC4320D for ; Tue, 24 Sep 2019 13:53:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 23878214DA for ; Tue, 24 Sep 2019 13:53:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="YXu0expJ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726915AbfIXNxp (ORCPT ); Tue, 24 Sep 2019 09:53:45 -0400 Received: from fllv0015.ext.ti.com ([198.47.19.141]:54898 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2438668AbfIXNxp (ORCPT ); Tue, 24 Sep 2019 09:53:45 -0400 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id x8ODrY1g046558; Tue, 24 Sep 2019 08:53:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1569333214; bh=I+ndL9UN+xitCCkAJmg8WMtwHoyKQ2WaYNCRG2in++o=; h=Subject:From:To:CC:References:Date:In-Reply-To; b=YXu0expJ6nldXO3KHaVCX4bCge8OFC73vFGagSnFRpBdnJqTReOwyembxnsuONQB/ F4SNsTigfE7cKJVzFlHYcqjfAlyxkh/u5xaEcGFDTgfw1YTCOoHkr6KcBrD2IdQiyh psaqHXTj3TOtlbvOLaZfL735bpMTgKst6ds5cch0= Received: from DFLE100.ent.ti.com (dfle100.ent.ti.com [10.64.6.21]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x8ODrYfI121802 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 24 Sep 2019 08:53:34 -0500 Received: from DFLE114.ent.ti.com (10.64.6.35) by DFLE100.ent.ti.com (10.64.6.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Tue, 24 Sep 2019 08:53:27 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DFLE114.ent.ti.com (10.64.6.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Tue, 24 Sep 2019 08:53:27 -0500 Received: from [192.168.2.6] (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id x8ODrUvW060521; Tue, 24 Sep 2019 08:53:30 -0500 Subject: Re: [PATCH v2 00/14] dmaengine/soc: Add Texas Instruments UDMA support From: Peter Ujfalusi To: , , , CC: , , , , , , , , , References: <20190730093450.12664-1-peter.ujfalusi@ti.com> Message-ID: Date: Tue, 24 Sep 2019 16:54:11 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190730093450.12664-1-peter.ujfalusi@ti.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org Hi, On 30/07/2019 12.34, Peter Ujfalusi wrote: > Changes since v1 > (https://patchwork.kernel.org/project/linux-dmaengine/list/?series=114105&state=*) > - Added support for j721e > - Based on 5.3-rc2 > - dropped ti_sci API patch for RM management as it is already upstream > - dropped dmadev_get_slave_channel() patch, using __dma_request_channel() > - Added Rob's Reviewed-by to ringacc DT binding document patch > - DT bindings changes: > - linux,udma-mode is gone, I have a simple lookup table in the driver to flag > TR channels. > - Support for j721e > - Fix bug in of_node_put() handling in xlate function I have addressed locally all the comments given for v2 so far. Is there anything else I need to change for v3? Regards, - Péter > > Changes since RFC (https://patchwork.kernel.org/cover/10612465/): > - Based on linux-next (20190506) which now have the ti_sci interrupt support > - The series can be applied and the UDMA via DMAengine API will be functional > - Included in the series: ti_sci Resource management API, cppi5 header and > driver for the ring accelerator. > - The DMAengine core patches have been updated as per the review comments for > earlier submittion. > - The DMAengine driver patch is artificially split up to 6 smaller patches > > The k3-udma driver implements the Data Movement Architecture described in > AM65x TRM (http://www.ti.com/lit/pdf/spruid7) and > j721e TRM (http://www.ti.com/lit/pdf/spruil1) > > This DMA architecture is a big departure from 'traditional' architecture where > we had either EDMA or sDMA as system DMA. > > Packet DMAs were used as dedicated DMAs to service only networking (Kesytone2) > or USB (am335x) while other peripherals were serviced by EDMA. > > In AM65x/j721e the UDMA (Unified DMA) is used for all data movment within the > SoC, tasked to service all peripherals (UART, McSPI, McASP, networking, etc). > > The NAVSS/UDMA is built around CPPI5 (Communications Port Programming Interface) > and it supports Packet mode (similar to CPPI4.1 in Keystone2 for networking) and > TR mode (similar to EDMA descriptor). > The data movement is done within a PSI-L fabric, peripherals (including the > UDMA-P) are not addressed by their I/O register as with traditional DMAs but > with their PSI-L thread ID. > > In AM65x/j721e we have two main type of peripherals: > Legacy: McASP, McSPI, UART, etc. > to provide connectivity they are serviced by PDMA (Peripheral DMA) > PDMA threads are locked to service a given peripheral, for example PSI-L thread > 0x4400/0xc400 is to service McASP0 rx/tx. > The PDMa configuration can be done via the UDMA Real Time Peer registers. > Native: Networking, security accelerator > these peripherals have native support for PSI-L. > > To be able to use the DMA the following generic steps need to be taken: > - configure a DMA channel (tchan for TX, rchan for RX) > - channel mode: Packet or TR mode > - for memcpy a tchan and rchan pair is used. > - for packet mode RX we also need to configure a receive flow to configure the > packet receiption > - the source and destination threads must be paired > - at minimum one pair of rings need to be configured: > - tx: transfer ring and transfer completion ring > - rx: free descriptor ring and receive ring > - two interrupts: UDMA-P channel interrupt and ring interrupt for tc_ring/r_ring > - If the channel is in packet mode or configured to memcpy then we only need > one interrupt from the ring, events from UDMAP is not used. > > When the channel setup is completed we only interract with the rings: > - TX: push a descriptor to t_ring and wait for it to be pushed to the tc_ring by > the UDMA-P > - RX: push a descriptor to the fd_ring and waith for UDMA-P to push it back to > the r_ring. > > Since we have FIFOs in the DMA fabric (UDMA-P, PSI-L and PDMA) which was not the > case in previous DMAs we need to report the amount of data held in these FIFOs > to clients (delay calculation for ALSA, UART FIFO flush support). > > Metadata support: > DMAengine user driver was posted upstream based/tested on the v1 of the UDMA > series: https://lkml.org/lkml/2019/6/28/20 > SA2UL is using the metadata DMAengine API. > > Note on the last patch: > In Keystone2 the networking had dedicated DMA (packet DMA) which is not the case > anymore and the DMAengine API currently missing support for the features we > would need to support networking, things like > - support for receive descriptor 'classification' > - we need to support several receive queues for a channel. > - the queues are used for packet priority handling for example, but they can be > used to have pools of descriptors for different sizes. > - out of order completion of descriptors on a channel > - when we have several queues to handle different priority packets the > descriptors will be completed 'out-of-order' > - NAPI type of operation (polling instead of interrupt driven transfer) > - without this we can not sustain gigabit speeds and we need to support NAPI > - not to limit this to networking, but other high performance operations > > It is my intention to work on these to be able to remove the 'glue' layer and > switch to DMAengine API - or have an API aside of DMAengine to have generic way > to support networking, but given how controversial and not trivial these changes > are we need something to support networking. > > The series (+DT patch to enabled UDMA/PDMA on AM65x) on top of 5.3-rc2 is > available: > https://github.com/omap-audio/linux-audio.git peter/udma/series_v2-5.3-rc2 > > Regards, > Peter > --- > Grygorii Strashko (3): > bindings: soc: ti: add documentation for k3 ringacc > soc: ti: k3: add navss ringacc driver > dmaengine: ti: k3-udma: Add glue layer for non DMAengine users > > Peter Ujfalusi (11): > dmaengine: doc: Add sections for per descriptor metadata support > dmaengine: Add metadata_ops for dma_async_tx_descriptor > dmaengine: Add support for reporting DMA cached data amount > dmaengine: ti: Add cppi5 header for UDMA > dt-bindings: dma: ti: Add document for K3 UDMA > dmaengine: ti: New driver for K3 UDMA - split#1: defines, structs, io > func > dmaengine: ti: New driver for K3 UDMA - split#2: probe/remove, xlate > and filter_fn > dmaengine: ti: New driver for K3 UDMA - split#3: alloc/free > chan_resources > dmaengine: ti: New driver for K3 UDMA - split#4: dma_device callbacks > 1 > dmaengine: ti: New driver for K3 UDMA - split#5: dma_device callbacks > 2 > dmaengine: ti: New driver for K3 UDMA - split#6: Kconfig and Makefile > > .../devicetree/bindings/dma/ti/k3-udma.txt | 170 + > .../devicetree/bindings/soc/ti/k3-ringacc.txt | 59 + > Documentation/driver-api/dmaengine/client.rst | 75 + > .../driver-api/dmaengine/provider.rst | 46 + > drivers/dma/dmaengine.c | 73 + > drivers/dma/dmaengine.h | 8 + > drivers/dma/ti/Kconfig | 22 + > drivers/dma/ti/Makefile | 2 + > drivers/dma/ti/k3-udma-glue.c | 1039 +++++ > drivers/dma/ti/k3-udma-private.c | 124 + > drivers/dma/ti/k3-udma.c | 3479 +++++++++++++++++ > drivers/dma/ti/k3-udma.h | 160 + > drivers/soc/ti/Kconfig | 17 + > drivers/soc/ti/Makefile | 1 + > drivers/soc/ti/k3-ringacc.c | 1191 ++++++ > include/dt-bindings/dma/k3-udma.h | 10 + > include/linux/dma/k3-udma-glue.h | 125 + > include/linux/dma/ti-cppi5.h | 996 +++++ > include/linux/dmaengine.h | 110 + > include/linux/soc/ti/k3-ringacc.h | 262 ++ > 20 files changed, 7969 insertions(+) > create mode 100644 Documentation/devicetree/bindings/dma/ti/k3-udma.txt > create mode 100644 Documentation/devicetree/bindings/soc/ti/k3-ringacc.txt > create mode 100644 drivers/dma/ti/k3-udma-glue.c > create mode 100644 drivers/dma/ti/k3-udma-private.c > create mode 100644 drivers/dma/ti/k3-udma.c > create mode 100644 drivers/dma/ti/k3-udma.h > create mode 100644 drivers/soc/ti/k3-ringacc.c > create mode 100644 include/dt-bindings/dma/k3-udma.h > create mode 100644 include/linux/dma/k3-udma-glue.h > create mode 100644 include/linux/dma/ti-cppi5.h > create mode 100644 include/linux/soc/ti/k3-ringacc.h > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Ujfalusi Subject: Re: [PATCH v2 00/14] dmaengine/soc: Add Texas Instruments UDMA support Date: Tue, 24 Sep 2019 16:54:11 +0300 Message-ID: References: <20190730093450.12664-1-peter.ujfalusi@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20190730093450.12664-1-peter.ujfalusi@ti.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: vkoul@kernel.org, robh+dt@kernel.org, nm@ti.com, ssantosh@kernel.org Cc: dan.j.williams@intel.com, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, grygorii.strashko@ti.com, lokeshvutla@ti.com, t-kristo@ti.com, tony@atomide.com, j-keerthy@ti.com List-Id: devicetree@vger.kernel.org Hi, On 30/07/2019 12.34, Peter Ujfalusi wrote: > Changes since v1 > (https://patchwork.kernel.org/project/linux-dmaengine/list/?series=114105&state=*) > - Added support for j721e > - Based on 5.3-rc2 > - dropped ti_sci API patch for RM management as it is already upstream > - dropped dmadev_get_slave_channel() patch, using __dma_request_channel() > - Added Rob's Reviewed-by to ringacc DT binding document patch > - DT bindings changes: > - linux,udma-mode is gone, I have a simple lookup table in the driver to flag > TR channels. > - Support for j721e > - Fix bug in of_node_put() handling in xlate function I have addressed locally all the comments given for v2 so far. Is there anything else I need to change for v3? Regards, - Péter > > Changes since RFC (https://patchwork.kernel.org/cover/10612465/): > - Based on linux-next (20190506) which now have the ti_sci interrupt support > - The series can be applied and the UDMA via DMAengine API will be functional > - Included in the series: ti_sci Resource management API, cppi5 header and > driver for the ring accelerator. > - The DMAengine core patches have been updated as per the review comments for > earlier submittion. > - The DMAengine driver patch is artificially split up to 6 smaller patches > > The k3-udma driver implements the Data Movement Architecture described in > AM65x TRM (http://www.ti.com/lit/pdf/spruid7) and > j721e TRM (http://www.ti.com/lit/pdf/spruil1) > > This DMA architecture is a big departure from 'traditional' architecture where > we had either EDMA or sDMA as system DMA. > > Packet DMAs were used as dedicated DMAs to service only networking (Kesytone2) > or USB (am335x) while other peripherals were serviced by EDMA. > > In AM65x/j721e the UDMA (Unified DMA) is used for all data movment within the > SoC, tasked to service all peripherals (UART, McSPI, McASP, networking, etc). > > The NAVSS/UDMA is built around CPPI5 (Communications Port Programming Interface) > and it supports Packet mode (similar to CPPI4.1 in Keystone2 for networking) and > TR mode (similar to EDMA descriptor). > The data movement is done within a PSI-L fabric, peripherals (including the > UDMA-P) are not addressed by their I/O register as with traditional DMAs but > with their PSI-L thread ID. > > In AM65x/j721e we have two main type of peripherals: > Legacy: McASP, McSPI, UART, etc. > to provide connectivity they are serviced by PDMA (Peripheral DMA) > PDMA threads are locked to service a given peripheral, for example PSI-L thread > 0x4400/0xc400 is to service McASP0 rx/tx. > The PDMa configuration can be done via the UDMA Real Time Peer registers. > Native: Networking, security accelerator > these peripherals have native support for PSI-L. > > To be able to use the DMA the following generic steps need to be taken: > - configure a DMA channel (tchan for TX, rchan for RX) > - channel mode: Packet or TR mode > - for memcpy a tchan and rchan pair is used. > - for packet mode RX we also need to configure a receive flow to configure the > packet receiption > - the source and destination threads must be paired > - at minimum one pair of rings need to be configured: > - tx: transfer ring and transfer completion ring > - rx: free descriptor ring and receive ring > - two interrupts: UDMA-P channel interrupt and ring interrupt for tc_ring/r_ring > - If the channel is in packet mode or configured to memcpy then we only need > one interrupt from the ring, events from UDMAP is not used. > > When the channel setup is completed we only interract with the rings: > - TX: push a descriptor to t_ring and wait for it to be pushed to the tc_ring by > the UDMA-P > - RX: push a descriptor to the fd_ring and waith for UDMA-P to push it back to > the r_ring. > > Since we have FIFOs in the DMA fabric (UDMA-P, PSI-L and PDMA) which was not the > case in previous DMAs we need to report the amount of data held in these FIFOs > to clients (delay calculation for ALSA, UART FIFO flush support). > > Metadata support: > DMAengine user driver was posted upstream based/tested on the v1 of the UDMA > series: https://lkml.org/lkml/2019/6/28/20 > SA2UL is using the metadata DMAengine API. > > Note on the last patch: > In Keystone2 the networking had dedicated DMA (packet DMA) which is not the case > anymore and the DMAengine API currently missing support for the features we > would need to support networking, things like > - support for receive descriptor 'classification' > - we need to support several receive queues for a channel. > - the queues are used for packet priority handling for example, but they can be > used to have pools of descriptors for different sizes. > - out of order completion of descriptors on a channel > - when we have several queues to handle different priority packets the > descriptors will be completed 'out-of-order' > - NAPI type of operation (polling instead of interrupt driven transfer) > - without this we can not sustain gigabit speeds and we need to support NAPI > - not to limit this to networking, but other high performance operations > > It is my intention to work on these to be able to remove the 'glue' layer and > switch to DMAengine API - or have an API aside of DMAengine to have generic way > to support networking, but given how controversial and not trivial these changes > are we need something to support networking. > > The series (+DT patch to enabled UDMA/PDMA on AM65x) on top of 5.3-rc2 is > available: > https://github.com/omap-audio/linux-audio.git peter/udma/series_v2-5.3-rc2 > > Regards, > Peter > --- > Grygorii Strashko (3): > bindings: soc: ti: add documentation for k3 ringacc > soc: ti: k3: add navss ringacc driver > dmaengine: ti: k3-udma: Add glue layer for non DMAengine users > > Peter Ujfalusi (11): > dmaengine: doc: Add sections for per descriptor metadata support > dmaengine: Add metadata_ops for dma_async_tx_descriptor > dmaengine: Add support for reporting DMA cached data amount > dmaengine: ti: Add cppi5 header for UDMA > dt-bindings: dma: ti: Add document for K3 UDMA > dmaengine: ti: New driver for K3 UDMA - split#1: defines, structs, io > func > dmaengine: ti: New driver for K3 UDMA - split#2: probe/remove, xlate > and filter_fn > dmaengine: ti: New driver for K3 UDMA - split#3: alloc/free > chan_resources > dmaengine: ti: New driver for K3 UDMA - split#4: dma_device callbacks > 1 > dmaengine: ti: New driver for K3 UDMA - split#5: dma_device callbacks > 2 > dmaengine: ti: New driver for K3 UDMA - split#6: Kconfig and Makefile > > .../devicetree/bindings/dma/ti/k3-udma.txt | 170 + > .../devicetree/bindings/soc/ti/k3-ringacc.txt | 59 + > Documentation/driver-api/dmaengine/client.rst | 75 + > .../driver-api/dmaengine/provider.rst | 46 + > drivers/dma/dmaengine.c | 73 + > drivers/dma/dmaengine.h | 8 + > drivers/dma/ti/Kconfig | 22 + > drivers/dma/ti/Makefile | 2 + > drivers/dma/ti/k3-udma-glue.c | 1039 +++++ > drivers/dma/ti/k3-udma-private.c | 124 + > drivers/dma/ti/k3-udma.c | 3479 +++++++++++++++++ > drivers/dma/ti/k3-udma.h | 160 + > drivers/soc/ti/Kconfig | 17 + > drivers/soc/ti/Makefile | 1 + > drivers/soc/ti/k3-ringacc.c | 1191 ++++++ > include/dt-bindings/dma/k3-udma.h | 10 + > include/linux/dma/k3-udma-glue.h | 125 + > include/linux/dma/ti-cppi5.h | 996 +++++ > include/linux/dmaengine.h | 110 + > include/linux/soc/ti/k3-ringacc.h | 262 ++ > 20 files changed, 7969 insertions(+) > create mode 100644 Documentation/devicetree/bindings/dma/ti/k3-udma.txt > create mode 100644 Documentation/devicetree/bindings/soc/ti/k3-ringacc.txt > create mode 100644 drivers/dma/ti/k3-udma-glue.c > create mode 100644 drivers/dma/ti/k3-udma-private.c > create mode 100644 drivers/dma/ti/k3-udma.c > create mode 100644 drivers/dma/ti/k3-udma.h > create mode 100644 drivers/soc/ti/k3-ringacc.c > create mode 100644 include/dt-bindings/dma/k3-udma.h > create mode 100644 include/linux/dma/k3-udma-glue.h > create mode 100644 include/linux/dma/ti-cppi5.h > create mode 100644 include/linux/soc/ti/k3-ringacc.h > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C18AC4320D for ; Tue, 24 Sep 2019 13:53:54 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1CAB520872 for ; Tue, 24 Sep 2019 13:53:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="S5GXmoWR"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ti.com header.i=@ti.com header.b="YXu0expJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1CAB520872 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=ti.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:References:To:From:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=I2dhHoDvc8XYVC5AmYX93PvMamTiGtoDvCtt+/U0lSI=; b=S5GXmoWRMhvIM5 gONvkBi0QjiGOoa+ZSpM+cyM9JPVjfZ+WlLNg9CzuiOabLQAYb79C3xwoF8XP7mjW/pLJHeSP2jPT +PX9qCdwWAH8DoRSV9W7TZd43Zc0EPdPQSSBSFhvzGNfI7qzBLG57H1/NKimvVqyJUpxozFAfKy1K B+Qn3sR+LW1DmPFqcRqxUM69ncXh474ZWSQOKEW2ohYoZB/aCY3gtDRYCqazqoDCwvHpIS3TCVRvf dLQzDtfJ77KAgNSnaGH2P/cdjoGF2a4Cg/hDBOy9Dw8plvGY5jDXGnIQwYVua3ftVTmpeuKCrjVYo qvIT7yQi4KBVyJHVB3VA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iClGD-0003BV-0l; Tue, 24 Sep 2019 13:53:45 +0000 Received: from fllv0015.ext.ti.com ([198.47.19.141]) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iClG9-0003BA-U3 for linux-arm-kernel@lists.infradead.org; Tue, 24 Sep 2019 13:53:43 +0000 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id x8ODrY1g046558; Tue, 24 Sep 2019 08:53:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1569333214; bh=I+ndL9UN+xitCCkAJmg8WMtwHoyKQ2WaYNCRG2in++o=; h=Subject:From:To:CC:References:Date:In-Reply-To; b=YXu0expJ6nldXO3KHaVCX4bCge8OFC73vFGagSnFRpBdnJqTReOwyembxnsuONQB/ F4SNsTigfE7cKJVzFlHYcqjfAlyxkh/u5xaEcGFDTgfw1YTCOoHkr6KcBrD2IdQiyh psaqHXTj3TOtlbvOLaZfL735bpMTgKst6ds5cch0= Received: from DFLE100.ent.ti.com (dfle100.ent.ti.com [10.64.6.21]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x8ODrYfI121802 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 24 Sep 2019 08:53:34 -0500 Received: from DFLE114.ent.ti.com (10.64.6.35) by DFLE100.ent.ti.com (10.64.6.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Tue, 24 Sep 2019 08:53:27 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DFLE114.ent.ti.com (10.64.6.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Tue, 24 Sep 2019 08:53:27 -0500 Received: from [192.168.2.6] (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id x8ODrUvW060521; Tue, 24 Sep 2019 08:53:30 -0500 Subject: Re: [PATCH v2 00/14] dmaengine/soc: Add Texas Instruments UDMA support From: Peter Ujfalusi To: , , , References: <20190730093450.12664-1-peter.ujfalusi@ti.com> Message-ID: Date: Tue, 24 Sep 2019 16:54:11 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190730093450.12664-1-peter.ujfalusi@ti.com> Content-Language: en-US X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190924_065342_056896_D0BA8ADF X-CRM114-Status: GOOD ( 32.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, grygorii.strashko@ti.com, lokeshvutla@ti.com, j-keerthy@ti.com, linux-kernel@vger.kernel.org, t-kristo@ti.com, tony@atomide.com, dmaengine@vger.kernel.org, dan.j.williams@intel.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgpPbiAzMC8wNy8yMDE5IDEyLjM0LCBQZXRlciBVamZhbHVzaSB3cm90ZToKPiBDaGFuZ2Vz IHNpbmNlIHYxCj4gKGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9saW51eC1k bWFlbmdpbmUvbGlzdC8/c2VyaWVzPTExNDEwNSZzdGF0ZT0qKQo+IC0gQWRkZWQgc3VwcG9ydCBm b3IgajcyMWUKPiAtIEJhc2VkIG9uIDUuMy1yYzIKPiAtIGRyb3BwZWQgdGlfc2NpIEFQSSBwYXRj aCBmb3IgUk0gbWFuYWdlbWVudCBhcyBpdCBpcyBhbHJlYWR5IHVwc3RyZWFtCj4gLSBkcm9wcGVk IGRtYWRldl9nZXRfc2xhdmVfY2hhbm5lbCgpIHBhdGNoLCB1c2luZyBfX2RtYV9yZXF1ZXN0X2No YW5uZWwoKQo+IC0gQWRkZWQgUm9iJ3MgUmV2aWV3ZWQtYnkgdG8gcmluZ2FjYyBEVCBiaW5kaW5n IGRvY3VtZW50IHBhdGNoCj4gLSBEVCBiaW5kaW5ncyBjaGFuZ2VzOgo+ICAtIGxpbnV4LHVkbWEt bW9kZSBpcyBnb25lLCBJIGhhdmUgYSBzaW1wbGUgbG9va3VwIHRhYmxlIGluIHRoZSBkcml2ZXIg dG8gZmxhZwo+ICAgIFRSIGNoYW5uZWxzLgo+ICAtIFN1cHBvcnQgZm9yIGo3MjFlCj4gLSBGaXgg YnVnIGluIG9mX25vZGVfcHV0KCkgaGFuZGxpbmcgaW4geGxhdGUgZnVuY3Rpb24KCkkgaGF2ZSBh ZGRyZXNzZWQgbG9jYWxseSBhbGwgdGhlIGNvbW1lbnRzIGdpdmVuIGZvciB2MiBzbyBmYXIuIElz IHRoZXJlCmFueXRoaW5nIGVsc2UgSSBuZWVkIHRvIGNoYW5nZSBmb3IgdjM/CgpSZWdhcmRzLAot IFDDqXRlcgoKPiAKPiBDaGFuZ2VzIHNpbmNlIFJGQyAoaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVs Lm9yZy9jb3Zlci8xMDYxMjQ2NS8pOgo+IC0gQmFzZWQgb24gbGludXgtbmV4dCAoMjAxOTA1MDYp IHdoaWNoIG5vdyBoYXZlIHRoZSB0aV9zY2kgaW50ZXJydXB0IHN1cHBvcnQKPiAtIFRoZSBzZXJp ZXMgY2FuIGJlIGFwcGxpZWQgYW5kIHRoZSBVRE1BIHZpYSBETUFlbmdpbmUgQVBJIHdpbGwgYmUg ZnVuY3Rpb25hbAo+IC0gSW5jbHVkZWQgaW4gdGhlIHNlcmllczogdGlfc2NpIFJlc291cmNlIG1h bmFnZW1lbnQgQVBJLCBjcHBpNSBoZWFkZXIgYW5kCj4gICBkcml2ZXIgZm9yIHRoZSByaW5nIGFj Y2VsZXJhdG9yLgo+IC0gVGhlIERNQWVuZ2luZSBjb3JlIHBhdGNoZXMgaGF2ZSBiZWVuIHVwZGF0 ZWQgYXMgcGVyIHRoZSByZXZpZXcgY29tbWVudHMgZm9yCj4gICBlYXJsaWVyIHN1Ym1pdHRpb24u Cj4gLSBUaGUgRE1BZW5naW5lIGRyaXZlciBwYXRjaCBpcyBhcnRpZmljaWFsbHkgc3BsaXQgdXAg dG8gNiBzbWFsbGVyIHBhdGNoZXMKPiAKPiBUaGUgazMtdWRtYSBkcml2ZXIgaW1wbGVtZW50cyB0 aGUgRGF0YSBNb3ZlbWVudCBBcmNoaXRlY3R1cmUgZGVzY3JpYmVkIGluCj4gQU02NXggVFJNICho dHRwOi8vd3d3LnRpLmNvbS9saXQvcGRmL3NwcnVpZDcpIGFuZAo+IGo3MjFlIFRSTSAoaHR0cDov L3d3dy50aS5jb20vbGl0L3BkZi9zcHJ1aWwxKQo+IAo+IFRoaXMgRE1BIGFyY2hpdGVjdHVyZSBp cyBhIGJpZyBkZXBhcnR1cmUgZnJvbSAndHJhZGl0aW9uYWwnIGFyY2hpdGVjdHVyZSB3aGVyZQo+ IHdlIGhhZCBlaXRoZXIgRURNQSBvciBzRE1BIGFzIHN5c3RlbSBETUEuCj4gCj4gUGFja2V0IERN QXMgd2VyZSB1c2VkIGFzIGRlZGljYXRlZCBETUFzIHRvIHNlcnZpY2Ugb25seSBuZXR3b3JraW5n IChLZXN5dG9uZTIpCj4gb3IgVVNCIChhbTMzNXgpIHdoaWxlIG90aGVyIHBlcmlwaGVyYWxzIHdl cmUgc2VydmljZWQgYnkgRURNQS4KPiAKPiBJbiBBTTY1eC9qNzIxZSB0aGUgVURNQSAoVW5pZmll ZCBETUEpIGlzIHVzZWQgZm9yIGFsbCBkYXRhIG1vdm1lbnQgd2l0aGluIHRoZQo+IFNvQywgdGFz a2VkIHRvIHNlcnZpY2UgYWxsIHBlcmlwaGVyYWxzIChVQVJULCBNY1NQSSwgTWNBU1AsIG5ldHdv cmtpbmcsIGV0YykuIAo+IAo+IFRoZSBOQVZTUy9VRE1BIGlzIGJ1aWx0IGFyb3VuZCBDUFBJNSAo Q29tbXVuaWNhdGlvbnMgUG9ydCBQcm9ncmFtbWluZyBJbnRlcmZhY2UpCj4gYW5kIGl0IHN1cHBv cnRzIFBhY2tldCBtb2RlIChzaW1pbGFyIHRvIENQUEk0LjEgaW4gS2V5c3RvbmUyIGZvciBuZXR3 b3JraW5nKSBhbmQKPiBUUiBtb2RlIChzaW1pbGFyIHRvIEVETUEgZGVzY3JpcHRvcikuCj4gVGhl IGRhdGEgbW92ZW1lbnQgaXMgZG9uZSB3aXRoaW4gYSBQU0ktTCBmYWJyaWMsIHBlcmlwaGVyYWxz IChpbmNsdWRpbmcgdGhlCj4gVURNQS1QKSBhcmUgbm90IGFkZHJlc3NlZCBieSB0aGVpciBJL08g cmVnaXN0ZXIgYXMgd2l0aCB0cmFkaXRpb25hbCBETUFzIGJ1dAo+IHdpdGggdGhlaXIgUFNJLUwg dGhyZWFkIElELgo+IAo+IEluIEFNNjV4L2o3MjFlIHdlIGhhdmUgdHdvIG1haW4gdHlwZSBvZiBw ZXJpcGhlcmFsczoKPiBMZWdhY3k6IE1jQVNQLCBNY1NQSSwgVUFSVCwgZXRjLgo+ICB0byBwcm92 aWRlIGNvbm5lY3Rpdml0eSB0aGV5IGFyZSBzZXJ2aWNlZCBieSBQRE1BIChQZXJpcGhlcmFsIERN QSkKPiAgUERNQSB0aHJlYWRzIGFyZSBsb2NrZWQgdG8gc2VydmljZSBhIGdpdmVuIHBlcmlwaGVy YWwsIGZvciBleGFtcGxlIFBTSS1MIHRocmVhZAo+ICAweDQ0MDAvMHhjNDAwIGlzIHRvIHNlcnZp Y2UgTWNBU1AwIHJ4L3R4Lgo+ICBUaGUgUERNYSBjb25maWd1cmF0aW9uIGNhbiBiZSBkb25lIHZp YSB0aGUgVURNQSBSZWFsIFRpbWUgUGVlciByZWdpc3RlcnMuCj4gTmF0aXZlOiBOZXR3b3JraW5n LCBzZWN1cml0eSBhY2NlbGVyYXRvcgo+ICB0aGVzZSBwZXJpcGhlcmFscyBoYXZlIG5hdGl2ZSBz dXBwb3J0IGZvciBQU0ktTC4KPiAKPiBUbyBiZSBhYmxlIHRvIHVzZSB0aGUgRE1BIHRoZSBmb2xs b3dpbmcgZ2VuZXJpYyBzdGVwcyBuZWVkIHRvIGJlIHRha2VuOgo+IC0gY29uZmlndXJlIGEgRE1B IGNoYW5uZWwgKHRjaGFuIGZvciBUWCwgcmNoYW4gZm9yIFJYKQo+ICAtIGNoYW5uZWwgbW9kZTog UGFja2V0IG9yIFRSIG1vZGUKPiAgLSBmb3IgbWVtY3B5IGEgdGNoYW4gYW5kIHJjaGFuIHBhaXIg aXMgdXNlZC4KPiAgLSBmb3IgcGFja2V0IG1vZGUgUlggd2UgYWxzbyBuZWVkIHRvIGNvbmZpZ3Vy ZSBhIHJlY2VpdmUgZmxvdyB0byBjb25maWd1cmUgdGhlCj4gICAgcGFja2V0IHJlY2VpcHRpb24K PiAtIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHRocmVhZHMgbXVzdCBiZSBwYWlyZWQKPiAt IGF0IG1pbmltdW0gb25lIHBhaXIgb2YgcmluZ3MgbmVlZCB0byBiZSBjb25maWd1cmVkOgo+ICAt IHR4OiB0cmFuc2ZlciByaW5nIGFuZCB0cmFuc2ZlciBjb21wbGV0aW9uIHJpbmcKPiAgLSByeDog ZnJlZSBkZXNjcmlwdG9yIHJpbmcgYW5kIHJlY2VpdmUgcmluZwo+IC0gdHdvIGludGVycnVwdHM6 IFVETUEtUCBjaGFubmVsIGludGVycnVwdCBhbmQgcmluZyBpbnRlcnJ1cHQgZm9yIHRjX3Jpbmcv cl9yaW5nCj4gIC0gSWYgdGhlIGNoYW5uZWwgaXMgaW4gcGFja2V0IG1vZGUgb3IgY29uZmlndXJl ZCB0byBtZW1jcHkgdGhlbiB3ZSBvbmx5IG5lZWQKPiAgICBvbmUgaW50ZXJydXB0IGZyb20gdGhl IHJpbmcsIGV2ZW50cyBmcm9tIFVETUFQIGlzIG5vdCB1c2VkLgo+IAo+IFdoZW4gdGhlIGNoYW5u ZWwgc2V0dXAgaXMgY29tcGxldGVkIHdlIG9ubHkgaW50ZXJyYWN0IHdpdGggdGhlIHJpbmdzOgo+ IC0gVFg6IHB1c2ggYSBkZXNjcmlwdG9yIHRvIHRfcmluZyBhbmQgd2FpdCBmb3IgaXQgdG8gYmUg cHVzaGVkIHRvIHRoZSB0Y19yaW5nIGJ5Cj4gICB0aGUgVURNQS1QCj4gLSBSWDogcHVzaCBhIGRl c2NyaXB0b3IgdG8gdGhlIGZkX3JpbmcgYW5kIHdhaXRoIGZvciBVRE1BLVAgdG8gcHVzaCBpdCBi YWNrIHRvCj4gICB0aGUgcl9yaW5nLgo+IAo+IFNpbmNlIHdlIGhhdmUgRklGT3MgaW4gdGhlIERN QSBmYWJyaWMgKFVETUEtUCwgUFNJLUwgYW5kIFBETUEpIHdoaWNoIHdhcyBub3QgdGhlCj4gY2Fz ZSBpbiBwcmV2aW91cyBETUFzIHdlIG5lZWQgdG8gcmVwb3J0IHRoZSBhbW91bnQgb2YgZGF0YSBo ZWxkIGluIHRoZXNlIEZJRk9zCj4gdG8gY2xpZW50cyAoZGVsYXkgY2FsY3VsYXRpb24gZm9yIEFM U0EsIFVBUlQgRklGTyBmbHVzaCBzdXBwb3J0KS4KPiAKPiBNZXRhZGF0YSBzdXBwb3J0Ogo+IERN QWVuZ2luZSB1c2VyIGRyaXZlciB3YXMgcG9zdGVkIHVwc3RyZWFtIGJhc2VkL3Rlc3RlZCBvbiB0 aGUgdjEgb2YgdGhlIFVETUEKPiBzZXJpZXM6IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE5LzYv MjgvMjAKPiBTQTJVTCBpcyB1c2luZyB0aGUgbWV0YWRhdGEgRE1BZW5naW5lIEFQSS4KPiAKPiBO b3RlIG9uIHRoZSBsYXN0IHBhdGNoOgo+IEluIEtleXN0b25lMiB0aGUgbmV0d29ya2luZyBoYWQg ZGVkaWNhdGVkIERNQSAocGFja2V0IERNQSkgd2hpY2ggaXMgbm90IHRoZSBjYXNlCj4gYW55bW9y ZSBhbmQgdGhlIERNQWVuZ2luZSBBUEkgY3VycmVudGx5IG1pc3Npbmcgc3VwcG9ydCBmb3IgdGhl IGZlYXR1cmVzIHdlCj4gd291bGQgbmVlZCB0byBzdXBwb3J0IG5ldHdvcmtpbmcsIHRoaW5ncyBs aWtlCj4gLSBzdXBwb3J0IGZvciByZWNlaXZlIGRlc2NyaXB0b3IgJ2NsYXNzaWZpY2F0aW9uJwo+ ICAtIHdlIG5lZWQgdG8gc3VwcG9ydCBzZXZlcmFsIHJlY2VpdmUgcXVldWVzIGZvciBhIGNoYW5u ZWwuCj4gIC0gdGhlIHF1ZXVlcyBhcmUgdXNlZCBmb3IgcGFja2V0IHByaW9yaXR5IGhhbmRsaW5n IGZvciBleGFtcGxlLCBidXQgdGhleSBjYW4gYmUKPiAgICB1c2VkIHRvIGhhdmUgcG9vbHMgb2Yg ZGVzY3JpcHRvcnMgZm9yIGRpZmZlcmVudCBzaXplcy4KPiAtIG91dCBvZiBvcmRlciBjb21wbGV0 aW9uIG9mIGRlc2NyaXB0b3JzIG9uIGEgY2hhbm5lbAo+ICAtIHdoZW4gd2UgaGF2ZSBzZXZlcmFs IHF1ZXVlcyB0byBoYW5kbGUgZGlmZmVyZW50IHByaW9yaXR5IHBhY2tldHMgdGhlCj4gICAgZGVz Y3JpcHRvcnMgd2lsbCBiZSBjb21wbGV0ZWQgJ291dC1vZi1vcmRlcicKPiAtIE5BUEkgdHlwZSBv ZiBvcGVyYXRpb24gKHBvbGxpbmcgaW5zdGVhZCBvZiBpbnRlcnJ1cHQgZHJpdmVuIHRyYW5zZmVy KQo+ICAtIHdpdGhvdXQgdGhpcyB3ZSBjYW4gbm90IHN1c3RhaW4gZ2lnYWJpdCBzcGVlZHMgYW5k IHdlIG5lZWQgdG8gc3VwcG9ydCBOQVBJCj4gIC0gbm90IHRvIGxpbWl0IHRoaXMgdG8gbmV0d29y a2luZywgYnV0IG90aGVyIGhpZ2ggcGVyZm9ybWFuY2Ugb3BlcmF0aW9ucwo+IAo+IEl0IGlzIG15 IGludGVudGlvbiB0byB3b3JrIG9uIHRoZXNlIHRvIGJlIGFibGUgdG8gcmVtb3ZlIHRoZSAnZ2x1 ZScgbGF5ZXIgYW5kCj4gc3dpdGNoIHRvIERNQWVuZ2luZSBBUEkgLSBvciBoYXZlIGFuIEFQSSBh c2lkZSBvZiBETUFlbmdpbmUgdG8gaGF2ZSBnZW5lcmljIHdheQo+IHRvIHN1cHBvcnQgbmV0d29y a2luZywgYnV0IGdpdmVuIGhvdyBjb250cm92ZXJzaWFsIGFuZCBub3QgdHJpdmlhbCB0aGVzZSBj aGFuZ2VzCj4gYXJlIHdlIG5lZWQgc29tZXRoaW5nIHRvIHN1cHBvcnQgbmV0d29ya2luZy4KPiAK PiBUaGUgc2VyaWVzICgrRFQgcGF0Y2ggdG8gZW5hYmxlZCBVRE1BL1BETUEgb24gQU02NXgpIG9u IHRvcCBvZiA1LjMtcmMyIGlzCj4gYXZhaWxhYmxlOgo+IGh0dHBzOi8vZ2l0aHViLmNvbS9vbWFw LWF1ZGlvL2xpbnV4LWF1ZGlvLmdpdCBwZXRlci91ZG1hL3Nlcmllc192Mi01LjMtcmMyCj4gCj4g UmVnYXJkcywKPiBQZXRlcgo+IC0tLQo+IEdyeWdvcmlpIFN0cmFzaGtvICgzKToKPiAgIGJpbmRp bmdzOiBzb2M6IHRpOiBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgazMgcmluZ2FjYwo+ICAgc29jOiB0 aTogazM6IGFkZCBuYXZzcyByaW5nYWNjIGRyaXZlcgo+ICAgZG1hZW5naW5lOiB0aTogazMtdWRt YTogQWRkIGdsdWUgbGF5ZXIgZm9yIG5vbiBETUFlbmdpbmUgdXNlcnMKPiAKPiBQZXRlciBVamZh bHVzaSAoMTEpOgo+ICAgZG1hZW5naW5lOiBkb2M6IEFkZCBzZWN0aW9ucyBmb3IgcGVyIGRlc2Ny aXB0b3IgbWV0YWRhdGEgc3VwcG9ydAo+ICAgZG1hZW5naW5lOiBBZGQgbWV0YWRhdGFfb3BzIGZv ciBkbWFfYXN5bmNfdHhfZGVzY3JpcHRvcgo+ICAgZG1hZW5naW5lOiBBZGQgc3VwcG9ydCBmb3Ig cmVwb3J0aW5nIERNQSBjYWNoZWQgZGF0YSBhbW91bnQKPiAgIGRtYWVuZ2luZTogdGk6IEFkZCBj cHBpNSBoZWFkZXIgZm9yIFVETUEKPiAgIGR0LWJpbmRpbmdzOiBkbWE6IHRpOiBBZGQgZG9jdW1l bnQgZm9yIEszIFVETUEKPiAgIGRtYWVuZ2luZTogdGk6IE5ldyBkcml2ZXIgZm9yIEszIFVETUEg LSBzcGxpdCMxOiBkZWZpbmVzLCBzdHJ1Y3RzLCBpbwo+ICAgICBmdW5jCj4gICBkbWFlbmdpbmU6 IHRpOiBOZXcgZHJpdmVyIGZvciBLMyBVRE1BIC0gc3BsaXQjMjogcHJvYmUvcmVtb3ZlLCB4bGF0 ZQo+ICAgICBhbmQgZmlsdGVyX2ZuCj4gICBkbWFlbmdpbmU6IHRpOiBOZXcgZHJpdmVyIGZvciBL MyBVRE1BIC0gc3BsaXQjMzogYWxsb2MvZnJlZQo+ICAgICBjaGFuX3Jlc291cmNlcwo+ICAgZG1h ZW5naW5lOiB0aTogTmV3IGRyaXZlciBmb3IgSzMgVURNQSAtIHNwbGl0IzQ6IGRtYV9kZXZpY2Ug Y2FsbGJhY2tzCj4gICAgIDEKPiAgIGRtYWVuZ2luZTogdGk6IE5ldyBkcml2ZXIgZm9yIEszIFVE TUEgLSBzcGxpdCM1OiBkbWFfZGV2aWNlIGNhbGxiYWNrcwo+ICAgICAyCj4gICBkbWFlbmdpbmU6 IHRpOiBOZXcgZHJpdmVyIGZvciBLMyBVRE1BIC0gc3BsaXQjNjogS2NvbmZpZyBhbmQgTWFrZWZp bGUKPiAKPiAgLi4uL2RldmljZXRyZWUvYmluZGluZ3MvZG1hL3RpL2szLXVkbWEudHh0ICAgIHwg IDE3MCArCj4gIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL3NvYy90aS9rMy1yaW5nYWNjLnR4dCB8 ICAgNTkgKwo+ICBEb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvZG1hZW5naW5lL2NsaWVudC5yc3Qg fCAgIDc1ICsKPiAgLi4uL2RyaXZlci1hcGkvZG1hZW5naW5lL3Byb3ZpZGVyLnJzdCAgICAgICAg IHwgICA0NiArCj4gIGRyaXZlcnMvZG1hL2RtYWVuZ2luZS5jICAgICAgICAgICAgICAgICAgICAg ICB8ICAgNzMgKwo+ICBkcml2ZXJzL2RtYS9kbWFlbmdpbmUuaCAgICAgICAgICAgICAgICAgICAg ICAgfCAgICA4ICsKPiAgZHJpdmVycy9kbWEvdGkvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAyMiArCj4gIGRyaXZlcnMvZG1hL3RpL01ha2VmaWxlICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDIgKwo+ICBkcml2ZXJzL2RtYS90aS9rMy11ZG1hLWdsdWUuYyAgICAgICAgICAg ICAgICAgfCAxMDM5ICsrKysrCj4gIGRyaXZlcnMvZG1hL3RpL2szLXVkbWEtcHJpdmF0ZS5jICAg ICAgICAgICAgICB8ICAxMjQgKwo+ICBkcml2ZXJzL2RtYS90aS9rMy11ZG1hLmMgICAgICAgICAg ICAgICAgICAgICAgfCAzNDc5ICsrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZG1hL3RpL2sz LXVkbWEuaCAgICAgICAgICAgICAgICAgICAgICB8ICAxNjAgKwo+ICBkcml2ZXJzL3NvYy90aS9L Y29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE3ICsKPiAgZHJpdmVycy9zb2MvdGkv TWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCj4gIGRyaXZlcnMvc29jL3Rp L2szLXJpbmdhY2MuYyAgICAgICAgICAgICAgICAgICB8IDExOTEgKysrKysrCj4gIGluY2x1ZGUv ZHQtYmluZGluZ3MvZG1hL2szLXVkbWEuaCAgICAgICAgICAgICB8ICAgMTAgKwo+ICBpbmNsdWRl L2xpbnV4L2RtYS9rMy11ZG1hLWdsdWUuaCAgICAgICAgICAgICAgfCAgMTI1ICsKPiAgaW5jbHVk ZS9saW51eC9kbWEvdGktY3BwaTUuaCAgICAgICAgICAgICAgICAgIHwgIDk5NiArKysrKwo+ICBp bmNsdWRlL2xpbnV4L2RtYWVuZ2luZS5oICAgICAgICAgICAgICAgICAgICAgfCAgMTEwICsKPiAg aW5jbHVkZS9saW51eC9zb2MvdGkvazMtcmluZ2FjYy5oICAgICAgICAgICAgIHwgIDI2MiArKwo+ ICAyMCBmaWxlcyBjaGFuZ2VkLCA3OTY5IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAw NjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kbWEvdGkvazMtdWRtYS50eHQK PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9z b2MvdGkvazMtcmluZ2FjYy50eHQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZG1hL3Rp L2szLXVkbWEtZ2x1ZS5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2RtYS90aS9rMy11 ZG1hLXByaXZhdGUuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9kbWEvdGkvazMtdWRt YS5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2RtYS90aS9rMy11ZG1hLmgKPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc29jL3RpL2szLXJpbmdhY2MuYwo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgaW5jbHVkZS9kdC1iaW5kaW5ncy9kbWEvazMtdWRtYS5oCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBpbmNsdWRlL2xpbnV4L2RtYS9rMy11ZG1hLWdsdWUuaAo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgaW5jbHVkZS9saW51eC9kbWEvdGktY3BwaTUuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg aW5jbHVkZS9saW51eC9zb2MvdGkvazMtcmluZ2FjYy5oCj4gCgpUZXhhcyBJbnN0cnVtZW50cyBG aW5sYW5kIE95LCBQb3Jra2FsYW5rYXR1IDIyLCAwMDE4MCBIZWxzaW5raS4KWS10dW5udXMvQnVz aW5lc3MgSUQ6IDA2MTU1MjEtNC4gS290aXBhaWtrYS9Eb21pY2lsZTogSGVsc2lua2kKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK