Lines Matching refs:atpdev

1307 	struct atp_unit *atpdev = shost_priv(shpnt);
1308 struct pci_dev *pdev = atpdev->pdev;
1323 atpdev->ioport[0] = shpnt->io_port;
1324 atpdev->pciport[0] = shpnt->io_port + 0x20;
1326 atpdev->host_id[0] = host_id;
1327 scam_on = atp_readb_pci(atpdev, 0, 2);
1328 atpdev->global_map[0] = atp_readb_base(atpdev, 0x2d);
1329 atpdev->ultra_map[0] = atp_readw_base(atpdev, 0x2e);
1331 if (atpdev->ultra_map[0] == 0) {
1333 atpdev->global_map[0] = 0x20;
1334 atpdev->ultra_map[0] = 0xffff;
1338 atp_writeb_base(atpdev, 0x3e, 0x00); /* enable terminator */
1340 k = (atp_readb_base(atpdev, 0x3a) & 0xf3) | 0x10;
1341 atp_writeb_base(atpdev, 0x3a, k);
1342 atp_writeb_base(atpdev, 0x3a, k & 0xdf);
1344 atp_writeb_base(atpdev, 0x3a, k);
1346 atp_set_host_id(atpdev, 0, host_id);
1349 atp_writeb_base(atpdev, 0x3a, atp_readb_base(atpdev, 0x3a) | 0x10);
1350 atp_is(atpdev, 0, wide_chip, 0);
1351 atp_writeb_base(atpdev, 0x3a, atp_readb_base(atpdev, 0x3a) & 0xef);
1352 atp_writeb_base(atpdev, 0x3b, atp_readb_base(atpdev, 0x3b) | 0x20);
1359 struct atp_unit *atpdev = shost_priv(shpnt);
1360 struct pci_dev *pdev = atpdev->pdev;
1366 atpdev->ioport[0] = shpnt->io_port + 0x40;
1367 atpdev->pciport[0] = shpnt->io_port + 0x28;
1369 host_id = atp_readb_base(atpdev, 0x39) >> 4;
1374 atpdev->host_id[0] = host_id;
1376 atpdev->global_map[0] = atp_readb_base(atpdev, 0x35);
1377 atpdev->ultra_map[0] = atp_readw_base(atpdev, 0x3c);
1382 atp_writew_base(atpdev, 0x34, n);
1384 if (atp_readb_base(atpdev, 0x30) == 0xff)
1387 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x30);
1388 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x31);
1389 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x32);
1390 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x33);
1391 atp_writew_base(atpdev, 0x34, n);
1393 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x30);
1394 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x31);
1395 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x32);
1396 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x33);
1397 atp_writew_base(atpdev, 0x34, n);
1399 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x30);
1400 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x31);
1401 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x32);
1402 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x33);
1403 atp_writew_base(atpdev, 0x34, n);
1405 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x30);
1406 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x31);
1407 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x32);
1408 atpdev->sp[0][m++] = atp_readb_base(atpdev, 0x33);
1411 atp_writew_base(atpdev, 0x34, 0);
1412 atpdev->ultra_map[0] = 0;
1413 atpdev->async[0] = 0;
1416 if (atpdev->sp[0][k] > 1)
1417 atpdev->ultra_map[0] |= n;
1419 if (atpdev->sp[0][k] == 0)
1420 atpdev->async[0] |= n;
1422 atpdev->async[0] = ~(atpdev->async[0]);
1423 atp_writeb_base(atpdev, 0x35, atpdev->global_map[0]);
1425 k = atp_readb_base(atpdev, 0x38) & 0x80;
1426 atp_writeb_base(atpdev, 0x38, k);
1427 atp_writeb_base(atpdev, 0x3b, 0x20);
1429 atp_writeb_base(atpdev, 0x3b, 0);
1431 atp_readb_io(atpdev, 0, 0x1b);
1432 atp_readb_io(atpdev, 0, 0x17);
1434 atp_set_host_id(atpdev, 0, host_id);
1436 tscam(shpnt, true, atp_readb_base(atpdev, 0x22));
1437 atp_is(atpdev, 0, true, atp_readb_base(atpdev, 0x3f) & 0x40);
1438 atp_writeb_base(atpdev, 0x38, 0xb0);
1445 struct atp_unit *atpdev = shost_priv(shpnt);
1446 struct pci_dev *pdev = atpdev->pdev;
1455 atpdev->ioport[0] = shpnt->io_port + 0x80;
1456 atpdev->ioport[1] = shpnt->io_port + 0xc0;
1457 atpdev->pciport[0] = shpnt->io_port + 0x40;
1458 atpdev->pciport[1] = shpnt->io_port + 0x50;
1460 c = atp_readb_base(atpdev, 0x29);
1461 atp_writeb_base(atpdev, 0x29, c | 0x04);
1465 atp_writew_base(atpdev, 0x3c, n);
1466 if (atp_readl_base(atpdev, 0x38) == 0xffffffff)
1469 atpdev->global_map[m] = 0;
1471 atp_writew_base(atpdev, 0x3c, n++);
1473 atp_readl_base(atpdev, 0x38);
1476 atp_writew_base(atpdev, 0x3c, n++);
1477 ((u32 *)&atpdev->sp[m][0])[k] =
1478 atp_readl_base(atpdev, 0x38);
1483 c = atp_readb_base(atpdev, 0x29);
1484 atp_writeb_base(atpdev, 0x29, c & 0xfb);
1486 atpdev->ultra_map[c] = 0;
1487 atpdev->async[c] = 0;
1490 if (atpdev->sp[c][k] > 1)
1491 atpdev->ultra_map[c] |= n;
1493 if (atpdev->sp[c][k] == 0)
1494 atpdev->async[c] |= n;
1496 atpdev->async[c] = ~(atpdev->async[c]);
1498 if (atpdev->global_map[c] == 0) {
1501 atpdev->global_map[c] |= 0x20;
1503 atpdev->global_map[c] |= k;
1505 atpdev->global_map[c] |= 0x08;
1506 atpdev->host_id[c] = setupdata[c][0] & 0x07;
1510 k = atp_readb_base(atpdev, 0x28) & 0x8f;
1512 atp_writeb_base(atpdev, 0x28, k);
1513 atp_writeb_pci(atpdev, 0, 1, 0x80);
1514 atp_writeb_pci(atpdev, 1, 1, 0x80);
1516 atp_writeb_pci(atpdev, 0, 1, 0);
1517 atp_writeb_pci(atpdev, 1, 1, 0);
1519 atp_readb_io(atpdev, 0, 0x1b);
1520 atp_readb_io(atpdev, 0, 0x17);
1521 atp_readb_io(atpdev, 1, 0x1b);
1522 atp_readb_io(atpdev, 1, 0x17);
1524 k = atpdev->host_id[0];
1527 atp_set_host_id(atpdev, 0, k);
1529 k = atpdev->host_id[1];
1532 atp_set_host_id(atpdev, 1, k);
1536 atp_is(atpdev, 0, true, atp_readb_io(atpdev, 0, 0x1b) >> 7);
1537 atp_writeb_io(atpdev, 0, 0x16, 0x80);
1539 atp_is(atpdev, 1, true, atp_readb_io(atpdev, 1, 0x1b) >> 7);
1540 atp_writeb_io(atpdev, 1, 0x16, 0x80);
1541 k = atp_readb_base(atpdev, 0x28) & 0xcf;
1543 atp_writeb_base(atpdev, 0x28, k);
1544 k = atp_readb_base(atpdev, 0x1f) | 0x80;
1545 atp_writeb_base(atpdev, 0x1f, k);
1546 k = atp_readb_base(atpdev, 0x29) | 0x01;
1547 atp_writeb_base(atpdev, 0x29, k);
1549 shpnt->max_lun = (atpdev->global_map[0] & 0x07) + 1;
1551 shpnt->this_id = atpdev->host_id[0];
1558 struct atp_unit *atpdev;
1586 atpdev = shost_priv(shpnt);
1588 atpdev->host = shpnt;
1589 atpdev->pdev = pdev;
1590 pci_set_drvdata(pdev, atpdev);
1595 atpdev->baseport = shpnt->io_port;
1605 if (is880(atpdev))
1607 else if (is885(atpdev))