From patchwork Thu May 31 22:07:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: dann frazier X-Patchwork-Id: 923618 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40xhQd2Gkcz9s4Y; Fri, 1 Jun 2018 08:07:21 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1fOViu-0007Cj-45; Thu, 31 May 2018 22:07:08 +0000 Received: from complete.lackof.org ([198.49.126.79]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1fOVis-00079U-52 for kernel-team@lists.ubuntu.com; Thu, 31 May 2018 22:07:06 +0000 Received: from localhost (c-73-78-137-212.hsd1.co.comcast.net [73.78.137.212]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by complete.lackof.org (Postfix) with ESMTPSA id 2646733E006A for ; Thu, 31 May 2018 16:07:03 -0600 (MDT) Date: Thu, 31 May 2018 16:07:02 -0600 From: dann frazier To: kernel-team@lists.ubuntu.com Subject: [PULL][SRU Bionic] hisi_sas driver fixes Message-ID: <20180531220702.GA9580@xps13.dannf> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.10.0 (2018-05-17) X-Virus-Scanned: clamav-milter 0.99.4 at complete.lackof.org X-Virus-Status: Clean X-Spam-Status: No, score=0.2 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on complete.lackof.org X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" I've combined fixes for the following bugs in this PR, as the fixes all touch the same code: hisi_sas robustness fixes: BugLink: https://bugs.launchpad.net/bugs/1774466 hisi_sas: Support newer v3 hardware: BugLink: https://bugs.launchpad.net/bugs/1774467 hisi_sas: improve performance by optimizing DQ locking: BugLink: https://bugs.launchpad.net/bugs/1774472 First one is a clean cherry-pick from mainline, remainder are all clean cherry-picks from linux-next. Tested on HiSilicon D05 and D06 platforms. The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f: UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200) are available in the Git repository at: git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi_sas-updates-bionic for you to fetch changes up to 0496497a32a3bdaed5bd18800945cf31c97a417f: scsi: hisi_sas: Mark PHY as in reset for nexus reset (2018-05-31 15:18:44 -0600) ---------------------------------------------------------------- John Garry (3): scsi: hisi_sas: print device id for errors scsi: hisi_sas: stop controller timer for reset scsi: hisi_sas: add readl poll timeout helper wrappers Wei Yongjun (1): scsi: hisi_sas: fix a typo in hisi_sas_task_prep() Xiang Chen (19): scsi: hisi_sas: initialize dq spinlock before use scsi: hisi_sas: delete timer when removing hisi_sas driver scsi: hisi_sas: optimise the usage of DQ locking scsi: hisi_sas: Add some checks to avoid free'ing a sas_task twice scsi: hisi_sas: check host frozen before calling "done" function scsi: hisi_sas: fix PI memory size scsi: hisi_sas: check sas_dev gone earlier in hisi_sas_abort_task() scsi: hisi_sas: update PHY linkrate after a controller reset scsi: hisi_sas: config ATA de-reset as an constrained command for v3 hw scsi: hisi_sas: relocate smp sg map scsi: hisi_sas: make return type of prep functions void scsi: hisi_sas: allocate slot buffer earlier scsi: hisi_sas: Don't lock DQ for complete task sending scsi: hisi_sas: Use device lock to protect slot alloc/free scsi: hisi_sas: change slot index allocation mode scsi: hisi_sas: Change common allocation mode of device id scsi: hisi_sas: Reset disks when discovered scsi: hisi_sas: Create a scsi_host_template per HW module scsi: hisi_sas: Mark PHY as in reset for nexus reset Xiaofei Tan (12): scsi: hisi_sas: update RAS feature for later revision of v3 HW scsi: hisi_sas: check IPTT is valid before using it for v3 hw scsi: hisi_sas: remove redundant handling to event95 for v3 scsi: hisi_sas: workaround a v3 hw hilink bug scsi: hisi_sas: add check of device in hisi_sas_task_exec() scsi: hisi_sas: Add LED feature for v3 hw scsi: hisi_sas: Init disks after controller reset scsi: hisi_sas: Try wait commands before before controller reset scsi: hisi_sas: Include TMF elements in struct hisi_sas_slot scsi: hisi_sas: Add v2 hw force PHY function for internal ATA command scsi: hisi_sas: Terminate STP reject quickly for v2 hw scsi: hisi_sas: Fix return value when get_free_slot() failed drivers/scsi/hisi_sas/hisi_sas.h | 49 ++- drivers/scsi/hisi_sas/hisi_sas_main.c | 560 +++++++++++++++++++++++---------- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 129 ++++---- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 262 ++++++++------- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 429 +++++++++++++++++-------- 5 files changed, 930 insertions(+), 499 deletions(-) Acked-by: Stefan Bader Acked-by: Kleber Sacilotto de Souza