diff options
author | Matthew Wilcox <matthew@wil.cx> | 2005-05-20 14:15:43 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-05-26 09:41:14 -0400 |
commit | 53222b906903fd861dc24ebccfa07ee125941313 (patch) | |
tree | a39e9a20718d01b67e89c14baa0e11411643c993 /drivers/scsi/sym53c8xx_2/sym_nvram.c | |
parent | 7c00ffa314bf0fb0e23858bbebad33b48b6abbb9 (diff) |
[SCSI] sym2 version 2.2.1
sym2 version 2.2.1:
- Fix MMIO BAR detection (Thanks to Bob Picco)
- Fix odd-sized transfers with a wide bus (Thanks to Larry Stephens)
- Write posting fixes (Thanks to Thibaut Varene)
- Change one of the GFP_KERNEL allocations back into a GFP_ATOMIC
- Make CCB_BA() return a script-endian address
- Move range checks and disabling of devices from the queuecommand path
to slave_alloc()
- Remove a warning in sym_setup_cdb()
- Keep a pointer to the scsi_target instead of the scsi_dev in the tcb
- Remove a check for the upper layers passing an oversized cmd
- Replace CAM_REQ_ constants with the Linux DID_ constants
- Replace CAM_DIR_ constants with the Linux DMA_ constants
- Inline sym_read_parisc_pdc() on non-parisc systems
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/sym53c8xx_2/sym_nvram.c')
-rw-r--r-- | drivers/scsi/sym53c8xx_2/sym_nvram.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/sym53c8xx_2/sym_nvram.c b/drivers/scsi/sym53c8xx_2/sym_nvram.c index 1b721e3ec520..cd9140e158cf 100644 --- a/drivers/scsi/sym53c8xx_2/sym_nvram.c +++ b/drivers/scsi/sym53c8xx_2/sym_nvram.c | |||
@@ -270,6 +270,7 @@ static void S24C16_set_bit(struct sym_device *np, u_char write_bit, u_char *gpre | |||
270 | 270 | ||
271 | } | 271 | } |
272 | OUTB(np, nc_gpreg, *gpreg); | 272 | OUTB(np, nc_gpreg, *gpreg); |
273 | INB(np, nc_mbox1); | ||
273 | udelay(5); | 274 | udelay(5); |
274 | } | 275 | } |
275 | 276 | ||
@@ -547,6 +548,7 @@ static int sym_read_Symbios_nvram(struct sym_device *np, Symbios_nvram *nvram) | |||
547 | static void T93C46_Clk(struct sym_device *np, u_char *gpreg) | 548 | static void T93C46_Clk(struct sym_device *np, u_char *gpreg) |
548 | { | 549 | { |
549 | OUTB(np, nc_gpreg, *gpreg | 0x04); | 550 | OUTB(np, nc_gpreg, *gpreg | 0x04); |
551 | INB(np, nc_mbox1); | ||
550 | udelay(2); | 552 | udelay(2); |
551 | OUTB(np, nc_gpreg, *gpreg); | 553 | OUTB(np, nc_gpreg, *gpreg); |
552 | } | 554 | } |
@@ -574,6 +576,7 @@ static void T93C46_Write_Bit(struct sym_device *np, u_char write_bit, u_char *gp | |||
574 | *gpreg |= 0x10; | 576 | *gpreg |= 0x10; |
575 | 577 | ||
576 | OUTB(np, nc_gpreg, *gpreg); | 578 | OUTB(np, nc_gpreg, *gpreg); |
579 | INB(np, nc_mbox1); | ||
577 | udelay(2); | 580 | udelay(2); |
578 | 581 | ||
579 | T93C46_Clk(np, gpreg); | 582 | T93C46_Clk(np, gpreg); |
@@ -586,6 +589,7 @@ static void T93C46_Stop(struct sym_device *np, u_char *gpreg) | |||
586 | { | 589 | { |
587 | *gpreg &= 0xef; | 590 | *gpreg &= 0xef; |
588 | OUTB(np, nc_gpreg, *gpreg); | 591 | OUTB(np, nc_gpreg, *gpreg); |
592 | INB(np, nc_mbox1); | ||
589 | udelay(2); | 593 | udelay(2); |
590 | 594 | ||
591 | T93C46_Clk(np, gpreg); | 595 | T93C46_Clk(np, gpreg); |
@@ -733,7 +737,8 @@ static int sym_read_parisc_pdc(struct sym_device *np, struct pdc_initiator *pdc) | |||
733 | return SYM_PARISC_PDC; | 737 | return SYM_PARISC_PDC; |
734 | } | 738 | } |
735 | #else | 739 | #else |
736 | static int sym_read_parisc_pdc(struct sym_device *np, struct pdc_initiator *x) | 740 | static inline int sym_read_parisc_pdc(struct sym_device *np, |
741 | struct pdc_initiator *x) | ||
737 | { | 742 | { |
738 | return 0; | 743 | return 0; |
739 | } | 744 | } |