From: Anup Patel <anup.patel@broadcom.com> To: Vinod Koul <vinod.koul@intel.com>, Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Herbert Xu <herbert@gondor.apana.org.au>, "David S . Miller" <davem@davemloft.net>, Jassi Brar <jassisinghbrar@gmail.com> Cc: Dan Williams <dan.j.williams@intel.com>, Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>, Rob Rice <rob.rice@broadcom.com>, bcm-kernel-feedback-list@broadcom.com, dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, linux-raid@vger.kernel.org, Anup Patel <anup.patel@broadcom.com> Subject: [PATCH v2 0/5] Broadcom SBA RAID support Date: Tue, 7 Feb 2017 13:46:41 +0530 [thread overview] Message-ID: <1486455406-11202-1-git-send-email-anup.patel@broadcom.com> (raw) The Broadcom SBA RAID is a stream-based device which provides RAID5/6 offload. It requires a SoC specific ring manager (such as Broadcom FlexRM ring manager) to provide ring-based programming interface. Due to this, the Broadcom SBA RAID driver (mailbox client) implements DMA device having one DMA channel using a set of mailbox channels provided by Broadcom SoC specific ring manager driver (mailbox controller). Important limitations of Broadcom SBA RAID hardware are: 1. Requires disk position instead of disk coefficient 2. Supports only 30 PQ disk coefficients To address limitation #1, we have added raid_gflog table which will help driver convert disk coefficient to disk position. To address limitation #2, we have extended Linux Async Tx APIs to check for available PQ coefficients before doing PQ offload. This patchset is based on Linux-4.10-rc2 and depends on patchset "[PATCH v4 0/2] Broadcom FlexRM ring manager support" It is also available at sba-raid-v2 branch of https://github.com/Broadcom/arm64-linux.git Changes since v1: - Droped patch to add mbox_channel_device() API - Used GENMASK and BIT macros wherever possible in bcm-sba-raid driver - Replaced C_MDATA macros with static inline functions in bcm-sba-raid driver - Removed sba_alloc_chan_resources() callback in bcm-sba-raid driver - Used dev_err() instead of dev_info() wherever applicable - Removed call to sba_issue_pending() from sba_tx_submit() in bcm-sba-raid driver - Implemented SBA request chaning for handling (len > sba->req_size) in bcm-sba-raid driver - Implemented device_terminate_all() callback in bcm-sba-raid driver Anup Patel (5): lib/raid6: Add log-of-2 table for RAID6 HW requiring disk position async_tx: Handle DMA devices having support for fewer PQ coefficients async_tx: Fix DMA_PREP_FENCE usage in do_async_gen_syndrome() dmaengine: Add Broadcom SBA RAID driver dt-bindings: Add DT bindings document for Broadcom SBA RAID driver .../devicetree/bindings/dma/brcm,iproc-sba.txt | 29 + crypto/async_tx/async_pq.c | 8 +- crypto/async_tx/async_raid6_recov.c | 12 +- drivers/dma/Kconfig | 13 + drivers/dma/Makefile | 1 + drivers/dma/bcm-sba-raid.c | 1470 ++++++++++++++++++++ include/linux/dmaengine.h | 19 + include/linux/raid/pq.h | 4 + lib/raid6/mktables.c | 20 + 9 files changed, 1571 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/dma/brcm,iproc-sba.txt create mode 100644 drivers/dma/bcm-sba-raid.c -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: anup.patel@broadcom.com (Anup Patel) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 0/5] Broadcom SBA RAID support Date: Tue, 7 Feb 2017 13:46:41 +0530 [thread overview] Message-ID: <1486455406-11202-1-git-send-email-anup.patel@broadcom.com> (raw) The Broadcom SBA RAID is a stream-based device which provides RAID5/6 offload. It requires a SoC specific ring manager (such as Broadcom FlexRM ring manager) to provide ring-based programming interface. Due to this, the Broadcom SBA RAID driver (mailbox client) implements DMA device having one DMA channel using a set of mailbox channels provided by Broadcom SoC specific ring manager driver (mailbox controller). Important limitations of Broadcom SBA RAID hardware are: 1. Requires disk position instead of disk coefficient 2. Supports only 30 PQ disk coefficients To address limitation #1, we have added raid_gflog table which will help driver convert disk coefficient to disk position. To address limitation #2, we have extended Linux Async Tx APIs to check for available PQ coefficients before doing PQ offload. This patchset is based on Linux-4.10-rc2 and depends on patchset "[PATCH v4 0/2] Broadcom FlexRM ring manager support" It is also available at sba-raid-v2 branch of https://github.com/Broadcom/arm64-linux.git Changes since v1: - Droped patch to add mbox_channel_device() API - Used GENMASK and BIT macros wherever possible in bcm-sba-raid driver - Replaced C_MDATA macros with static inline functions in bcm-sba-raid driver - Removed sba_alloc_chan_resources() callback in bcm-sba-raid driver - Used dev_err() instead of dev_info() wherever applicable - Removed call to sba_issue_pending() from sba_tx_submit() in bcm-sba-raid driver - Implemented SBA request chaning for handling (len > sba->req_size) in bcm-sba-raid driver - Implemented device_terminate_all() callback in bcm-sba-raid driver Anup Patel (5): lib/raid6: Add log-of-2 table for RAID6 HW requiring disk position async_tx: Handle DMA devices having support for fewer PQ coefficients async_tx: Fix DMA_PREP_FENCE usage in do_async_gen_syndrome() dmaengine: Add Broadcom SBA RAID driver dt-bindings: Add DT bindings document for Broadcom SBA RAID driver .../devicetree/bindings/dma/brcm,iproc-sba.txt | 29 + crypto/async_tx/async_pq.c | 8 +- crypto/async_tx/async_raid6_recov.c | 12 +- drivers/dma/Kconfig | 13 + drivers/dma/Makefile | 1 + drivers/dma/bcm-sba-raid.c | 1470 ++++++++++++++++++++ include/linux/dmaengine.h | 19 + include/linux/raid/pq.h | 4 + lib/raid6/mktables.c | 20 + 9 files changed, 1571 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/dma/brcm,iproc-sba.txt create mode 100644 drivers/dma/bcm-sba-raid.c -- 2.7.4
next reply other threads:[~2017-02-07 8:17 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-02-07 8:16 Anup Patel [this message] 2017-02-07 8:16 ` [PATCH v2 0/5] Broadcom SBA RAID support Anup Patel 2017-02-07 8:16 ` [PATCH v2 1/5] lib/raid6: Add log-of-2 table for RAID6 HW requiring disk position Anup Patel 2017-02-07 8:16 ` Anup Patel [not found] ` <1486455406-11202-1-git-send-email-anup.patel-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> 2017-02-07 8:16 ` [PATCH v2 2/5] async_tx: Handle DMA devices having support for fewer PQ coefficients Anup Patel 2017-02-07 8:16 ` Anup Patel 2017-02-07 8:16 ` Anup Patel 2017-02-07 8:27 ` Dan Williams 2017-02-07 8:27 ` Dan Williams 2017-02-07 8:27 ` Dan Williams 2017-02-07 9:02 ` Anup Patel 2017-02-07 9:02 ` Anup Patel 2017-02-07 9:02 ` Anup Patel 2017-02-07 16:42 ` Vinod Koul 2017-02-07 16:42 ` Vinod Koul 2017-02-07 16:42 ` Vinod Koul 2017-02-08 6:37 ` Anup Patel 2017-02-08 6:37 ` Anup Patel 2017-02-08 6:37 ` Anup Patel 2017-02-07 18:16 ` Dan Williams 2017-02-07 18:16 ` Dan Williams 2017-02-07 18:16 ` Dan Williams 2017-02-08 8:57 ` Anup Patel 2017-02-08 8:57 ` Anup Patel 2017-02-08 8:57 ` Anup Patel 2017-02-08 16:24 ` Dan Williams 2017-02-08 16:24 ` Dan Williams 2017-02-08 16:24 ` Dan Williams [not found] ` <CAPcyv4iFJXxvJFrUs2jtwP9GX5NcJ8LiEDHeZ5b1fwjCAToe5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-02-09 9:29 ` Anup Patel 2017-02-09 9:29 ` Anup Patel 2017-02-09 9:29 ` Anup Patel 2017-02-09 16:44 ` Dan Williams 2017-02-09 16:44 ` Dan Williams 2017-02-09 16:44 ` Dan Williams 2017-02-10 3:24 ` Anup Patel 2017-02-10 3:24 ` Anup Patel 2017-02-10 3:24 ` Anup Patel 2017-02-07 8:16 ` [PATCH v2 3/5] async_tx: Fix DMA_PREP_FENCE usage in do_async_gen_syndrome() Anup Patel 2017-02-07 8:16 ` Anup Patel 2017-02-07 8:16 ` Anup Patel 2017-02-07 8:16 ` [PATCH v2 4/5] dmaengine: Add Broadcom SBA RAID driver Anup Patel 2017-02-07 8:16 ` Anup Patel 2017-02-07 8:16 ` [PATCH v2 5/5] dt-bindings: Add DT bindings document for " Anup Patel 2017-02-07 8:16 ` Anup Patel
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1486455406-11202-1-git-send-email-anup.patel@broadcom.com \ --to=anup.patel@broadcom.com \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=dan.j.williams@intel.com \ --cc=davem@davemloft.net \ --cc=devicetree@vger.kernel.org \ --cc=dmaengine@vger.kernel.org \ --cc=herbert@gondor.apana.org.au \ --cc=jassisinghbrar@gmail.com \ --cc=jonmason@broadcom.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-raid@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=rjui@broadcom.com \ --cc=rob.rice@broadcom.com \ --cc=robh+dt@kernel.org \ --cc=sbranden@broadcom.com \ --cc=vinod.koul@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.