RE: [linuxppc-dev] [PATCH] Driver support FSL RaidEngine device.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Dan,

Many thanks for your review.

I will remove the channel_switch things in Kconfig and change the tasklet to threaded_irq.

I'm waiting for your further review comments to work out the 2nd version.

Best Regards,
Shi

-----Original Message-----
From: linuxppc-dev-bounces@xxxxxxxxxxxxxxxxxxx [mailto:linuxppc-dev-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Dan Williams
Sent: 2014年2月26日 5:57
To: xuelin.shi@xxxxxxxxxxxxx
Cc: Vinod Koul; linuxppc-dev@xxxxxxxxxxxxxxxxxxx; Burmi Naveen-B16502; dmaengine@xxxxxxxxxxxxxxx; Shi Xuelin-B29237
Subject: Re: [linuxppc-dev] [PATCH] Driver support FSL RaidEngine device.

2 quick notes below, I'll take a closer look when I get a chance.

On Mon, Feb 24, 2014 at 11:19 PM,  <xuelin.shi@xxxxxxxxxxxxx> wrote:
> From: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx>
>
> The RaidEngine is a new FSL hardware used for Raid5/6 acceration.
>
> This patch enables the RaidEngine functionality and provides hardware 
> offloading capability for memcpy, xor and pq computation.
> It works with async_tx.
>
> Signed-off-by: Harninder Rai <harninder.rai@xxxxxxxxxxxxx>
> Signed-off-by: Naveen Burmi <naveenburmi@xxxxxxxxxxxxx>
> Signed-off-by: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx>
> ---
>  drivers/dma/Kconfig    |  12 +
>  drivers/dma/Makefile   |   1 +
>  drivers/dma/fsl_raid.c | 905 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  drivers/dma/fsl_raid.h | 310 +++++++++++++++++
>  4 files changed, 1228 insertions(+)
>  create mode 100644 drivers/dma/fsl_raid.c  create mode 100644 
> drivers/dma/fsl_raid.h
>
> diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 
> 605b016..c15b10b 100644
> --- a/drivers/dma/Kconfig
> +++ b/drivers/dma/Kconfig
> @@ -100,6 +100,18 @@ config FSL_DMA
>           EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on
>           some Txxx and Bxxx parts.
>
> +config FSL_RAID
> +        tristate "Freescale RAID engine Support"
> +        depends on FSL_SOC && !FSL_DMA
> +        select DMA_ENGINE
> +        select DMA_ENGINE_RAID
> +        select ASYNC_TX_ENABLE_CHANNEL_SWITCH

Channel switching support is planned to be removed because it is incompatible with the dma mapping api.  It's also unnecessary in this driver as it appears a given channel has all the raid capabilities.

[..]
> +/* Per job ring data structure */
> +struct re_jr {
> +       dma_cookie_t completed_cookie;
> +       spinlock_t desc_lock; /* queue lock */
> +       struct list_head ack_q;  /* wait to acked queue */
> +       struct list_head active_q; /* already issued on hw, not completed */
> +       struct list_head submit_q;
> +       struct list_head free_q; /* alloc available queue */
> +       struct device *dev;
> +       struct re_drv_private *re_dev;
> +       struct dma_chan chan;
> +       struct jr_config_regs *jrregs;
> +       int irq;
> +       struct tasklet_struct irqtask;

Please convert to threaded irqs.  Tasklets are discouraged for new drivers.

--
Dan

_______________________________________________
linuxppc-dev mailing list
linuxppc-dev@xxxxxxxxxxxxxxxxxxx
http://linux.freescale.net/mailman/listinfo/linuxppc-dev

?韬{.n?????%??檩??w?{.n???Ё?撖)?骅w*jg????????G??⒏⒎?:+v????????????"??????




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux