From patchwork Thu Sep 3 01:46:04 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Charles Chiou X-Patchwork-Id: 7114441 Return-Path: X-Original-To: patchwork-linux-scsi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 1CC2A9F372 for ; Thu, 3 Sep 2015 01:46:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 37C39206FA for ; Thu, 3 Sep 2015 01:46:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4C84820672 for ; Thu, 3 Sep 2015 01:46:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756240AbbICBqJ (ORCPT ); Wed, 2 Sep 2015 21:46:09 -0400 Received: from mail-pa0-f45.google.com ([209.85.220.45]:33564 "EHLO mail-pa0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754875AbbICBqH (ORCPT ); Wed, 2 Sep 2015 21:46:07 -0400 Received: by pacex6 with SMTP id ex6so24110496pac.0; Wed, 02 Sep 2015 18:46:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :content-type:content-transfer-encoding; bh=FuomHvS5ii9dtngXP5qV8iyRDMZuD6yCuuAXG1/5xqA=; b=ECfsyIGGZFWWca4wGXwobo2Dr6407fyqGNAPZOWg5Pun8Sg8W3WHG7GvLi6eaA4LpS jT+iTmOQKbNWioa08CekDbEVL5ctC05bREyzJ5UwV/YogVRVZqOdtjgEFHoW34dIoQjq 3w0tm+8gzGm1S70jSVrjemmsUEE9RlMWB9WX3Ms1KKHvuPDR+bKEXaEGx82GKywnXgaU s4wLGjSIox4IsXlzhX6TbjL0HCks31rJFyViC1FfCnNa5sS0o3tYSGCVUnOYtZYq5XWS Hdd7QPfOinCgqxo16hfwlA1oFjr311mqBJb5GxGEIDTTDPhWiht4GGPw45Uy7riVoybK 9X5Q== X-Received: by 10.68.254.200 with SMTP id ak8mr61765106pbd.53.1441244767374; Wed, 02 Sep 2015 18:46:07 -0700 (PDT) Received: from [192.168.204.65] (vpn.promise.com.tw. [61.222.81.253]) by smtp.googlemail.com with ESMTPSA id rt6sm23106416pbb.62.2015.09.02.18.46.05 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Sep 2015 18:46:06 -0700 (PDT) Message-ID: <55E7A65C.4090609@gmail.com> Date: Thu, 03 Sep 2015 09:46:04 +0800 From: Charles Chiou User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Charles Chiou , Christoph Hellwig , JBottomley@parallels.com, Oliver Neukum CC: ed.lin@promise.com, grace.chang@tw.promise.com, linus.chen@tw.promise.com, victor.p@promise.com, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] scsi:stex.c Support to Pegasus series. Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From 63f806abc43237285a918f559ce6e5e410d90d85 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 2 Sep 2015 20:41:56 +0800 Subject: [PATCH 1/3] scsi:stex.c Support to Pegasus series. Pegasus is a high performace hardware RAID solution designed to unleash the raw power of Thunderbolt technology. 1. Add code to distinct SuperTrack and Pegasus series by sub device ID. It should support backward compatibility. 2. Change the driver version. Signed-off-by: Charles Chiou --- drivers/scsi/stex.c | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) sts_offset += (ci->sts_count+1) * sizeof(u32); diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index 98a62bc..657e3ae 100644 --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c @@ -1,7 +1,7 @@ /* * SuperTrak EX Series Storage Controller driver for Linux * - * Copyright (C) 2005-2009 Promise Technology Inc. + * Copyright (C) 2005-2015 Promise Technology Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -37,11 +37,11 @@ #include #define DRV_NAME "stex" -#define ST_DRIVER_VERSION "4.6.0000.4" -#define ST_VER_MAJOR 4 -#define ST_VER_MINOR 6 -#define ST_OEM 0 -#define ST_BUILD_VER 4 +#define ST_DRIVER_VERSION "5.00.0000.01" +#define ST_VER_MAJOR 5 +#define ST_VER_MINOR 00 +#define ST_OEM 0000 +#define ST_BUILD_VER 01 enum { /* MU register offset */ @@ -327,6 +327,7 @@ struct st_hba { u16 rq_count; u16 rq_size; u16 sts_count; + u8 supports_pm; }; struct st_card_info { @@ -1566,8 +1567,30 @@ static int stex_probe(struct pci_dev *pdev, const struct pci_device_id *id) goto out_iounmap; } + + + hba->cardtype = (unsigned int) id->driver_data; ci = &stex_card_info[hba->cardtype]; + switch (id->subdevice) { + case 0x4221: + case 0x4222: + case 0x4223: + case 0x4224: + case 0x4225: + case 0x4226: + case 0x4227: + case 0x4261: + case 0x4262: + case 0x4263: + case 0x4264: + case 0x4265: + break; + default: + if (hba->cardtype == st_yel) + hba->supports_pm = 1; + } + sts_offset = scratch_offset = (ci->rq_count+1) * ci->rq_size; if (hba->cardtype == st_yel)