advansys.c (b10778a00d40b3d9fdaaf5891e802794781ff71c) advansys.c (db5ed4dfd5dd0142ec36ff7b335e0ec3b836b3e6)
1#define DRV_NAME "advansys"
2#define ASC_VERSION "3.4" /* AdvanSys Driver Version */
3
4/*
5 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
6 *
7 * Copyright (c) 1995-2000 Advanced System Products, Inc.
8 * Copyright (c) 2000-2001 ConnectCom Solutions, Inc.

--- 7692 unchanged lines hidden (view full) ---

7701 }
7702
7703 if (sdev->tagged_supported) {
7704 if (asc_dvc->cfg->cmd_qng_enabled & tid_bit) {
7705 if (sdev->lun == 0) {
7706 asc_dvc->cfg->can_tagged_qng |= tid_bit;
7707 asc_dvc->use_tagged_qng |= tid_bit;
7708 }
1#define DRV_NAME "advansys"
2#define ASC_VERSION "3.4" /* AdvanSys Driver Version */
3
4/*
5 * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
6 *
7 * Copyright (c) 1995-2000 Advanced System Products, Inc.
8 * Copyright (c) 2000-2001 ConnectCom Solutions, Inc.

--- 7692 unchanged lines hidden (view full) ---

7701 }
7702
7703 if (sdev->tagged_supported) {
7704 if (asc_dvc->cfg->cmd_qng_enabled & tid_bit) {
7705 if (sdev->lun == 0) {
7706 asc_dvc->cfg->can_tagged_qng |= tid_bit;
7707 asc_dvc->use_tagged_qng |= tid_bit;
7708 }
7709 scsi_adjust_queue_depth(sdev, MSG_ORDERED_TAG,
7709 scsi_change_queue_depth(sdev,
7710 asc_dvc->max_dvc_qng[sdev->id]);
7711 }
7712 } else {
7713 if (sdev->lun == 0) {
7714 asc_dvc->cfg->can_tagged_qng &= ~tid_bit;
7715 asc_dvc->use_tagged_qng &= ~tid_bit;
7716 }
7710 asc_dvc->max_dvc_qng[sdev->id]);
7711 }
7712 } else {
7713 if (sdev->lun == 0) {
7714 asc_dvc->cfg->can_tagged_qng &= ~tid_bit;
7715 asc_dvc->use_tagged_qng &= ~tid_bit;
7716 }
7717 scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun);
7718 }
7719
7720 if ((sdev->lun == 0) &&
7721 (orig_use_tagged_qng != asc_dvc->use_tagged_qng)) {
7722 AscWriteLramByte(asc_dvc->iop_base, ASCV_DISC_ENABLE_B,
7723 asc_dvc->cfg->disc_enable);
7724 AscWriteLramByte(asc_dvc->iop_base, ASCV_USE_TAGGED_QNG_B,
7725 asc_dvc->use_tagged_qng);

--- 117 unchanged lines hidden (view full) ---

7843 AdvWriteWordLram(iop_base, ASC_MC_TAGQNG_ABLE,
7844 cfg_word);
7845 AdvWriteByteLram(iop_base,
7846 ASC_MC_NUMBER_OF_MAX_CMD + sdev->id,
7847 adv_dvc->max_dvc_qng);
7848 }
7849 }
7850
7717 }
7718
7719 if ((sdev->lun == 0) &&
7720 (orig_use_tagged_qng != asc_dvc->use_tagged_qng)) {
7721 AscWriteLramByte(asc_dvc->iop_base, ASCV_DISC_ENABLE_B,
7722 asc_dvc->cfg->disc_enable);
7723 AscWriteLramByte(asc_dvc->iop_base, ASCV_USE_TAGGED_QNG_B,
7724 asc_dvc->use_tagged_qng);

--- 117 unchanged lines hidden (view full) ---

7842 AdvWriteWordLram(iop_base, ASC_MC_TAGQNG_ABLE,
7843 cfg_word);
7844 AdvWriteByteLram(iop_base,
7845 ASC_MC_NUMBER_OF_MAX_CMD + sdev->id,
7846 adv_dvc->max_dvc_qng);
7847 }
7848 }
7849
7851 if ((adv_dvc->tagqng_able & tidmask) && sdev->tagged_supported) {
7852 scsi_adjust_queue_depth(sdev, MSG_ORDERED_TAG,
7853 adv_dvc->max_dvc_qng);
7854 } else {
7855 scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun);
7856 }
7850 if ((adv_dvc->tagqng_able & tidmask) && sdev->tagged_supported)
7851 scsi_change_queue_depth(sdev, adv_dvc->max_dvc_qng);
7857}
7858
7859/*
7860 * Set the number of commands to queue per device for the
7861 * specified host adapter.
7862 */
7863static int advansys_slave_configure(struct scsi_device *sdev)
7864{

--- 4481 unchanged lines hidden ---
7852}
7853
7854/*
7855 * Set the number of commands to queue per device for the
7856 * specified host adapter.
7857 */
7858static int advansys_slave_configure(struct scsi_device *sdev)
7859{

--- 4481 unchanged lines hidden ---