mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-17 09:43:59 +08:00
[SCSI] aic79xx: set precompensation
aic79xx has a special 'iocell' chip which handles the precompensation. If it's set via DV we should make sure to set the chip correctly, too. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
8883c1f182
commit
843822ad63
@ -2636,8 +2636,22 @@ static void ahd_linux_set_pcomp_en(struct scsi_target *starget, int pcomp)
|
||||
pcomp ? "Enable" : "Disable");
|
||||
#endif
|
||||
|
||||
if (pcomp)
|
||||
if (pcomp) {
|
||||
uint8_t precomp;
|
||||
|
||||
if (ahd->unit < ARRAY_SIZE(aic79xx_iocell_info)) {
|
||||
struct ahd_linux_iocell_opts *iocell_opts;
|
||||
|
||||
iocell_opts = &aic79xx_iocell_info[ahd->unit];
|
||||
precomp = iocell_opts->precomp;
|
||||
} else {
|
||||
precomp = AIC79XX_DEFAULT_PRECOMP;
|
||||
}
|
||||
ppr_options |= MSG_EXT_PPR_PCOMP_EN;
|
||||
AHD_SET_PRECOMP(ahd, precomp);
|
||||
} else {
|
||||
AHD_SET_PRECOMP(ahd, 0);
|
||||
}
|
||||
|
||||
ahd_compile_devinfo(&devinfo, shost->this_id, starget->id, 0,
|
||||
starget->channel + 'A', ROLE_INITIATOR);
|
||||
|
Loading…
Reference in New Issue
Block a user