patch-2.3.99-pre6 linux/drivers/parport/parport_pc.c
Next file: linux/drivers/parport/share.c
Previous file: linux/drivers/parport/ieee1284.c
Back to the patch index
Back to the overall index
- Lines: 79
- Date:
Fri Apr 21 15:56:02 2000
- Orig file:
v2.3.99-pre5/linux/drivers/parport/parport_pc.c
- Orig date:
Tue Apr 11 15:09:18 2000
diff -u --recursive --new-file v2.3.99-pre5/linux/drivers/parport/parport_pc.c linux/drivers/parport/parport_pc.c
@@ -427,6 +427,8 @@
size_t got;
frob_econtrol (port, 0xe0, ECR_EPP << 5);
+ parport_pc_data_reverse (port);
+ parport_pc_write_control (port, 0x4);
got = parport_pc_epp_read_data (port, buf, length, flags);
frob_econtrol (port, 0xe0, ECR_PS2 << 5);
@@ -440,6 +442,8 @@
size_t written;
frob_econtrol (port, 0xe0, ECR_EPP << 5);
+ parport_pc_write_control (port, 0x4);
+ parport_pc_data_forward (port);
written = parport_pc_epp_write_data (port, buf, length, flags);
frob_econtrol (port, 0xe0, ECR_PS2 << 5);
@@ -452,6 +456,8 @@
size_t got;
frob_econtrol (port, 0xe0, ECR_EPP << 5);
+ parport_pc_data_reverse (port);
+ parport_pc_write_control (port, 0x4);
got = parport_pc_epp_read_addr (port, buf, length, flags);
frob_econtrol (port, 0xe0, ECR_PS2 << 5);
@@ -465,6 +471,8 @@
size_t written;
frob_econtrol (port, 0xe0, ECR_EPP << 5);
+ parport_pc_write_control (port, 0x4);
+ parport_pc_data_forward (port);
written = parport_pc_epp_write_addr (port, buf, length, flags);
frob_econtrol (port, 0xe0, ECR_PS2 << 5);
@@ -582,7 +590,7 @@
if (end < MAX_DMA_ADDRESS) {
/* If it would cross a 64k boundary, cap it at the end. */
if ((start ^ end) & ~0xffffUL)
- maxlen = (0x10000 - start) & 0xffff;
+ maxlen = 0x10000 - (start & 0xffff);
dma_addr = dma_handle = pci_map_single(priv->dev, (void *)buf, length,
PCI_DMA_TODEVICE);
@@ -1733,7 +1741,7 @@
oecr = inb (ECONTROL (pb));
/* Search for SMC style EPP+ECP mode */
outb (0x80, ECONTROL (pb));
-
+ outb (0x04, CONTROL (pb));
result = parport_EPP_supported(pb);
outb (oecr, ECONTROL (pb));
@@ -2254,6 +2262,7 @@
boca_ioppar,
plx_9050,
afavlab_tk9902,
+ timedia_1889,
};
@@ -2291,6 +2300,7 @@
/* boca_ioppar */ { 1, { { 0, -1 }, } },
/* plx_9050 */ { 2, { { 4, -1 }, { 5, -1 }, } },
/* afavlab_tk9902 */ { 1, { { 0, 1 }, } },
+ /* timedia_1889 */ { 1, { { 2, -1 }, } },
};
static struct pci_device_id parport_pc_pci_tbl[] __devinitdata = {
@@ -2348,6 +2358,8 @@
PCI_SUBVENDOR_ID_EXSYS, PCI_SUBDEVICE_ID_EXSYS_4014, 0,0, plx_9050 },
{ PCI_VENDOR_ID_AFAVLAB, PCI_DEVICE_ID_AFAVLAB_TK9902,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, afavlab_tk9902 },
+ { PCI_VENDOR_ID_TIMEDIA, PCI_DEVICE_ID_TIMEDIA_1889,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, timedia_1889 },
{ 0, }, /* terminate list */
};
MODULE_DEVICE_TABLE(pci,parport_pc_pci_tbl);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)