Messages in this thread Patch in this message | | | Date | Wed, 18 Dec 2002 10:03:38 +0100 | From | Vojtech Pavlik <> | Subject | Re: 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)), | |