linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/4] sis5513: clear prefetch and postwrite for ATAPI devices
@ 2007-08-09 20:14 Bartlomiej Zolnierkiewicz
  2007-09-03 14:04 ` Sergei Shtylyov
  0 siblings, 1 reply; 2+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2007-08-09 20:14 UTC (permalink / raw)
  To: linux-ide


Clear prefetch and postwrite for ATAPI devices instead of depending on BIOS.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/pci/sis5513.c |   13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

Index: b/drivers/ide/pci/sis5513.c
===================================================================
--- a/drivers/ide/pci/sis5513.c
+++ b/drivers/ide/pci/sis5513.c
@@ -1,5 +1,5 @@
 /*
- * linux/drivers/ide/pci/sis5513.c	Version 0.29	Aug 1, 2007
+ * linux/drivers/ide/pci/sis5513.c	Version 0.30	Aug 9, 2007
  *
  * Copyright (C) 1999-2000	Andre Hedrick <andre@linux-ide.org>
  * Copyright (C) 2002		Lionel Bouton <Lionel.Bouton@inet6.fr>, Maintainer
@@ -522,20 +522,19 @@ static void sis_program_timings(ide_driv
 		sis_ata133_program_timings(drive, mode);
 }
 
-/* Enables per-drive prefetch and postwrite */
 static void config_drive_art_rwp (ide_drive_t *drive)
 {
 	ide_hwif_t *hwif	= HWIF(drive);
 	struct pci_dev *dev	= hwif->pci_dev;
-
 	u8 reg4bh		= 0;
-	u8 rw_prefetch		= (0x11 << drive->dn);
+	u8 rw_prefetch		= 0;
 
-	if (drive->media != ide_disk)
-		return;
 	pci_read_config_byte(dev, 0x4b, &reg4bh);
 
-	if ((reg4bh & rw_prefetch) != rw_prefetch)
+	if (drive->media == ide_disk)
+		rw_prefetch = 0x11 << drive->dn;
+
+	if ((reg4bh & (0x11 << drive->dn)) != rw_prefetch)
 		pci_write_config_byte(dev, 0x4b, reg4bh|rw_prefetch);
 }
 

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

* Re: [PATCH 3/4] sis5513: clear prefetch and postwrite for ATAPI devices
  2007-08-09 20:14 [PATCH 3/4] sis5513: clear prefetch and postwrite for ATAPI devices Bartlomiej Zolnierkiewicz
@ 2007-09-03 14:04 ` Sergei Shtylyov
  0 siblings, 0 replies; 2+ messages in thread
From: Sergei Shtylyov @ 2007-09-03 14:04 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: linux-ide

Bartlomiej Zolnierkiewicz wrote:

> Clear prefetch and postwrite for ATAPI devices instead of depending on BIOS.

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

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

> Index: b/drivers/ide/pci/sis5513.c
> ===================================================================
> --- a/drivers/ide/pci/sis5513.c
> +++ b/drivers/ide/pci/sis5513.c
> @@ -1,5 +1,5 @@
>  /*
> - * linux/drivers/ide/pci/sis5513.c	Version 0.29	Aug 1, 2007
> + * linux/drivers/ide/pci/sis5513.c	Version 0.30	Aug 9, 2007

    Oh, the driver turned 0.30! Insn't a time for party? ;-)

> @@ -522,20 +522,19 @@ static void sis_program_timings(ide_driv
>  		sis_ata133_program_timings(drive, mode);
>  }
>  
> -/* Enables per-drive prefetch and postwrite */
>  static void config_drive_art_rwp (ide_drive_t *drive)
>  {
>  	ide_hwif_t *hwif	= HWIF(drive);
>  	struct pci_dev *dev	= hwif->pci_dev;
> -
>  	u8 reg4bh		= 0;
> -	u8 rw_prefetch		= (0x11 << drive->dn);
> +	u8 rw_prefetch		= 0;
>  
> -	if (drive->media != ide_disk)
> -		return;
>  	pci_read_config_byte(dev, 0x4b, &reg4bh);
>  
> -	if ((reg4bh & rw_prefetch) != rw_prefetch)
> +	if (drive->media == ide_disk)
> +		rw_prefetch = 0x11 << drive->dn;
> +
> +	if ((reg4bh & (0x11 << drive->dn)) != rw_prefetch)
>  		pci_write_config_byte(dev, 0x4b, reg4bh|rw_prefetch);

    ... except of | operator's style. ;-)

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

end of thread, other threads:[~2007-09-03 14:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-09 20:14 [PATCH 3/4] sis5513: clear prefetch and postwrite for ATAPI devices Bartlomiej Zolnierkiewicz
2007-09-03 14:04 ` Sergei Shtylyov

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).