Skip to content

Commit

Permalink
[SCSI] aic79xx: Print out signalling
Browse files Browse the repository at this point in the history
This is a cross-port of a similar patch for aic7xxx;
only it's a bit simpler here as we don't support HVD
and all controller actually implement this register.
I hope.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
  • Loading branch information
Hannes Reinecke authored and James Bottomley committed Oct 25, 2006
1 parent 9080063 commit d6b9ccb
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions drivers/scsi/aic7xxx/aic79xx_osm.c
Original file line number Diff line number Diff line change
Expand Up @@ -2694,7 +2694,25 @@ static void ahd_linux_set_hold_mcs(struct scsi_target *starget, int hold)
ahd_unlock(ahd, &flags);
}

static void ahd_linux_get_signalling(struct Scsi_Host *shost)
{
struct ahd_softc *ahd = *(struct ahd_softc **)shost->hostdata;
unsigned long flags;
u8 mode;

ahd_lock(ahd, &flags);
ahd_pause(ahd);
mode = ahd_inb(ahd, SBLKCTL);
ahd_unpause(ahd);
ahd_unlock(ahd, &flags);

if (mode & ENAB40)
spi_signalling(shost) = SPI_SIGNAL_LVD;
else if (mode & ENAB20)
spi_signalling(shost) = SPI_SIGNAL_SE;
else
spi_signalling(shost) = SPI_SIGNAL_UNKNOWN;
}

static struct spi_function_template ahd_linux_transport_functions = {
.set_offset = ahd_linux_set_offset,
Expand All @@ -2719,6 +2737,7 @@ static struct spi_function_template ahd_linux_transport_functions = {
.show_pcomp_en = 1,
.set_hold_mcs = ahd_linux_set_hold_mcs,
.show_hold_mcs = 1,
.get_signalling = ahd_linux_get_signalling,
};

static int __init
Expand Down

0 comments on commit d6b9ccb

Please sign in to comment.