Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 22595
b: refs/heads/master
c: 986a25f
h: refs/heads/master
i:
  22593: 8aaaf5e
  22591: 84e09fe
v: v3
  • Loading branch information
Hannes Reinecke authored and James Bottomley committed Mar 12, 2006
1 parent fc107a0 commit b70c9ac
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9e691dfba56f7d7a38b09edc5252264bc1bab659
refs/heads/master: 986a25f96accc8272059ae8b3eb63055f58cadb0
35 changes: 28 additions & 7 deletions trunk/drivers/scsi/aic7xxx/aic79xx_osm.c
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,7 @@ ahd_linux_target_alloc(struct scsi_target *starget)
{
struct ahd_softc *ahd =
*((struct ahd_softc **)dev_to_shost(&starget->dev)->hostdata);
struct seeprom_config *sc = ahd->seep_config;
unsigned long flags;
struct scsi_target **ahd_targp = ahd_linux_target_in_softc(starget);
struct ahd_linux_target *targ = scsi_transport_target_data(starget);
Expand All @@ -496,18 +497,38 @@ ahd_linux_target_alloc(struct scsi_target *starget)
*ahd_targp = starget;
memset(targ, 0, sizeof(*targ));

if (sc) {
int flags = sc->device_flags[starget->id];

tinfo = ahd_fetch_transinfo(ahd, 'A', ahd->our_id,
starget->id, &tstate);

if ((flags & CFPACKETIZED) == 0) {
/* Do not negotiate packetized transfers */
spi_rd_strm(starget) = 0;
spi_pcomp_en(starget) = 0;
spi_rti(starget) = 0;
spi_wr_flow(starget) = 0;
spi_hold_mcs(starget) = 0;
} else {
if ((ahd->features & AHD_RTI) == 0)
spi_rti(starget) = 0;
}

if ((flags & CFQAS) == 0)
spi_qas(starget) = 0;

/* Transinfo values have been set to BIOS settings */
spi_max_width(starget) = (flags & CFWIDEB) ? 1 : 0;
spi_min_period(starget) = tinfo->user.period;
spi_max_offset(starget) = tinfo->user.offset;
}

tinfo = ahd_fetch_transinfo(ahd, channel, ahd->our_id,
starget->id, &tstate);
ahd_compile_devinfo(&devinfo, ahd->our_id, starget->id,
CAM_LUN_WILDCARD, channel,
ROLE_INITIATOR);
spi_min_period(starget) = AHD_SYNCRATE_MAX; /* We can do U320 */
if ((ahd->bugs & AHD_PACED_NEGTABLE_BUG) != 0)
spi_max_offset(starget) = MAX_OFFSET_PACED_BUG;
else
spi_max_offset(starget) = MAX_OFFSET_PACED;
spi_max_width(starget) = ahd->features & AHD_WIDE;

ahd_set_syncrate(ahd, &devinfo, 0, 0, 0,
AHD_TRANS_GOAL, /*paused*/FALSE);
ahd_set_width(ahd, &devinfo, MSG_EXT_WDTR_BUS_8_BIT,
Expand Down

0 comments on commit b70c9ac

Please sign in to comment.