linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] alim15x3: PIO mode setup fixes
@ 2007-07-20 10:24 Bartlomiej Zolnierkiewicz
  2007-07-20 12:50 ` Sergei Shtylyov
  0 siblings, 1 reply; 3+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2007-07-20 10:24 UTC (permalink / raw)
  To: linux-ide


* Return failure in ->speedproc method for unsupported/invalid transfer
  modes passed from user-space (fixes theoretical OOPS in ali_tune_pio()
  and/or setting random PIO timings on host controller + disabling UDMA
  bit + setting unsupported/invalid transfer mode on the device).

* Don't disable UDMA bit when programming PIO modes.

* Add FIXME about DMA timings never being set.

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/pci/alim15x3.c |   15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

Index: b/drivers/ide/pci/alim15x3.c
===================================================================
--- a/drivers/ide/pci/alim15x3.c
+++ b/drivers/ide/pci/alim15x3.c
@@ -1,5 +1,5 @@
 /*
- * linux/drivers/ide/pci/alim15x3.c		Version 0.25	Jun 9 2007
+ * linux/drivers/ide/pci/alim15x3.c		Version 0.26	Jul 14 2007
  *
  *  Copyright (C) 1998-2000 Michel Aubry, Maintainer
  *  Copyright (C) 1998-2000 Andrzej Krzysztofowicz, Maintainer
@@ -418,6 +418,14 @@ static int ali15x3_tune_chipset(ide_driv
 	u8 tmpbyte		= 0x00;
 	int m5229_udma		= (hwif->channel) ? 0x57 : 0x56;
 
+	if (speed < XFER_PIO_0)
+		return 1;
+
+	if (speed >= XFER_PIO_0 && speed <= XFER_PIO_5) {
+		ali_tune_pio(drive, speed - XFER_PIO_0);
+		return ide_config_drive_speed(drive, speed);
+	}
+
 	if (speed == XFER_UDMA_6)
 		speed1 = 0x47;
 
@@ -430,8 +438,9 @@ static int ali15x3_tune_chipset(ide_driv
 		tmpbyte &= ultra_enable;
 		pci_write_config_byte(dev, m5229_udma, tmpbyte);
 
-		if (speed < XFER_SW_DMA_0)
-			ali_tune_pio(drive, speed - XFER_PIO_0);
+		/*
+		 * FIXME: Oh, my... DMA timings are never set.
+		 */
 	} else {
 		pci_read_config_byte(dev, m5229_udma, &tmpbyte);
 		tmpbyte &= (0x0f << ((1-unit) << 2));

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/4] alim15x3: PIO mode setup fixes
  2007-07-20 10:24 [PATCH 1/4] alim15x3: PIO mode setup fixes Bartlomiej Zolnierkiewicz
@ 2007-07-20 12:50 ` Sergei Shtylyov
  2007-07-22 18:47   ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 3+ messages in thread
From: Sergei Shtylyov @ 2007-07-20 12:50 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: linux-ide

Hi.

Bartlomiej Zolnierkiewicz wrote:

> * Return failure in ->speedproc method for unsupported/invalid transfer
>   modes passed from user-space (fixes theoretical OOPS in ali_tune_pio()
>   and/or setting random PIO timings on host controller + disabling UDMA
>   bit + setting unsupported/invalid transfer mode on the device).

> * Don't disable UDMA bit when programming PIO modes.

    Not an issue per se sice ide_config_drive_speed() will turn DMA off anyway 
(unless a drive denies to set a given xfer mode).

> * Add FIXME about DMA timings never being set.

> * Bump driver version.

> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>

MBR, Sergei

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/4] alim15x3: PIO mode setup fixes
  2007-07-20 12:50 ` Sergei Shtylyov
@ 2007-07-22 18:47   ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 3+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2007-07-22 18:47 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: linux-ide

On Friday 20 July 2007, Sergei Shtylyov wrote:
> Hi.
> 
> Bartlomiej Zolnierkiewicz wrote:
> 
> > * Return failure in ->speedproc method for unsupported/invalid transfer
> >   modes passed from user-space (fixes theoretical OOPS in ali_tune_pio()
> >   and/or setting random PIO timings on host controller + disabling UDMA
> >   bit + setting unsupported/invalid transfer mode on the device).
> 
> > * Don't disable UDMA bit when programming PIO modes.
> 
>     Not an issue per se sice ide_config_drive_speed() will turn DMA off anyway 
> (unless a drive denies to set a given xfer mode).

Yep but it is needed for patch #4/4.

> > * Add FIXME about DMA timings never being set.
> 
> > * Bump driver version.
> 
> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> 
> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>

added

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-07-22 18:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-20 10:24 [PATCH 1/4] alim15x3: PIO mode setup fixes Bartlomiej Zolnierkiewicz
2007-07-20 12:50 ` Sergei Shtylyov
2007-07-22 18:47   ` Bartlomiej Zolnierkiewicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).