From patchwork Tue Feb 8 15:52:36 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartlomiej Zolnierkiewicz X-Patchwork-Id: 82353 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 27AD7B710C for ; Wed, 9 Feb 2011 02:53:40 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754457Ab1BHPxi (ORCPT ); Tue, 8 Feb 2011 10:53:38 -0500 Received: from mail-bw0-f46.google.com ([209.85.214.46]:53950 "EHLO mail-bw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754320Ab1BHPxh (ORCPT ); Tue, 8 Feb 2011 10:53:37 -0500 Received: by bwz15 with SMTP id 15so6161948bwz.19 for ; Tue, 08 Feb 2011 07:53:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:subject:date:user-agent:cc:mime-version :message-id:content-type:content-transfer-encoding; bh=Fnnj3L4/8zP1XyI89Y9rC3PVoQUvxfeEIgu9E8iSgkE=; b=c0cmK6VOiNEUGjcZBdZxVaxFeEzjlQaNWc0Ha2PhgmMGGxjlIpXElcx5caIktqy7sl C2CYlc8JnmVnNTO0OjNlT+1ICLkd0iWfmvl00v70X/aimu2r8dEXAjJu1ov/pnWBXwJE 9eYlgqygblR7VFyejVhrquYVicCZl7M3L3ACQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:cc:mime-version:message-id :content-type:content-transfer-encoding; b=mImhLp5cSCDpZTXPXiV8suQS1zMdf64pGqdIrElM8u4fpfQcWS2eG9YGy/WG8mYpC5 n+Ue7dCjjIBIiWQFoCNNi+11UetlfNmEsM9fMJlfSbUIyNorsKdnsbM48Edbs4B32xRE YkbW5DSOtrTpvKz92Ng6ufo14tDXInnk7hLWw= Received: by 10.204.23.15 with SMTP id p15mr1404757bkb.108.1297180416172; Tue, 08 Feb 2011 07:53:36 -0800 (PST) Received: from linux-mhg7.site (89-74-121-163.dynamic.chello.pl [89.74.121.163]) by mx.google.com with ESMTPS id u23sm2824835bkw.21.2011.02.08.07.53.33 (version=SSLv3 cipher=RC4-MD5); Tue, 08 Feb 2011 07:53:35 -0800 (PST) From: Bartlomiej Zolnierkiewicz To: linux-ide@vger.kernel.org Subject: [PATCH 21/20] ata_piix: add new PIIX_FLAG_* flags Date: Tue, 8 Feb 2011 16:52:36 +0100 User-Agent: KMail/1.13.5 (Linux/2.6.34.7-0.7-desktop; KDE/4.4.4; x86_64; ; ) Cc: linux-kernel@vger.kernel.org, Alan Cox MIME-Version: 1.0 Message-Id: <201102081652.36752.bzolnier@gmail.com> Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org Turn open-coded checks in piix_set_timings() into PIIX_FLAG_* flags per suggestion from Alan Cox. Suggested-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz --- On top of https://lkml.org/lkml/2011/2/8/97 patchset. drivers/ata/ata_piix.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: b/drivers/ata/ata_piix.c =================================================================== --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c @@ -133,6 +133,8 @@ enum { PIIX_FLAG_CHECKINTR = (1 << 28), /* make sure PCI INTx enabled */ PIIX_FLAG_SIDPR = (1 << 29), /* SATA idx/data pair regs */ + PIIX_FLAG_NO_SITRE = (1 << 30), /* no SITRE register */ + PIIX_FLAG_RADISYS = (1 << 31), /* host is Radisys R82600 */ PIIX_PATA_FLAGS = ATA_FLAG_SLAVE_POSS, PIIX_SATA_FLAGS = ATA_FLAG_SATA | PIIX_FLAG_CHECKINTR, @@ -698,7 +700,7 @@ static struct ata_port_info piix_port_in [oldpiix_pata] = { - .flags = PIIX_PATA_FLAGS, + .flags = PIIX_PATA_FLAGS | PIIX_FLAG_NO_SITRE, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA12_ONLY, .port_ops = &oldpiix_pata_ops, @@ -706,7 +708,8 @@ static struct ata_port_info piix_port_in [radisys_pata] = { - .flags = PIIX_PATA_FLAGS, + .flags = PIIX_PATA_FLAGS | PIIX_FLAG_NO_SITRE | + PIIX_FLAG_RADISYS, .pio_mask = ATA_PIO4, .mwdma_mask = ATA_MWDMA12_ONLY, .udma_mask = ATA_UDMA24_ONLY, @@ -859,10 +862,8 @@ static void piix_set_timings(struct ata_ struct pci_dev *dev = to_pci_dev(ap->host->dev); unsigned long flags; unsigned int is_slave = (adev->devno != 0); - unsigned int is_radisys = (dev->vendor == PCI_VENDOR_ID_RADISYS && - dev->device == 0x8201); - unsigned int has_sitre = (dev->vendor != PCI_VENDOR_ID_INTEL || - dev->device != 0x1230) && !is_radisys; + unsigned int is_radisys = (ap->flags & PIIX_FLAG_RADISYS) ? 1 : 0; + unsigned int has_sitre = (ap->flags & PIIX_FLAG_NO_SITRE) ? 1 : 0; unsigned int master_port= ap->port_no ? 0x42 : 0x40; unsigned int slave_port = 0x44; u16 master_data;