Lines Matching refs:sd

271 	struct siba_dev_softc *sd;
322 sd = &(siba->siba_devs[dev_i]);
324 sd->sd_bus = siba;
325 sd->sd_id.sd_device = SIBA_IDHIGH_CORECODE(idhi);
326 sd->sd_id.sd_rev = SIBA_IDHIGH_REV(idhi);
327 sd->sd_id.sd_vendor = SIBA_IDHIGH_VENDOR(idhi);
328 sd->sd_ops = siba->siba_ops;
329 sd->sd_coreidx = i;
333 i, siba_core_name(sd->sd_id.sd_device),
334 sd->sd_id.sd_device, sd->sd_id.sd_rev, sd->sd_id.vendor);
336 switch (sd->sd_id.sd_device) {
344 siba->siba_cc.scc_dev = sd;
366 if (sd->sd_id.sd_device == SIBA_DEVID_PCI &&
369 if (sd->sd_id.sd_device == SIBA_DEVID_PCIE &&
372 siba->siba_pci.spc_dev = sd;
380 siba_core_name(sd->sd_id.sd_device));
391 device_set_ivars(child, sd);
431 siba_pci_switchcore(struct siba_softc *siba, struct siba_dev_softc *sd)
436 siba_core_name(sd->sd_id.sd_device), sd->sd_coreidx);
438 error = siba_pci_switchcore_sub(siba, sd->sd_coreidx);
440 siba->siba_curdev = sd;
616 siba_pci_read_2(struct siba_dev_softc *sd, uint16_t offset)
618 struct siba_softc *siba = sd->sd_bus;
620 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0)
627 siba_pci_read_4(struct siba_dev_softc *sd, uint16_t offset)
629 struct siba_softc *siba = sd->sd_bus;
631 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0)
638 siba_pci_write_2(struct siba_dev_softc *sd, uint16_t offset, uint16_t value)
640 struct siba_softc *siba = sd->sd_bus;
642 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0)
649 siba_pci_write_4(struct siba_dev_softc *sd, uint16_t offset, uint32_t value)
651 struct siba_softc *siba = sd->sd_bus;
653 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0)
660 siba_pci_read_multi_1(struct siba_dev_softc *sd, void *buffer, size_t count,
663 struct siba_softc *siba = sd->sd_bus;
665 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0) {
674 siba_pci_read_multi_2(struct siba_dev_softc *sd, void *buffer, size_t count,
677 struct siba_softc *siba = sd->sd_bus;
679 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0) {
689 siba_pci_read_multi_4(struct siba_dev_softc *sd, void *buffer, size_t count,
692 struct siba_softc *siba = sd->sd_bus;
694 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0) {
704 siba_pci_write_multi_1(struct siba_dev_softc *sd, const void *buffer,
707 struct siba_softc *siba = sd->sd_bus;
709 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0)
716 siba_pci_write_multi_2(struct siba_dev_softc *sd, const void *buffer,
719 struct siba_softc *siba = sd->sd_bus;
721 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0)
729 siba_pci_write_multi_4(struct siba_dev_softc *sd, const void *buffer,
732 struct siba_softc *siba = sd->sd_bus;
734 if (siba->siba_curdev != sd && siba_pci_switchcore(siba, sd) != 0)
744 struct siba_dev_softc *sd = device_get_ivars(dev);
745 struct siba_softc *siba = sd->sd_bus;
762 struct siba_dev_softc *sd = scc->scc_dev;
766 if (sd == NULL)
768 siba = sd->sd_bus;
773 if (sd->sd_id.sd_rev < 6 || sd->sd_id.sd_rev >= 10 ||
809 struct siba_dev_softc *sd = device_get_ivars(dev);
811 return (sd->sd_ops->read_2(sd, offset));
817 struct siba_dev_softc *sd = device_get_ivars(dev);
819 return (siba_read_4_sub(sd, offset));
823 siba_read_4_sub(struct siba_dev_softc *sd, uint16_t offset)
826 return (sd->sd_ops->read_4(sd, offset));
832 struct siba_dev_softc *sd = device_get_ivars(dev);
834 sd->sd_ops->write_2(sd, offset, value);
840 struct siba_dev_softc *sd = device_get_ivars(dev);
842 return (siba_write_4_sub(sd, offset, value));
846 siba_write_4_sub(struct siba_dev_softc *sd, uint16_t offset, uint32_t value)
849 sd->sd_ops->write_4(sd, offset, value);
856 struct siba_dev_softc *sd = device_get_ivars(dev);
858 sd->sd_ops->read_multi_1(sd, buffer, count, offset);
865 struct siba_dev_softc *sd = device_get_ivars(dev);
867 sd->sd_ops->read_multi_2(sd, buffer, count, offset);
874 struct siba_dev_softc *sd = device_get_ivars(dev);
876 sd->sd_ops->read_multi_4(sd, buffer, count, offset);
883 struct siba_dev_softc *sd = device_get_ivars(dev);
885 sd->sd_ops->write_multi_1(sd, buffer, count, offset);
892 struct siba_dev_softc *sd = device_get_ivars(dev);
894 sd->sd_ops->write_multi_2(sd, buffer, count, offset);
901 struct siba_dev_softc *sd = device_get_ivars(dev);
903 sd->sd_ops->write_multi_4(sd, buffer, count, offset);
911 struct siba_dev_softc *sd = scc->scc_dev;
912 struct siba_softc *siba = sd->sd_bus;
1107 struct siba_dev_softc *sd = scc->scc_dev;
1108 struct siba_softc *siba = sd->sd_bus;
1189 struct siba_dev_softc *sd = scc->scc_dev;
1190 struct siba_softc *siba = sd->sd_bus;
1276 struct siba_dev_softc *sd = scc->scc_dev;
1277 struct siba_softc *siba = sd->sd_bus;
1279 if (sd->sd_id.sd_rev < 6) {
1290 if (sd->sd_id.sd_rev < 10) {
1716 struct siba_dev_softc *sd = device_get_ivars(dev);
1717 struct siba_softc *siba = sd->sd_bus;
1741 struct siba_dev_softc *sd = spc->spc_dev;
1743 if (sd == NULL)
1746 if (!siba_dev_isup_sub(sd))
1747 siba_dev_up_sub(sd, 0);
1758 struct siba_dev_softc *sd = device_get_ivars(dev);
1760 return (siba_dev_isup_sub(sd));
1764 siba_dev_isup_sub(struct siba_dev_softc *sd)
1768 reject = siba_tmslow_reject_bitmask(sd);
1769 val = siba_read_4_sub(sd, SIBA_TGSLOW);
1778 struct siba_dev_softc *sd = device_get_ivars(dev);
1780 siba_dev_up_sub(sd, flags);
1784 siba_dev_up_sub(struct siba_dev_softc *sd, uint32_t flags)
1788 siba_dev_down_sub(sd, flags);
1789 siba_write_4_sub(sd, SIBA_TGSLOW,
1791 siba_read_4_sub(sd, SIBA_TGSLOW);
1794 if (siba_read_4_sub(sd, SIBA_TGSHIGH) & SIBA_TGSHIGH_SERR)
1795 siba_write_4_sub(sd, SIBA_TGSHIGH, 0);
1797 val = siba_read_4_sub(sd, SIBA_IAS);
1800 siba_write_4_sub(sd, SIBA_IAS, val);
1803 siba_write_4_sub(sd, SIBA_TGSLOW,
1805 siba_read_4_sub(sd, SIBA_TGSLOW);
1808 siba_write_4_sub(sd, SIBA_TGSLOW, SIBA_TGSLOW_CLOCK | flags);
1809 siba_read_4_sub(sd, SIBA_TGSLOW);
1814 siba_tmslow_reject_bitmask(struct siba_dev_softc *sd)
1816 uint32_t rev = siba_read_4_sub(sd, SIBA_IDLOW) & SIBA_IDLOW_SSBREV;
1839 struct siba_dev_softc *sd = device_get_ivars(dev);
1841 siba_dev_down_sub(sd, flags);
1845 siba_dev_down_sub(struct siba_dev_softc *sd, uint32_t flags)
1847 struct siba_softc *siba = sd->sd_bus;
1851 if (siba_read_4_sub(sd, SIBA_TGSLOW) & SIBA_TGSLOW_RESET)
1854 reject = siba_tmslow_reject_bitmask(sd);
1855 siba_write_4_sub(sd, SIBA_TGSLOW, reject | SIBA_TGSLOW_CLOCK);
1858 val = siba_read_4_sub(sd, SIBA_TGSLOW);
1868 val = siba_read_4_sub(sd, SIBA_TGSHIGH);
1878 siba_write_4_sub(sd, SIBA_TGSLOW, SIBA_TGSLOW_FGC | SIBA_TGSLOW_CLOCK |
1880 siba_read_4_sub(sd, SIBA_TGSLOW);
1882 siba_write_4_sub(sd, SIBA_TGSLOW, reject | SIBA_TGSLOW_RESET | flags);
1883 siba_read_4_sub(sd, SIBA_TGSLOW);
1888 siba_pcicore_setup(struct siba_pci *spc, struct siba_dev_softc *sd)
1907 sd = (siba->siba_cc.scc_dev != NULL) ?
1909 if (sd != NULL) {
1910 siba_write_4_sub(sd, SIBA_PCICORE_BCAST_ADDR,
1912 siba_read_4_sub(sd, SIBA_PCICORE_BCAST_ADDR);
1913 siba_write_4_sub(sd,
1915 siba_read_4_sub(sd, SIBA_PCICORE_BCAST_DATA);
1941 struct siba_dev_softc *sd = device_get_ivars(dev);
1942 struct siba_softc *siba = sd->sd_bus;
1957 tmp |= (1 << sd->sd_coreidx) << 8;
1960 tmp = siba_read_4_sub(sd, SIBA_TPS);
1968 siba_pcicore_setup(spc, sd);
2025 struct siba_dev_softc *sd = device_get_ivars(dev);
2026 struct siba_softc *siba = sd->sd_bus;
2037 struct siba_dev_softc *sd = device_get_ivars(dev);
2038 struct siba_softc *siba = sd->sd_bus;
2098 struct siba_dev_softc *sd = device_get_ivars(dev);
2099 struct siba_softc *siba = sd->sd_bus;
2144 struct siba_dev_softc *sd = device_get_ivars(dev);
2145 struct siba_softc *siba = sd->sd_bus;
2165 struct siba_dev_softc *sd = device_get_ivars(child);
2166 struct siba_softc *siba = sd->sd_bus;
2349 struct siba_dev_softc *sd = device_get_ivars(child);
2350 struct siba_softc *siba = sd->sd_bus;
2526 struct siba_dev_softc *sd = device_get_ivars(dev);
2527 struct siba_softc *siba = sd->sd_bus;
2540 struct siba_dev_softc *sd = device_get_ivars(dev);
2541 struct siba_softc *siba = sd->sd_bus;
2554 struct siba_dev_softc *sd = device_get_ivars(dev);
2555 struct siba_softc *siba = sd->sd_bus;
2564 tmp = siba_read_4_sub(sd, SIBA_IMCFGLO) &
2575 siba_write_4_sub(sd, SIBA_IMCFGLO, tmp);