Lines Matching +full:termination +full:- +full:current

5  * Copyright (c) 1994-2001 Justin T. Gibbs.
6 * Copyright (c) 2000-2002 Adaptec Inc.
20 * 3. Neither the names of the above-listed copyright holders nor the names
220 "PCI-X 101-133MHz",
221 "PCI-X 67-100MHz",
222 "PCI-X 50-66MHz",
278 if (entry->full_id == (full_id & entry->id_mask)) { in ahd_find_pci_device()
280 if (entry->name == NULL) in ahd_find_pci_device()
296 ahd->description = entry->name; in ahd_pci_config()
300 subvendor = ahd_pci_read_config(ahd->dev_softc, in ahd_pci_config()
303 ahd->flags |= AHD_HP_BOARD; in ahd_pci_config()
305 error = entry->setup(ahd); in ahd_pci_config()
309 devconfig = ahd_pci_read_config(ahd->dev_softc, DEVCONFIG, /*bytes*/4); in ahd_pci_config()
311 ahd->chip |= AHD_PCI; in ahd_pci_config()
313 ahd->bugs &= ~AHD_PCIX_BUG_MASK; in ahd_pci_config()
315 ahd->chip |= AHD_PCIX; in ahd_pci_config()
317 ahd->bus_description = pci_bus_modes[PCI_BUS_MODES_INDEX(devconfig)]; in ahd_pci_config()
331 if ((ahd->flags & (AHD_39BIT_ADDRESSING|AHD_64BIT_ADDRESSING)) != 0) { in ahd_pci_config()
335 devconfig = ahd_pci_read_config(ahd->dev_softc, in ahd_pci_config()
338 ahd_pci_write_config(ahd->dev_softc, DEVCONFIG, in ahd_pci_config()
343 command = ahd_pci_read_config(ahd->dev_softc, PCIR_COMMAND, /*bytes*/2); in ahd_pci_config()
345 ahd_pci_write_config(ahd->dev_softc, PCIR_COMMAND, command, /*bytes*/2); in ahd_pci_config()
351 ahd->bus_intr = ahd_pci_intr; in ahd_pci_config()
357 ahd->pci_cachesize = in ahd_pci_config()
358 ahd_pci_read_config(ahd->dev_softc, CSIZE_LATTIME, in ahd_pci_config()
360 ahd->pci_cachesize *= 4; in ahd_pci_config()
363 /* See if we have a SEEPROM and perform auto-term */ in ahd_pci_config()
372 ahd->init_level++; in ahd_pci_config()
387 ahd->suspend_state.pci_state.devconfig = in ahd_pci_suspend()
388 ahd_pci_read_config(ahd->dev_softc, DEVCONFIG, /*bytes*/4); in ahd_pci_suspend()
389 ahd->suspend_state.pci_state.command = in ahd_pci_suspend()
390 ahd_pci_read_config(ahd->dev_softc, PCIR_COMMAND, /*bytes*/1); in ahd_pci_suspend()
391 ahd->suspend_state.pci_state.csize_lattime = in ahd_pci_suspend()
392 ahd_pci_read_config(ahd->dev_softc, CSIZE_LATTIME, /*bytes*/1); in ahd_pci_suspend()
399 ahd_pci_write_config(ahd->dev_softc, DEVCONFIG, in ahd_pci_resume()
400 ahd->suspend_state.pci_state.devconfig, /*bytes*/4); in ahd_pci_resume()
401 ahd_pci_write_config(ahd->dev_softc, PCIR_COMMAND, in ahd_pci_resume()
402 ahd->suspend_state.pci_state.command, /*bytes*/1); in ahd_pci_resume()
403 ahd_pci_write_config(ahd->dev_softc, CSIZE_LATTIME, in ahd_pci_resume()
404 ahd->suspend_state.pci_state.csize_lattime, /*bytes*/1); in ahd_pci_resume()
426 cmd = ahd_pci_read_config(ahd->dev_softc, PCIR_COMMAND, /*bytes*/2); in ahd_pci_test_register_access()
427 ahd_pci_write_config(ahd->dev_softc, PCIR_COMMAND, in ahd_pci_test_register_access()
459 pci_status1 = ahd_pci_read_config(ahd->dev_softc, in ahd_pci_test_register_access()
461 ahd_pci_write_config(ahd->dev_softc, PCIR_STATUS + 1, in ahd_pci_test_register_access()
488 pci_status1 = ahd_pci_read_config(ahd->dev_softc, in ahd_pci_test_register_access()
490 ahd_pci_write_config(ahd->dev_softc, PCIR_STATUS + 1, in ahd_pci_test_register_access()
495 ahd_pci_write_config(ahd->dev_softc, PCIR_COMMAND, cmd, /*bytes*/2); in ahd_pci_test_register_access()
501 * and termination/cable detection contrls.
512 sc = ahd->seep_config; in ahd_check_extport()
526 + (sizeof(vpd) * (ahd->channel - 'A'))) / 2; in ahd_check_extport()
542 start_addr = (sizeof(*sc) / 2) * (ahd->channel - 'A'); in ahd_check_extport()
598 ahd->flags |= AHD_SCB_CONFIG_USED; in ahd_check_extport()
619 ahd->flags |= AHD_USEDEFAULTS; in ahd_check_extport()
622 kfree(ahd->seep_config); in ahd_check_extport()
623 ahd->seep_config = NULL; in ahd_check_extport()
626 adapter_control = sc->adapter_control; in ahd_check_extport()
644 devconfig = ahd_pci_read_config(ahd->dev_softc, DEVCONFIG, /*bytes*/4); in ahd_configure_termination()
646 if ((ahd->flags & AHD_STPWLEVEL_A) != 0) in ahd_configure_termination()
651 ahd_pci_write_config(ahd->dev_softc, DEVCONFIG, devconfig, /*bytes*/4); in ahd_configure_termination()
653 /* Make sure current sensing is off. */ in ahd_configure_termination()
654 if ((ahd->flags & AHD_CURRENT_SENSING) != 0) { in ahd_configure_termination()
664 printk("%s: Manual Primary Termination\n", in ahd_configure_termination()
672 printk("%s: Primary Auto-Term Sensing failed! " in ahd_configure_termination()
679 printk("%s: Manual Secondary Termination\n", in ahd_configure_termination()
687 printk("%s: Secondary Auto-Term Sensing failed! " in ahd_configure_termination()
693 * Now set the termination based on what we found. in ahd_configure_termination()
696 ahd->flags &= ~AHD_TERM_ENB_A; in ahd_configure_termination()
698 ahd->flags |= AHD_TERM_ENB_A; in ahd_configure_termination()
707 printk("%s: Unable to set termination settings!\n", in ahd_configure_termination()
710 printk("%s: Primary High byte termination %sabled\n", in ahd_configure_termination()
714 printk("%s: Primary Low byte termination %sabled\n", in ahd_configure_termination()
718 printk("%s: Secondary High byte termination %sabled\n", in ahd_configure_termination()
722 printk("%s: Secondary Low byte termination %sabled\n", in ahd_configure_termination()
765 "%s: Signaled Target-abort to early terminate a split in %s\n"
829 pci_status1 = ahd_pci_read_config(ahd->dev_softc, in ahd_pci_intr()
831 ahd_pci_write_config(ahd->dev_softc, PCIR_STATUS + 1, in ahd_pci_intr()
853 pcix_status = ahd_pci_read_config(ahd->dev_softc, PCIXR_STATUS, in ahd_pci_split_intr()
855 printk("%s: PCI Split Interrupt - PCI-X status = 0x%x\n", in ahd_pci_split_intr()
892 * Clear PCI-X status bits. in ahd_pci_split_intr()
894 ahd_pci_write_config(ahd->dev_softc, PCIXR_STATUS, in ahd_pci_split_intr()
904 ahd->chip = AHD_AIC7901; in ahd_aic7901_setup()
905 ahd->features = AHD_AIC7901_FE; in ahd_aic7901_setup()
913 ahd->chip = AHD_AIC7901A; in ahd_aic7901A_setup()
914 ahd->features = AHD_AIC7901A_FE; in ahd_aic7901A_setup()
921 ahd->chip = AHD_AIC7902; in ahd_aic7902_setup()
922 ahd->features = AHD_AIC7902_FE; in ahd_aic7902_setup()
932 pci = ahd->dev_softc; in ahd_aic790X_setup()
940 ahd->channel = ahd_get_pci_function(pci) + 'A'; in ahd_aic790X_setup()
945 ahd->bugs |= AHD_SENT_SCB_UPDATE_BUG|AHD_ABORT_LQI_BUG in ahd_aic790X_setup()
962 if ((ahd->flags & AHD_HP_BOARD) == 0) in ahd_aic790X_setup()
969 ahd->features |= AHD_RTI|AHD_NEW_IOCELL_OPTS in ahd_aic790X_setup()
972 ahd->bugs |= AHD_LQOOVERRUN_BUG|AHD_EARLY_REQ_BUG; in ahd_aic790X_setup()
976 ahd->features |= AHD_AIC79XXB_SLOWCRC; in ahd_aic790X_setup()
981 if ((ahd->features & AHD_MULTI_FUNC) != 0) in ahd_aic790X_setup()
982 ahd->bugs |= AHD_INTCOLLISION_BUG|AHD_ABORT_LQI_BUG; in ahd_aic790X_setup()
994 * XXX - Find out exactly what this does from the hardware in ahd_aic790X_setup()