* Re: [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c
[not found] <da824cf30903301739l688e8eb2r46086953245ebbe5@mail.gmail.com>
@ 2009-03-31 7:51 ` Geert Uytterhoeven
2009-03-31 9:33 ` KOBAYASHI Yoshitake
2009-03-31 15:26 ` Atsushi Nemoto
0 siblings, 2 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2009-03-31 7:51 UTC (permalink / raw)
To: Grant Grundler, Atsushi Nemoto
Cc: IDE/ATA Devel, Bartlomiej Zolnierkiewicz, Linux/PPC Development,
Linux/MIPS Development, LKML
On Mon, 30 Mar 2009, Grant Grundler wrote:
> Followup to "[PATCH 03/10] ide: destroy DMA mappings after ending DMA"
> email on March 14th:
> http://lkml.org/lkml/2009/3/14/17
>
> No maintainer is listed for "Toshiba CELL Reference Set IDE" (BLK_DEV_CELLEB)
> or tx4939ide.c in MAINTAINERS. I've CC'd "Ishizaki Kou" @Toshiba (Maintainer for
> "Spidernet Network Driver for CELL") and linuxppc-dev list in the hope
> someone else
> would know or would be able to ACK this patch.
tx49xx is MIPS, for Nemoto-san.
> This patch:
> o replaces "mask" variable in ide_dma_end() with #define.
> o removes use of wmb() in ide-dma-sff.c and scc_pata.c.
> o is not tested - I don't have (or want) the HW.
>
> I did NOT remove wmb() use in tx4939ide.c. tx4939ide.c __raw_writeb()
> for MMIO transactions. __raw_writeb() does NOT guarantee memory
> transaction ordering.
>
> tx4939ide also uses mmiowb(). AFAIK, mmiowb() only has an effect on
> SGI IA64 NUMA machines. I'm not going to guess how this driver might work.
>
> Gmail is broken for sending patches (word wrap). My apologies.
> I've attached the patch: diff-next-remove_wmb_from_ide-01.txt
>
> Patch is against linux-next tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next
>
> Signed-off-by: Grant Grundler <grundler@google.com>
[ attachment converted to inline ]
> diff --git a/drivers/ide/ide-dma-sff.c b/drivers/ide/ide-dma-sff.c
> index 16fc46e..e4cdf78 100644
> --- a/drivers/ide/ide-dma-sff.c
> +++ b/drivers/ide/ide-dma-sff.c
> @@ -277,8 +277,6 @@ void ide_dma_start(ide_drive_t *drive)
> dma_cmd = inb(hwif->dma_base + ATA_DMA_CMD);
> outb(dma_cmd | ATA_DMA_START, hwif->dma_base + ATA_DMA_CMD);
> }
> -
> - wmb();
> }
> EXPORT_SYMBOL_GPL(ide_dma_start);
>
> @@ -286,7 +284,7 @@ EXPORT_SYMBOL_GPL(ide_dma_start);
> int ide_dma_end(ide_drive_t *drive)
> {
> ide_hwif_t *hwif = drive->hwif;
> - u8 dma_stat = 0, dma_cmd = 0, mask;
> + u8 dma_stat = 0, dma_cmd = 0;
>
> /* stop DMA */
> if (hwif->host_flags & IDE_HFLAG_MMIO) {
> @@ -304,11 +302,10 @@ int ide_dma_end(ide_drive_t *drive)
> /* clear INTR & ERROR bits */
> ide_dma_sff_write_status(hwif, dma_stat | ATA_DMA_ERR | ATA_DMA_INTR);
>
> - wmb();
> +#define CHECK_DMA_MASK (ATA_DMA_ACTIVE | ATA_DMA_ERR | ATA_DMA_INTR)
>
> /* verify good DMA status */
> - mask = ATA_DMA_ACTIVE | ATA_DMA_ERR | ATA_DMA_INTR;
> - if ((dma_stat & mask) != ATA_DMA_INTR)
> + if ((dma_stat & CHECK_DMA_MASK) != ATA_DMA_INTR)
> return 0x10 | dma_stat;
> return 0;
> }
> diff --git a/drivers/ide/scc_pata.c b/drivers/ide/scc_pata.c
> index 97f8e0e..dcbb299 100644
> --- a/drivers/ide/scc_pata.c
> +++ b/drivers/ide/scc_pata.c
> @@ -337,7 +337,6 @@ static void scc_dma_start(ide_drive_t *drive)
>
> /* start DMA */
> scc_ide_outb(dma_cmd | 1, hwif->dma_base);
> - wmb();
> }
>
> static int __scc_dma_end(ide_drive_t *drive)
> @@ -354,7 +353,6 @@ static int __scc_dma_end(ide_drive_t *drive)
> /* clear the INTR & ERROR bits */
> scc_ide_outb(dma_stat | 6, hwif->dma_base + 4);
> /* verify good DMA status */
> - wmb();
> return (dma_stat & 7) != 4 ? (0x10 | dma_stat) : 0;
> }
With kind regards,
Geert Uytterhoeven
Software Architect
Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/
A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c
2009-03-31 7:51 ` [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c Geert Uytterhoeven
@ 2009-03-31 9:33 ` KOBAYASHI Yoshitake
2009-04-02 19:08 ` Bartlomiej Zolnierkiewicz
2009-03-31 15:26 ` Atsushi Nemoto
1 sibling, 1 reply; 4+ messages in thread
From: KOBAYASHI Yoshitake @ 2009-03-31 9:33 UTC (permalink / raw)
To: Geert Uytterhoeven, IDE/ATA Devel
Cc: Grant Grundler, Atsushi Nemoto, LKML, Linux/MIPS Development,
Bartlomiej Zolnierkiewicz, Linux/PPC Development
2009/03/31 16:51, Geert Uytterhoeven wrote:
> On Mon, 30 Mar 2009, Grant Grundler wrote:
>> Followup to "[PATCH 03/10] ide: destroy DMA mappings after ending DMA"
>> email on March 14th:
>> http://lkml.org/lkml/2009/3/14/17
>>
>> No maintainer is listed for "Toshiba CELL Reference Set IDE" (BLK_DEV_CELLEB)
>> or tx4939ide.c in MAINTAINERS. I've CC'd "Ishizaki Kou" @Toshiba (Maintainer for
>> "Spidernet Network Driver for CELL") and linuxppc-dev list in the hope
>> someone else
>> would know or would be able to ACK this patch.
>
> tx49xx is MIPS, for Nemoto-san.
The patch looks good for Toshiba Cell Reference Set.
I think the patch will be acked by IDE maintainer.
Thank you for informing me of the contribution.
Regards,
-- Yoshi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c
2009-03-31 7:51 ` [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c Geert Uytterhoeven
2009-03-31 9:33 ` KOBAYASHI Yoshitake
@ 2009-03-31 15:26 ` Atsushi Nemoto
1 sibling, 0 replies; 4+ messages in thread
From: Atsushi Nemoto @ 2009-03-31 15:26 UTC (permalink / raw)
To: Geert.Uytterhoeven
Cc: grundler, linux-ide, bzolnier, linuxppc-dev, linux-mips,
linux-kernel
On Tue, 31 Mar 2009 09:51:53 +0200 (CEST), Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
> > Followup to "[PATCH 03/10] ide: destroy DMA mappings after ending DMA"
> > email on March 14th:
> > http://lkml.org/lkml/2009/3/14/17
> >
> > No maintainer is listed for "Toshiba CELL Reference Set IDE" (BLK_DEV_CELLEB)
> > or tx4939ide.c in MAINTAINERS. I've CC'd "Ishizaki Kou" @Toshiba (Maintainer for
> > "Spidernet Network Driver for CELL") and linuxppc-dev list in the hope
> > someone else
> > would know or would be able to ACK this patch.
>
> tx49xx is MIPS, for Nemoto-san.
>
> > This patch:
> > o replaces "mask" variable in ide_dma_end() with #define.
> > o removes use of wmb() in ide-dma-sff.c and scc_pata.c.
> > o is not tested - I don't have (or want) the HW.
> >
> > I did NOT remove wmb() use in tx4939ide.c. tx4939ide.c __raw_writeb()
> > for MMIO transactions. __raw_writeb() does NOT guarantee memory
> > transaction ordering.
The wmb() in tx4939ide.c was just copied from ide_dma_end(). On this
MIPS core memory operations are strictly ordered so that the wmb() can
be removed.
And on MIPS __raw_writeb() and writeb() do same thing except for
endian conversion.
I will send a patch just for tx4939ide.c. Thank you for suggestion.
> > tx4939ide also uses mmiowb(). AFAIK, mmiowb() only has an effect on
> > SGI IA64 NUMA machines. I'm not going to guess how this driver might work.
On MIPS mmiowb() can be (ab)used to flush write buffer. Please do not
drop this mmiowb().
---
Atsushi Nemoto
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c
2009-03-31 9:33 ` KOBAYASHI Yoshitake
@ 2009-04-02 19:08 ` Bartlomiej Zolnierkiewicz
0 siblings, 0 replies; 4+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2009-04-02 19:08 UTC (permalink / raw)
To: KOBAYASHI Yoshitake
Cc: Geert Uytterhoeven, IDE/ATA Devel, Grant Grundler, Atsushi Nemoto,
LKML, Linux/MIPS Development, Linux/PPC Development
On Tuesday 31 March 2009, KOBAYASHI Yoshitake wrote:
> 2009/03/31 16:51, Geert Uytterhoeven wrote:
> > On Mon, 30 Mar 2009, Grant Grundler wrote:
> >> Followup to "[PATCH 03/10] ide: destroy DMA mappings after ending DMA"
> >> email on March 14th:
> >> http://lkml.org/lkml/2009/3/14/17
> >>
> >> No maintainer is listed for "Toshiba CELL Reference Set IDE" (BLK_DEV_CELLEB)
> >> or tx4939ide.c in MAINTAINERS. I've CC'd "Ishizaki Kou" @Toshiba (Maintainer for
> >> "Spidernet Network Driver for CELL") and linuxppc-dev list in the hope
> >> someone else
> >> would know or would be able to ACK this patch.
> >
> > tx49xx is MIPS, for Nemoto-san.
>
> The patch looks good for Toshiba Cell Reference Set.
Great, I applied the patch.
Thanks,
Bart
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-04-02 19:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <da824cf30903301739l688e8eb2r46086953245ebbe5@mail.gmail.com>
2009-03-31 7:51 ` [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c Geert Uytterhoeven
2009-03-31 9:33 ` KOBAYASHI Yoshitake
2009-04-02 19:08 ` Bartlomiej Zolnierkiewicz
2009-03-31 15:26 ` Atsushi Nemoto
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox