From: David Milburn <dmilburn@redhat.com> Date: Wed, 18 Aug 2010 23:59:45 -0400 Subject: [ata] sata_mv: remove bogus nsect restriction Message-id: <1282175987-21696-8-git-send-email-dmilburn@redhat.com> Patchwork-id: 27695 O-Subject: [RHEL5.6 PATCH 7/9] BZ 554872 sata_mv: remove bogus nsect restriction Bugzilla: 554872 RH-Acked-by: Jeff Garzik <jgarzik@redhat.com> commit cd12e1f7a2c28917c89d65c0d4a52d3919b4c125 Author: Mark Lord <liml@rtr.ca> Date: Mon Jan 19 18:06:28 2009 -0500 sata_mv: remove bogus nsect restriction BZ 554872 diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 768ceb9..ac6674e 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -346,8 +346,6 @@ enum { EDMA_HALTCOND_OFS = 0x60, /* GenIIe halt conditions */ - GEN_II_NCQ_MAX_SECTORS = 256, /* max sects/io on Gen2 w/NCQ */ - /* Host private flags (hp_flags) */ MV_HP_FLAG_MSI = (1 << 0), MV_HP_ERRATA_50XXB0 = (1 << 1), @@ -1088,20 +1086,12 @@ static void mv6_dev_config(struct ata_device *adev) * * Gen-II does not support NCQ over a port multiplier * (no FIS-based switching). - * - * We don't have hob_nsect when doing NCQ commands on Gen-II. - * See mv_qc_prep() for more info. */ if (adev->flags & ATA_DFLAG_NCQ) { if (sata_pmp_attached(adev->link->ap)) { adev->flags &= ~ATA_DFLAG_NCQ; ata_dev_printk(adev, KERN_INFO, "NCQ disabled for command-based switching\n"); - } else if (adev->max_sectors > GEN_II_NCQ_MAX_SECTORS) { - adev->max_sectors = GEN_II_NCQ_MAX_SECTORS; - ata_dev_printk(adev, KERN_INFO, - "max_sectors limited to %u for NCQ\n", - adev->max_sectors); } } } @@ -1442,7 +1432,8 @@ static void mv_qc_prep(struct ata_queued_cmd *qc) * only 11 bytes...so we must pick and choose required * registers based on the command. So, we drop feature and * hob_feature for [RW] DMA commands, but they are needed for - * NCQ. NCQ will drop hob_nsect. + * NCQ. NCQ will drop hob_nsect, which is not needed there + * (nsect is used only for the tag; feat/hob_feat hold true nsect). */ switch (tf->command) { case ATA_CMD_READ: