diff for duplicates of <775016772.20090116151319@emcraft.com> diff --git a/a/1.txt b/N1/1.txt index a644ac8..bc9d5dc 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,12 +1,10 @@ +=0D=0A Hello Anton, - - Hello Anton, - - Thanks for review. Please note the general note I made in "Re[2]: -[PATCH 11/11][v2] ppc440spe-adma: ADMA driver for PPC440SP(e) + Thanks for review. Please note the general note I made in "Re[2]:=20 +[PATCH 11/11][v2] ppc440spe-adma: ADMA driver for PPC440SP(e)=20 systems". - All your comments make sense, so we'll try to address these in the + All your comments make sense, so we'll try to address these in the=20 next version of the driver. Some comments below. On Thursday, January 15, 2009 you wrote: @@ -14,11 +12,12 @@ On Thursday, January 15, 2009 you wrote: > Hello Yuri, > On Tue, Jan 13, 2009 at 03:43:55AM +0300, Yuri Tikhonov wrote: ->> Adds the platform device definitions and the architecture specific support +>> Adds the platform device definitions and the architecture specific suppo= +rt >> routines for the ppc440spe adma driver. ->> +>>=20 >> Any board equipped with PPC440SP(e) controller may utilize this driver. ->> +>>=20 >> Signed-off-by: Yuri Tikhonov <yur@emcraft.com> >> Signed-off-by: Ilya Yanok <yanok@emcraft.com> >> --- @@ -27,10 +26,10 @@ On Thursday, January 15, 2009 you wrote: > Have you thought about splitting ppc440spe-adma.c into multiple > files, btw? - Admittedly, no. But I guess this makes sense. The driver supports two -different types of DMA devices of ppc440spe: DMA0,1 and DMA2[XOR -engine]. So, we could split the driver at least in two, which would -definitely simplified the code. + Admittedly, no. But I guess this makes sense. The driver supports two=20 +different types of DMA devices of ppc440spe: DMA0,1 and DMA2[XOR=20 +engine]. So, we could split the driver at least in two, which would=20 +definitely simplified the code.=20 > A few comments down below... @@ -55,18 +54,20 @@ definitely simplified the code. >> + u32 status; /* status of the CDB */ >> + /* status bits: */ >> + #define DMA_CDB_DONE (1<<0) /* CDB processing competed */ ->> + #define DMA_CDB_CANCEL (1<<1) /* waiting thread was interrupted */ +>> + #define DMA_CDB_CANCEL (1<<1) /* waiting thread was interrupted = +*/ >> +} dma_cdbd_t; > It seems there are no users of this struct. - Indeed. This is an useless inheritance of some old version of the + Indeed. This is an useless inheritance of some old version of the=20 driver. Will remove this in the next patch. [..] >> +/** ->> + * ppc440spe_desc_init_dma01pq - initialize the descriptors for PQ operation +>> + * ppc440spe_desc_init_dma01pq - initialize the descriptors for PQ oper= +ation >> + * qith DMA0/1 >> + */ >> +static inline void ppc440spe_desc_init_dma01pq(ppc440spe_desc_t *desc, @@ -90,8 +91,8 @@ driver. Will remove this in the next patch. >> + struct page *pg; >> + char *a; >> + dma_addr_t dma_addr, addrs[2]; ->> + unsigned long op = 0; ->> + int rval = 0; +>> + unsigned long op =3D 0; +>> + int rval =3D 0; >> + >> + /*FIXME*/ @@ -100,7 +101,7 @@ driver. Will remove this in the next patch. >> + >> + set_bit(PPC440SPE_DESC_WXOR, &op); >> + ->> + pg = alloc_page(GFP_KERNEL); +>> + pg =3D alloc_page(GFP_KERNEL); >> + if (!pg) >> + return -ENOMEM; >> + @@ -123,7 +124,7 @@ driver. Will remove this in the next patch. Right. This driver is a not-completed port from the arch/ppc branch. ->> + int ret=0, irq1, irq2, initcode = PPC_ADMA_INIT_OK; +>> + int ret=3D0, irq1, irq2, initcode =3D PPC_ADMA_INIT_OK; >> + void *regs; >> + ppc440spe_dev_t *adev; >> + ppc440spe_ch_t *chan; @@ -139,14 +140,15 @@ driver. Will remove this in the next patch. >> + int rval, i; >> + struct proc_dir_entry *p; >> + ->> + for (i = 0; i < PPC440SPE_ADMA_ENGINES_NUM; i++) ->> + ppc_adma_devices[i] = -1; +>> + for (i =3D 0; i < PPC440SPE_ADMA_ENGINES_NUM; i++) +>> + ppc_adma_devices[i] =3D -1; >> + ->> + rval = platform_driver_register(&ppc440spe_adma_driver); +>> + rval =3D platform_driver_register(&ppc440spe_adma_driver); >> + ->> + if (rval == 0) { +>> + if (rval =3D=3D 0) { >> + /* Create /proc entries */ ->> + ppc440spe_proot = proc_mkdir(PPC440SPE_R6_PROC_ROOT, NULL); +>> + ppc440spe_proot =3D proc_mkdir(PPC440SPE_R6_PROC_ROOT, NUL= +L); >> + if (!ppc440spe_proot) { >> + printk(KERN_ERR "%s: failed to create %s proc " >> + "directory\n",__func__,PPC440SPE_R6_PROC_ROOT); diff --git a/a/content_digest b/N1/content_digest index 0e4da2e..e696b79 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -4,23 +4,21 @@ "Subject\0Re[2]: [PATCH 11/11][v2] ppc440spe-adma: ADMA driver for PPC440SP(e) systems\0" "Date\0Fri, 16 Jan 2009 15:13:19 +0300\0" "To\0Anton Vorontsov <avorontsov@ru.mvista.com>\0" - "Cc\0linux-raid@vger.kernel.org" - linuxppc-dev@ozlabs.org - dan.j.williams@intel.com - wd@denx.de + "Cc\0wd@denx.de" dzu@denx.de - " yanok@emcraft.com\0" + linux-raid@vger.kernel.org + linuxppc-dev@ozlabs.org + yanok@emcraft.com + " dan.j.williams@intel.com\0" "\00:1\0" "b\0" + "=0D=0A Hello Anton,\n" "\n" - "\n" - " Hello Anton,\n" - "\n" - " Thanks for review. Please note the general note I made in \"Re[2]: \n" - "[PATCH 11/11][v2] ppc440spe-adma: ADMA driver for PPC440SP(e) \n" + " Thanks for review. Please note the general note I made in \"Re[2]:=20\n" + "[PATCH 11/11][v2] ppc440spe-adma: ADMA driver for PPC440SP(e)=20\n" "systems\".\n" "\n" - " All your comments make sense, so we'll try to address these in the \n" + " All your comments make sense, so we'll try to address these in the=20\n" "next version of the driver. Some comments below.\n" "\n" "On Thursday, January 15, 2009 you wrote:\n" @@ -28,11 +26,12 @@ "> Hello Yuri,\n" "\n" "> On Tue, Jan 13, 2009 at 03:43:55AM +0300, Yuri Tikhonov wrote:\n" - ">> Adds the platform device definitions and the architecture specific support\n" + ">> Adds the platform device definitions and the architecture specific suppo=\n" + "rt\n" ">> routines for the ppc440spe adma driver.\n" - ">> \n" + ">>=20\n" ">> Any board equipped with PPC440SP(e) controller may utilize this driver.\n" - ">> \n" + ">>=20\n" ">> Signed-off-by: Yuri Tikhonov <yur@emcraft.com>\n" ">> Signed-off-by: Ilya Yanok <yanok@emcraft.com>\n" ">> ---\n" @@ -41,10 +40,10 @@ "> Have you thought about splitting ppc440spe-adma.c into multiple\n" "> files, btw?\n" "\n" - " Admittedly, no. But I guess this makes sense. The driver supports two \n" - "different types of DMA devices of ppc440spe: DMA0,1 and DMA2[XOR \n" - "engine]. So, we could split the driver at least in two, which would \n" - "definitely simplified the code. \n" + " Admittedly, no. But I guess this makes sense. The driver supports two=20\n" + "different types of DMA devices of ppc440spe: DMA0,1 and DMA2[XOR=20\n" + "engine]. So, we could split the driver at least in two, which would=20\n" + "definitely simplified the code.=20\n" "\n" "> A few comments down below...\n" "\n" @@ -69,18 +68,20 @@ ">> + u32 status; /* status of the CDB */\n" ">> + /* status bits: */\n" ">> + #define DMA_CDB_DONE (1<<0) /* CDB processing competed */\n" - ">> + #define DMA_CDB_CANCEL (1<<1) /* waiting thread was interrupted */\n" + ">> + #define DMA_CDB_CANCEL (1<<1) /* waiting thread was interrupted =\n" + "*/\n" ">> +} dma_cdbd_t;\n" "\n" "> It seems there are no users of this struct.\n" "\n" - " Indeed. This is an useless inheritance of some old version of the \n" + " Indeed. This is an useless inheritance of some old version of the=20\n" "driver. Will remove this in the next patch.\n" "\n" "[..]\n" "\n" ">> +/**\n" - ">> + * ppc440spe_desc_init_dma01pq - initialize the descriptors for PQ operation\n" + ">> + * ppc440spe_desc_init_dma01pq - initialize the descriptors for PQ oper=\n" + "ation\n" ">> + * qith DMA0/1\n" ">> + */\n" ">> +static inline void ppc440spe_desc_init_dma01pq(ppc440spe_desc_t *desc,\n" @@ -104,8 +105,8 @@ ">> + struct page *pg;\n" ">> + char *a;\n" ">> + dma_addr_t dma_addr, addrs[2];\n" - ">> + unsigned long op = 0;\n" - ">> + int rval = 0;\n" + ">> + unsigned long op =3D 0;\n" + ">> + int rval =3D 0;\n" ">> +\n" ">> + /*FIXME*/\n" "\n" @@ -114,7 +115,7 @@ ">> +\n" ">> + set_bit(PPC440SPE_DESC_WXOR, &op);\n" ">> +\n" - ">> + pg = alloc_page(GFP_KERNEL);\n" + ">> + pg =3D alloc_page(GFP_KERNEL);\n" ">> + if (!pg)\n" ">> + return -ENOMEM;\n" ">> +\n" @@ -137,7 +138,7 @@ "\n" " Right. This driver is a not-completed port from the arch/ppc branch.\n" "\n" - ">> + int ret=0, irq1, irq2, initcode = PPC_ADMA_INIT_OK;\n" + ">> + int ret=3D0, irq1, irq2, initcode =3D PPC_ADMA_INIT_OK;\n" ">> + void *regs;\n" ">> + ppc440spe_dev_t *adev;\n" ">> + ppc440spe_ch_t *chan;\n" @@ -153,14 +154,15 @@ ">> + int rval, i;\n" ">> + struct proc_dir_entry *p;\n" ">> +\n" - ">> + for (i = 0; i < PPC440SPE_ADMA_ENGINES_NUM; i++)\n" - ">> + ppc_adma_devices[i] = -1;\n" + ">> + for (i =3D 0; i < PPC440SPE_ADMA_ENGINES_NUM; i++)\n" + ">> + ppc_adma_devices[i] =3D -1;\n" ">> +\n" - ">> + rval = platform_driver_register(&ppc440spe_adma_driver);\n" + ">> + rval =3D platform_driver_register(&ppc440spe_adma_driver);\n" ">> +\n" - ">> + if (rval == 0) {\n" + ">> + if (rval =3D=3D 0) {\n" ">> + /* Create /proc entries */\n" - ">> + ppc440spe_proot = proc_mkdir(PPC440SPE_R6_PROC_ROOT, NULL);\n" + ">> + ppc440spe_proot =3D proc_mkdir(PPC440SPE_R6_PROC_ROOT, NUL=\n" + "L);\n" ">> + if (!ppc440spe_proot) {\n" ">> + printk(KERN_ERR \"%s: failed to create %s proc \"\n" ">> + \"directory\\n\",__func__,PPC440SPE_R6_PROC_ROOT);\n" @@ -182,4 +184,4 @@ " Yuri Tikhonov, Senior Software Engineer\n" Emcraft Systems, www.emcraft.com -4b7a17eb37d5013bb1c535b54bb03ea7cbedefad4b4ce473d4d0d6ea910369fc +10ee7588325ec1dc4958e71292c79d522914b3a4e272b64b777291cb655a6d9a
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.