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