Re: [git patches] libata updates

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

 



On 09/28/2009 11:34 AM, Bartlomiej Zolnierkiewicz wrote:
Thanks, your patch looks good to me but since there are still some
leftover issues left we would also need something like the incremental
patch below:

From: Bartlomiej Zolnierkiewicz<bzolnier@xxxxxxxxx>
Subject: [PATCH] pata_atp867x: PIO support fixes

* use  8 clk setting for active clocks == 7 (was 12 clk)
* use 12 clk setting for active clocks>  12 (was  8 clk)
* do 66MHz bus fixup before mapping active clocks
* fix setup of PIO command timings

Signed-off-by: Bartlomiej Zolnierkiewicz<bzolnier@xxxxxxxxx>
---
  drivers/ata/pata_atp867x.c |   36 +++++++++++++++++++-----------------
  1 file changed, 19 insertions(+), 17 deletions(-)

Index: b/drivers/ata/pata_atp867x.c
===================================================================
--- a/drivers/ata/pata_atp867x.c
+++ b/drivers/ata/pata_atp867x.c
@@ -155,30 +155,31 @@ static int atp867x_get_active_clocks_shi
  	struct atp867x_priv *dp = ap->private_data;
  	unsigned char clocks = clk;

+	/*
+	 * Doc 6.6.9: increase the clock value by 1 for safer PIO speed
+	 * on 66MHz bus
+	 */
+	if (dp->pci66mhz)
+		clocks++;
+
  	switch (clocks) {
  	case 0:
  		clocks = 1;
  		break;
-	case 1 ... 7:
-		break;
-	case 9 ... 12:
-		clocks = 7;
+	case 1 ... 6:
  		break;
  	default:
  		printk(KERN_WARNING "ATP867X: active %dclk is invalid. "
-			"Using default 8clk.\n", clk);
+			"Using 12clk.\n", clk);
+	case 9 ... 12:
+		clocks = 7;	/* 12 clk */
+		break;
+	case 7:
  	case 8:	/* default 8 clk */
  		clocks = 0;
  		goto active_clock_shift_done;
  	}

-	/*
-	 * Doc 6.6.9: increase the clock value by 1 for safer PIO speed
-	 * on 66MHz bus
-	 */
-	if (dp->pci66mhz&&  clocks<  7)
-		clocks++;
-
  active_clock_shift_done:
  	return clocks<<  ATP867X_IO_PIOSPD_ACTIVE_SHIFT;
  }
@@ -193,7 +194,8 @@ static int atp867x_get_recover_clocks_sh
  		break;
  	case 1 ... 11:
  		break;
-	case 13: case 14:
+	case 13:
+	case 14:
  		--clocks;	/* by the spec */
  		break;
  	case 15:
@@ -235,16 +237,16 @@ static void atp867x_set_piomode(struct a
  	iowrite8(b, dp->dma_mode);

  	b = atp867x_get_active_clocks_shifted(ap, t.active) |
-		atp867x_get_recover_clocks_shifted(t.recover);
+	    atp867x_get_recover_clocks_shifted(t.recover);

  	if (adev->devno&  1)
  		iowrite8(b, dp->slave_piospd);
  	else
  		iowrite8(b, dp->mstr_piospd);

-	/*
-	 * use the same value for comand timing as for PIO timimg
-	 */
+	b = atp867x_get_active_clocks_shifted(ap, t.act8b) |
+	    atp867x_get_recover_clocks_shifted(t.rec8b);
+
  	iowrite8(b, dp->eightb_piospd);
  }



This was incremental to the previous patch, or upstream?

	Jeff


--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux