Lines Matching +full:report +full:- +full:speed +full:- +full:hz
56 /* ISA-bus controllers */
67 return -1; in _check_irq()
81 static int ignore = -1;
86 /* The card status change interrupt -- 0 means autoselect */
91 /* Poll status interval -- 0 means default to interrupt */
97 static int has_dma = -1;
98 static int has_led = -1;
99 static int has_ring = -1;
101 static int freq_bypass = -1;
102 static int setup_time = -1;
103 static int cmd_time = -1;
104 static int recov_time = -1;
107 static int async_clock = -1;
108 static int cable_mode = -1;
204 { "Vadem VG-468", IS_VADEM },
205 { "Vadem VG-469", IS_VADEM|IS_VG_PWR },
284 PD67xx controllers, and to set and report global configuration
298 p->misc1 = i365_get(s, PD67_MISC_CTL_1); in cirrus_get_state()
299 p->misc1 &= (PD67_MC1_MEDIA_ENA | PD67_MC1_INPACK_ENA); in cirrus_get_state()
300 p->misc2 = i365_get(s, PD67_MISC_CTL_2); in cirrus_get_state()
302 p->timer[i] = i365_get(s, PD67_TIME_SETUP(0)+i); in cirrus_get_state()
312 i365_set(s, PD67_MISC_CTL_2, p->misc2); in cirrus_set_state()
316 i365_set(s, PD67_MISC_CTL_1, misc | p->misc1); in cirrus_set_state()
318 i365_set(s, PD67_TIME_SETUP(0)+i, p->timer[i]); in cirrus_set_state()
327 if (has_ring == -1) has_ring = 1; in cirrus_set_opts()
328 flip(p->misc2, PD67_MC2_IRQ15_RI, has_ring); in cirrus_set_opts()
329 flip(p->misc2, PD67_MC2_DYNAMIC_MODE, dynamic_mode); in cirrus_set_opts()
330 flip(p->misc2, PD67_MC2_FREQ_BYPASS, freq_bypass); in cirrus_set_opts()
331 if (p->misc2 & PD67_MC2_IRQ15_RI) in cirrus_set_opts()
333 if (p->misc2 & PD67_MC2_DYNAMIC_MODE) in cirrus_set_opts()
335 if (p->misc2 & PD67_MC2_FREQ_BYPASS) in cirrus_set_opts()
337 if (p->misc1 & PD67_MC1_INPACK_ENA) in cirrus_set_opts()
339 if (p->misc2 & PD67_MC2_IRQ15_RI) in cirrus_set_opts()
349 if (!(t->flags & IS_VIA)) { in cirrus_set_opts()
351 p->timer[0] = p->timer[3] = setup_time; in cirrus_set_opts()
353 p->timer[1] = cmd_time; in cirrus_set_opts()
354 p->timer[4] = cmd_time*2+4; in cirrus_set_opts()
356 if (p->timer[1] == 0) { in cirrus_set_opts()
357 p->timer[1] = 6; p->timer[4] = 16; in cirrus_set_opts()
358 if (p->timer[0] == 0) in cirrus_set_opts()
359 p->timer[0] = p->timer[3] = 1; in cirrus_set_opts()
362 p->timer[2] = p->timer[5] = recov_time; in cirrus_set_opts()
364 sprintf(buf, " [%d/%d/%d] [%d/%d/%d]", p->timer[0], p->timer[1], in cirrus_set_opts()
365 p->timer[2], p->timer[3], p->timer[4], p->timer[5]); in cirrus_set_opts()
373 and VG469 controllers, and to set and report global configuration
381 p->ctl = i365_get(s, VG468_CTL); in vg46x_get_state()
383 p->ema = i365_get(s, VG469_EXT_MODE); in vg46x_get_state()
389 i365_set(s, VG468_CTL, p->ctl); in vg46x_set_state()
391 i365_set(s, VG469_EXT_MODE, p->ema); in vg46x_set_state()
398 flip(p->ctl, VG468_CTL_ASYNC, async_clock); in vg46x_set_opts()
399 flip(p->ema, VG469_MODE_CABLE, cable_mode); in vg46x_set_opts()
400 if (p->ctl & VG468_CTL_ASYNC) in vg46x_set_opts()
402 if (p->ctl & VG468_CTL_INPACK) in vg46x_set_opts()
411 if (p->ema & VG469_MODE_CABLE) in vg46x_set_opts()
413 if (p->ema & VG469_MODE_COMPAT) in vg46x_set_opts()
428 if (t->flags & IS_CIRRUS) in get_bridge_state()
430 else if (t->flags & IS_VADEM) in get_bridge_state()
437 if (t->flags & IS_CIRRUS) in set_bridge_state()
443 i365_bflip(s, I365_INTCTL, I365_INTR_ENA, t->intr); in set_bridge_state()
444 if (t->flags & IS_VADEM) in set_bridge_state()
485 pr_debug("i82365: -> hit on irq %d\n", irq); in i365_count_irq()
524 /* Don't probe level-triggered interrupts -- reserved for PCI */ in isa_scan()
549 if (!cs_irq && (poll_interval == 0)) poll_interval = HZ; in isa_scan()
555 printk("%s%d", ((mask1 & ((1<<i)-1)) ? "," : ""), i); in isa_scan()
575 int type = -1; in identify()
589 return -1; in identify()
601 /* Check for Vadem VG-468 chips */ in identify()
616 /* Check for Cirrus CL-PD67xx chips */ in identify()
652 if (!request_region(start, stop-start+1, "i82365")) in is_alive()
654 release_region(start, stop-start+1); in is_alive()
677 struct i82365_socket *t = &socket[sockets-ns]; in add_pcic()
679 base = sockets-ns; in add_pcic()
682 printk(" ISA-to-PCMCIA at port %#x ofs 0x%02x", in add_pcic()
683 t->ioaddr, t->psock*0x40); in add_pcic()
699 tmp = tmp & (tmp-1); in add_pcic()
700 if ((tmp & (tmp-1)) == 0) in add_pcic()
701 poll_interval = HZ; in add_pcic()
707 for (cs_irq = 15; cs_irq > 0; cs_irq--) in add_pcic()
720 poll_interval = HZ; in add_pcic()
722 poll_interval * 1000 / HZ); in add_pcic()
741 ISAPNP_FUNCTION(0x0e00), (unsigned long) "Intel 82365-Compatible" },
743 ISAPNP_FUNCTION(0x0e01), (unsigned long) "Cirrus Logic CL-PD6720" },
761 for (devid = id_table; devid->vendor; devid++) { in isa_probe()
762 if ((dev = pnp_find_dev(NULL, devid->vendor, devid->function, NULL))) { in isa_probe()
928 "io_irq %d, csc_mask %#2.2x)\n", sock, state->flags, in i365_set_socket()
929 state->Vcc, state->Vpp, state->io_irq, state->csc_mask); in i365_set_socket()
935 reg = t->intr; in i365_set_socket()
936 reg |= state->io_irq; in i365_set_socket()
937 reg |= (state->flags & SS_RESET) ? 0 : I365_PC_RESET; in i365_set_socket()
938 reg |= (state->flags & SS_IOCARD) ? I365_PC_IOCARD : 0; in i365_set_socket()
942 if (state->flags & SS_PWR_AUTO) reg |= I365_PWR_AUTO; in i365_set_socket()
943 if (state->flags & SS_OUTPUT_ENA) reg |= I365_PWR_OUT; in i365_set_socket()
945 if (t->flags & IS_CIRRUS) { in i365_set_socket()
946 if (state->Vpp != 0) { in i365_set_socket()
947 if (state->Vpp == 120) in i365_set_socket()
949 else if (state->Vpp == state->Vcc) in i365_set_socket()
951 else return -EINVAL; in i365_set_socket()
953 if (state->Vcc != 0) { in i365_set_socket()
955 if (state->Vcc == 33) in i365_set_socket()
957 else if (state->Vcc == 50) in i365_set_socket()
959 else return -EINVAL; in i365_set_socket()
961 } else if (t->flags & IS_VG_PWR) { in i365_set_socket()
962 if (state->Vpp != 0) { in i365_set_socket()
963 if (state->Vpp == 120) in i365_set_socket()
965 else if (state->Vpp == state->Vcc) in i365_set_socket()
967 else return -EINVAL; in i365_set_socket()
969 if (state->Vcc != 0) { in i365_set_socket()
971 if (state->Vcc == 33) in i365_set_socket()
973 else if (state->Vcc == 50) in i365_set_socket()
975 else return -EINVAL; in i365_set_socket()
977 } else if (t->flags & IS_DF_PWR) { in i365_set_socket()
978 switch (state->Vcc) { in i365_set_socket()
982 default: return -EINVAL; in i365_set_socket()
984 switch (state->Vpp) { in i365_set_socket()
988 default: return -EINVAL; in i365_set_socket()
991 switch (state->Vcc) { in i365_set_socket()
994 default: return -EINVAL; in i365_set_socket()
996 switch (state->Vpp) { in i365_set_socket()
1000 default: return -EINVAL; in i365_set_socket()
1007 /* Chipset-specific functions */ in i365_set_socket()
1008 if (t->flags & IS_CIRRUS) { in i365_set_socket()
1011 state->flags & SS_SPKR_ENA); in i365_set_socket()
1015 reg = t->cs_irq << 4; in i365_set_socket()
1016 if (state->csc_mask & SS_DETECT) reg |= I365_CSC_DETECT; in i365_set_socket()
1017 if (state->flags & SS_IOCARD) { in i365_set_socket()
1018 if (state->csc_mask & SS_STSCHG) reg |= I365_CSC_STSCHG; in i365_set_socket()
1020 if (state->csc_mask & SS_BATDEAD) reg |= I365_CSC_BVD1; in i365_set_socket()
1021 if (state->csc_mask & SS_BATWARN) reg |= I365_CSC_BVD2; in i365_set_socket()
1022 if (state->csc_mask & SS_READY) reg |= I365_CSC_READY; in i365_set_socket()
1037 "%#llx-%#llx)\n", sock, io->map, io->flags, io->speed, in i365_set_io_map()
1038 (unsigned long long)io->start, (unsigned long long)io->stop); in i365_set_io_map()
1039 map = io->map; in i365_set_io_map()
1040 if ((map > 1) || (io->start > 0xffff) || (io->stop > 0xffff) || in i365_set_io_map()
1041 (io->stop < io->start)) return -EINVAL; in i365_set_io_map()
1045 i365_set_pair(sock, I365_IO(map)+I365_W_START, io->start); in i365_set_io_map()
1046 i365_set_pair(sock, I365_IO(map)+I365_W_STOP, io->stop); in i365_set_io_map()
1048 if (io->speed) ioctl |= I365_IOCTL_WAIT(map); in i365_set_io_map()
1049 if (io->flags & MAP_0WS) ioctl |= I365_IOCTL_0WS(map); in i365_set_io_map()
1050 if (io->flags & MAP_16BIT) ioctl |= I365_IOCTL_16BIT(map); in i365_set_io_map()
1051 if (io->flags & MAP_AUTOSZ) ioctl |= I365_IOCTL_IOCS16(map); in i365_set_io_map()
1054 if (io->flags & MAP_ACTIVE) in i365_set_io_map()
1066 pr_debug("SetMemMap(%d, %d, %#2.2x, %d ns, %#llx-%#llx, " in i365_set_mem_map()
1067 "%#x)\n", sock, mem->map, mem->flags, mem->speed, in i365_set_mem_map()
1068 (unsigned long long)mem->res->start, in i365_set_mem_map()
1069 (unsigned long long)mem->res->end, mem->card_start); in i365_set_mem_map()
1071 map = mem->map; in i365_set_mem_map()
1072 if ((map > 4) || (mem->card_start > 0x3ffffff) || in i365_set_mem_map()
1073 (mem->res->start > mem->res->end) || (mem->speed > 1000)) in i365_set_mem_map()
1074 return -EINVAL; in i365_set_mem_map()
1075 if ((mem->res->start > 0xffffff) || (mem->res->end > 0xffffff)) in i365_set_mem_map()
1076 return -EINVAL; in i365_set_mem_map()
1083 i = (mem->res->start >> 12) & 0x0fff; in i365_set_mem_map()
1084 if (mem->flags & MAP_16BIT) i |= I365_MEM_16BIT; in i365_set_mem_map()
1085 if (mem->flags & MAP_0WS) i |= I365_MEM_0WS; in i365_set_mem_map()
1088 i = (mem->res->end >> 12) & 0x0fff; in i365_set_mem_map()
1089 switch (to_cycles(mem->speed)) { in i365_set_mem_map()
1097 i = ((mem->card_start - mem->res->start) >> 12) & 0x3fff; in i365_set_mem_map()
1098 if (mem->flags & MAP_WRPROT) i |= I365_MEM_WRPROT; in i365_set_mem_map()
1099 if (mem->flags & MAP_ATTRIB) i |= I365_MEM_REG; in i365_set_mem_map()
1103 if (mem->flags & MAP_ACTIVE) in i365_set_mem_map()
1120 pcic[s->type].name, s->psock);
1131 sock = s->number;
1166 unsigned int sock = container_of(s, struct i82365_socket, socket)->number; in pcic_get_status()
1170 return -EINVAL; in pcic_get_status()
1178 unsigned int sock = container_of(s, struct i82365_socket, socket)->number; in pcic_set_socket()
1181 return -EINVAL; in pcic_set_socket()
1188 unsigned int sock = container_of(s, struct i82365_socket, socket)->number; in pcic_set_io_map()
1190 return -EINVAL; in pcic_set_io_map()
1197 unsigned int sock = container_of(s, struct i82365_socket, socket)->number; in pcic_set_mem_map()
1199 return -EINVAL; in pcic_set_mem_map()
1255 ret = -ENOMEM; in init_i82365()
1267 ret = -ENODEV; in init_i82365()
1280 socket[i].socket.dev.parent = &i82365_device->dev; in init_i82365()