Lines Matching refs:np
50 void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram) in sym_nvram_setup_host() argument
59 np->rv_scntl0 &= ~0x0a; in sym_nvram_setup_host()
60 np->myaddr = nvram->data.Symbios.host_id & 0x0f; in sym_nvram_setup_host()
62 np->verbose += 1; in sym_nvram_setup_host()
66 np->usrflags |= SYM_AVOID_BUS_RESET; in sym_nvram_setup_host()
69 np->myaddr = nvram->data.Tekram.host_id & 0x0f; in sym_nvram_setup_host()
74 np->myaddr = nvram->data.parisc.host_id; in sym_nvram_setup_host()
76 np->minsync = nvram->data.parisc.factor; in sym_nvram_setup_host()
78 np->maxwide = nvram->data.parisc.width; in sym_nvram_setup_host()
80 case 0: np->scsi_mode = SMODE_SE; break; in sym_nvram_setup_host()
81 case 1: np->scsi_mode = SMODE_HVD; break; in sym_nvram_setup_host()
82 case 2: np->scsi_mode = SMODE_LVD; break; in sym_nvram_setup_host()
156 static void sym_display_Symbios_nvram(struct sym_device *np, Symbios_nvram *nvram) in sym_display_Symbios_nvram() argument
162 sym_name(np), nvram->host_id & 0x0f, in sym_display_Symbios_nvram()
174 sym_name(np), i, in sym_display_Symbios_nvram()
188 static void sym_display_Tekram_nvram(struct sym_device *np, Tekram_nvram *nvram) in sym_display_Tekram_nvram() argument
206 sym_name(np), nvram->host_id & 0x0f, in sym_display_Tekram_nvram()
224 sym_name(np), i, in sym_display_Tekram_nvram()
235 static void sym_display_Symbios_nvram(struct sym_device *np, Symbios_nvram *nvram) { (void)np; (voi… in sym_display_Symbios_nvram() argument
236 static void sym_display_Tekram_nvram(struct sym_device *np, Tekram_nvram *nvram) { (void)np; (void)… in sym_display_Tekram_nvram() argument
256 static void S24C16_set_bit(struct sym_device *np, u_char write_bit, u_char *gpreg, in S24C16_set_bit() argument
275 OUTB(np, nc_gpreg, *gpreg); in S24C16_set_bit()
276 INB(np, nc_mbox1); in S24C16_set_bit()
283 static void S24C16_start(struct sym_device *np, u_char *gpreg) in S24C16_start() argument
285 S24C16_set_bit(np, 1, gpreg, SET_BIT); in S24C16_start()
286 S24C16_set_bit(np, 0, gpreg, SET_CLK); in S24C16_start()
287 S24C16_set_bit(np, 0, gpreg, CLR_BIT); in S24C16_start()
288 S24C16_set_bit(np, 0, gpreg, CLR_CLK); in S24C16_start()
294 static void S24C16_stop(struct sym_device *np, u_char *gpreg) in S24C16_stop() argument
296 S24C16_set_bit(np, 0, gpreg, SET_CLK); in S24C16_stop()
297 S24C16_set_bit(np, 1, gpreg, SET_BIT); in S24C16_stop()
304 static void S24C16_do_bit(struct sym_device *np, u_char *read_bit, u_char write_bit, in S24C16_do_bit() argument
307 S24C16_set_bit(np, write_bit, gpreg, SET_BIT); in S24C16_do_bit()
308 S24C16_set_bit(np, 0, gpreg, SET_CLK); in S24C16_do_bit()
310 *read_bit = INB(np, nc_gpreg); in S24C16_do_bit()
311 S24C16_set_bit(np, 0, gpreg, CLR_CLK); in S24C16_do_bit()
312 S24C16_set_bit(np, 0, gpreg, CLR_BIT); in S24C16_do_bit()
319 static void S24C16_write_ack(struct sym_device *np, u_char write_bit, u_char *gpreg, in S24C16_write_ack() argument
322 OUTB(np, nc_gpcntl, *gpcntl & 0xfe); in S24C16_write_ack()
323 S24C16_do_bit(np, NULL, write_bit, gpreg); in S24C16_write_ack()
324 OUTB(np, nc_gpcntl, *gpcntl); in S24C16_write_ack()
331 static void S24C16_read_ack(struct sym_device *np, u_char *read_bit, u_char *gpreg, in S24C16_read_ack() argument
334 OUTB(np, nc_gpcntl, *gpcntl | 0x01); in S24C16_read_ack()
335 S24C16_do_bit(np, read_bit, 1, gpreg); in S24C16_read_ack()
336 OUTB(np, nc_gpcntl, *gpcntl); in S24C16_read_ack()
343 static void S24C16_write_byte(struct sym_device *np, u_char *ack_data, u_char write_data, in S24C16_write_byte() argument
349 S24C16_do_bit(np, NULL, (write_data >> (7 - x)) & 0x01, gpreg); in S24C16_write_byte()
351 S24C16_read_ack(np, ack_data, gpreg, gpcntl); in S24C16_write_byte()
358 static void S24C16_read_byte(struct sym_device *np, u_char *read_data, u_char ack_data, in S24C16_read_byte() argument
366 S24C16_do_bit(np, &read_bit, 1, gpreg); in S24C16_read_byte()
370 S24C16_write_ack(np, ack_data, gpreg, gpcntl); in S24C16_read_byte()
377 static int sym_write_S24C16_nvram(struct sym_device *np, int offset, in sym_write_S24C16_nvram() argument
386 old_gpreg = INB(np, nc_gpreg); in sym_write_S24C16_nvram()
387 old_gpcntl = INB(np, nc_gpcntl); in sym_write_S24C16_nvram()
391 OUTB(np, nc_gpreg, old_gpreg); in sym_write_S24C16_nvram()
392 OUTB(np, nc_gpcntl, gpcntl); in sym_write_S24C16_nvram()
396 S24C16_set_bit(np, 0, &gpreg, CLR_CLK); in sym_write_S24C16_nvram()
397 S24C16_set_bit(np, 0, &gpreg, CLR_BIT); in sym_write_S24C16_nvram()
400 S24C16_stop(np, &gpreg); in sym_write_S24C16_nvram()
405 S24C16_start(np, &gpreg); in sym_write_S24C16_nvram()
406 S24C16_write_byte(np, &ack_data, in sym_write_S24C16_nvram()
411 S24C16_write_byte(np, &ack_data, (offset+x) & 0xff, in sym_write_S24C16_nvram()
415 S24C16_write_byte(np, &ack_data, data[x+y], in sym_write_S24C16_nvram()
417 S24C16_stop(np, &gpreg); in sym_write_S24C16_nvram()
421 OUTB(np, nc_gpcntl, old_gpcntl); in sym_write_S24C16_nvram()
422 OUTB(np, nc_gpreg, old_gpreg); in sym_write_S24C16_nvram()
431 static int sym_read_S24C16_nvram(struct sym_device *np, int offset, u_char *data, int len) in sym_read_S24C16_nvram() argument
440 old_gpreg = INB(np, nc_gpreg); in sym_read_S24C16_nvram()
441 old_gpcntl = INB(np, nc_gpcntl); in sym_read_S24C16_nvram()
445 OUTB(np, nc_gpreg, old_gpreg); in sym_read_S24C16_nvram()
446 OUTB(np, nc_gpcntl, gpcntl); in sym_read_S24C16_nvram()
450 S24C16_set_bit(np, 0, &gpreg, CLR_CLK); in sym_read_S24C16_nvram()
451 S24C16_set_bit(np, 0, &gpreg, CLR_BIT); in sym_read_S24C16_nvram()
454 S24C16_stop(np, &gpreg); in sym_read_S24C16_nvram()
457 S24C16_start(np, &gpreg); in sym_read_S24C16_nvram()
460 S24C16_write_byte(np, &ack_data, in sym_read_S24C16_nvram()
466 S24C16_write_byte(np, &ack_data, in sym_read_S24C16_nvram()
472 S24C16_start(np, &gpreg); in sym_read_S24C16_nvram()
475 S24C16_write_byte(np, &ack_data, in sym_read_S24C16_nvram()
482 OUTB(np, nc_gpcntl, gpcntl); in sym_read_S24C16_nvram()
486 S24C16_read_byte(np, &data[x], (x == (len-1)), &gpreg, &gpcntl); in sym_read_S24C16_nvram()
490 OUTB(np, nc_gpcntl, gpcntl); in sym_read_S24C16_nvram()
491 S24C16_stop(np, &gpreg); in sym_read_S24C16_nvram()
495 OUTB(np, nc_gpcntl, old_gpcntl); in sym_read_S24C16_nvram()
496 OUTB(np, nc_gpreg, old_gpreg); in sym_read_S24C16_nvram()
510 static int sym_read_Symbios_nvram(struct sym_device *np, Symbios_nvram *nvram) in sym_read_Symbios_nvram() argument
519 if (sym_read_S24C16_nvram (np, SYMBIOS_NVRAM_ADDRESS, data, len)) in sym_read_Symbios_nvram()
551 static void T93C46_Clk(struct sym_device *np, u_char *gpreg) in T93C46_Clk() argument
553 OUTB(np, nc_gpreg, *gpreg | 0x04); in T93C46_Clk()
554 INB(np, nc_mbox1); in T93C46_Clk()
556 OUTB(np, nc_gpreg, *gpreg); in T93C46_Clk()
562 static void T93C46_Read_Bit(struct sym_device *np, u_char *read_bit, u_char *gpreg) in T93C46_Read_Bit() argument
565 T93C46_Clk(np, gpreg); in T93C46_Read_Bit()
566 *read_bit = INB(np, nc_gpreg); in T93C46_Read_Bit()
572 static void T93C46_Write_Bit(struct sym_device *np, u_char write_bit, u_char *gpreg) in T93C46_Write_Bit() argument
581 OUTB(np, nc_gpreg, *gpreg); in T93C46_Write_Bit()
582 INB(np, nc_mbox1); in T93C46_Write_Bit()
585 T93C46_Clk(np, gpreg); in T93C46_Write_Bit()
591 static void T93C46_Stop(struct sym_device *np, u_char *gpreg) in T93C46_Stop() argument
594 OUTB(np, nc_gpreg, *gpreg); in T93C46_Stop()
595 INB(np, nc_mbox1); in T93C46_Stop()
598 T93C46_Clk(np, gpreg); in T93C46_Stop()
604 static void T93C46_Send_Command(struct sym_device *np, u_short write_data, in T93C46_Send_Command() argument
611 T93C46_Write_Bit(np, (u_char) (write_data >> (8 - x)), gpreg); in T93C46_Send_Command()
613 *read_bit = INB(np, nc_gpreg); in T93C46_Send_Command()
619 static void T93C46_Read_Word(struct sym_device *np, in T93C46_Read_Word() argument
627 T93C46_Read_Bit(np, &read_bit, gpreg); in T93C46_Read_Word()
639 static int T93C46_Read_Data(struct sym_device *np, unsigned short *data, in T93C46_Read_Data() argument
647 T93C46_Send_Command(np, 0x180 | x, &read_bit, gpreg); in T93C46_Read_Data()
650 T93C46_Read_Word(np, &data[x], gpreg); in T93C46_Read_Data()
651 T93C46_Stop(np, gpreg); in T93C46_Read_Data()
660 static int sym_read_T93C46_nvram(struct sym_device *np, Tekram_nvram *nvram) in sym_read_T93C46_nvram() argument
667 old_gpreg = INB(np, nc_gpreg); in sym_read_T93C46_nvram()
668 old_gpcntl = INB(np, nc_gpcntl); in sym_read_T93C46_nvram()
673 OUTB(np, nc_gpreg, gpreg); in sym_read_T93C46_nvram()
675 OUTB(np, nc_gpcntl, gpcntl); in sym_read_T93C46_nvram()
678 retv = T93C46_Read_Data(np, (u_short *) nvram, in sym_read_T93C46_nvram()
682 OUTB(np, nc_gpcntl, old_gpcntl); in sym_read_T93C46_nvram()
683 OUTB(np, nc_gpreg, old_gpreg); in sym_read_T93C46_nvram()
692 static int sym_read_Tekram_nvram (struct sym_device *np, Tekram_nvram *nvram) in sym_read_Tekram_nvram() argument
699 switch (np->pdev->device) { in sym_read_Tekram_nvram()
703 x = sym_read_S24C16_nvram(np, TEKRAM_24C16_NVRAM_ADDRESS, in sym_read_Tekram_nvram()
707 x = sym_read_S24C16_nvram(np, TEKRAM_24C16_NVRAM_ADDRESS, in sym_read_Tekram_nvram()
712 x = sym_read_T93C46_nvram(np, nvram); in sym_read_Tekram_nvram()
733 static int sym_read_parisc_pdc(struct sym_device *np, struct pdc_initiator *pdc) in sym_read_parisc_pdc() argument
736 get_pci_node_path(np->pdev, &hwpath); in sym_read_parisc_pdc()
743 static inline int sym_read_parisc_pdc(struct sym_device *np, in sym_read_parisc_pdc() argument
753 int sym_read_nvram(struct sym_device *np, struct sym_nvram *nvp) in sym_read_nvram() argument
755 if (!sym_read_Symbios_nvram(np, &nvp->data.Symbios)) { in sym_read_nvram()
757 sym_display_Symbios_nvram(np, &nvp->data.Symbios); in sym_read_nvram()
758 } else if (!sym_read_Tekram_nvram(np, &nvp->data.Tekram)) { in sym_read_nvram()
760 sym_display_Tekram_nvram(np, &nvp->data.Tekram); in sym_read_nvram()
762 nvp->type = sym_read_parisc_pdc(np, &nvp->data.parisc); in sym_read_nvram()