Messages in this thread | | | Date | Tue, 06 Oct 2009 00:24:05 -0400 | From | Jeff Garzik <> | Subject | Re: [git patches] libata updates |
| |
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@gmail.com> > 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@gmail.com> > --- > 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
| |