lkml.org 
[lkml]   [2002]   [Dec]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateWed, 18 Dec 2002 10:03:38 +0100
FromVojtech Pavlik <>
SubjectRe: IDE-CD and VT8235 issue!!!
On Mon, Dec 16, 2002 at 03:13:32PM +0100, AnonimoVeneziano wrote:
> Vojtech Pavlik wrote:
> 
> >On Mon, Dec 16, 2002 at 02:19:56PM +0100, AnonimoVeneziano wrote:
> > 
> >
> >>>>Thanks for all your effort here. It's great to see such a good 
> >>>>community.
> >>>> 
> >>>>
> >>>If you can, please try 2.4.20 with this patch.
> >>>
> >>> 
> >>>
> >>This patch works great!! I've solved with this patch, very good work
> >>
> >>Thank you very much Pavlik!
> >> 
> >>
> >
> >Can you try another patch (on top of the previous one?)? It might still
> >work, and be less intrusive ... (attached)
> >
> > 
> >
> I don't know what u have changed in this patch, but this work great too. ;-)
> Thank you very much again

One more here, if you can try it (and remove the two previous ones
first).

-- 
Vojtech Pavlik
SuSE Labs
ChangeSet@1.884, 2002-12-18 10:01:30+01:00, vojtech@suse.cz
  vt82cxxx.c IDE: Never use 1 PCICLK address setup, because new devices
  choke on it.


 via82cxxx.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

diff -Nru a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c
--- a/drivers/ide/pci/via82cxxx.c	Wed Dec 18 10:01:43 2002
+++ b/drivers/ide/pci/via82cxxx.c	Wed Dec 18 10:01:43 2002
@@ -286,6 +286,9 @@
  *	@timing: IDE timing data to use
  *
  *	via_set_speed writes timing values to the chipset registers
+ *	Note: we never use the fastest ADDRESS_SETUP timing (1 PCICLK),
+ *	because although it is OK with PIO4, many modern ATAPI devices
+ *	choke on it.
  */
 
 static void via_set_speed(struct pci_dev *dev, u8 dn, struct ide_timing *timing)
@@ -293,7 +296,7 @@
 	u8 t;
 
 	pci_read_config_byte(dev, VIA_ADDRESS_SETUP, &t);
-	t = (t & ~(3 << ((3 - dn) << 1))) | ((FIT(timing->setup, 1, 4) - 1) << ((3 - dn) << 1));
+	t = (t & ~(3 << ((3 - dn) << 1))) | ((FIT(timing->setup, 2, 4) - 1) << ((3 - dn) << 1));
 	pci_write_config_byte(dev, VIA_ADDRESS_SETUP, t);
 
 	pci_write_config_byte(dev, VIA_8BIT_TIMING + (1 - (dn >> 1)),
\
 
 \ /
  Last update: 2005-03-22 12:31    [from the cache]
©2003-2008