From patchwork Sat Mar 21 00:59:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Asutosh Das (asd)" X-Patchwork-Id: 11450657 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 07A9114B4 for ; Sat, 21 Mar 2020 01:00:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E343920722 for ; Sat, 21 Mar 2020 01:00:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726897AbgCUBAA (ORCPT ); Fri, 20 Mar 2020 21:00:00 -0400 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]:24768 "EHLO alexa-out-sd-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726840AbgCUBAA (ORCPT ); Fri, 20 Mar 2020 21:00:00 -0400 Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-02.qualcomm.com with ESMTP; 20 Mar 2020 17:59:59 -0700 Received: from asutoshd-linux1.qualcomm.com ([10.46.160.39]) by ironmsg03-sd.qualcomm.com with ESMTP; 20 Mar 2020 17:59:59 -0700 Received: by asutoshd-linux1.qualcomm.com (Postfix, from userid 92687) id ACCC61FFE7; Fri, 20 Mar 2020 17:59:59 -0700 (PDT) From: Asutosh Das To: cang@codeaurora.org, Avri.Altman@wdc.com, martin.petersen@oracle.com, linux-scsi@vger.kernel.org Cc: Asutosh Das , linux-arm-msm@vger.kernel.org Subject: [ 0/3] WriteBooster Feature Support Date: Fri, 20 Mar 2020 17:59:17 -0700 Message-Id: X-Mailer: git-send-email 2.7.4 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Still a RFC patch, because I'm still expecting some comments on the design. v1 -> v2: - Addressed comments on v1 - Supports shared buffer mode only - Didn't use exception event as suggested. The reason being while testing I saw that the WriteBooster available buffer remains at 0x1 for a longer time if flush is enabled all the time as compared to an event-based enablement. This essentially means that writes go to the WriteBooster buffer more. Spec says that the if flush is enabled, the device would flush when it sees the command queue empty. So I guess that'd trigger flush more than an event based approach. Anyway the Vcc would be turned-off during system suspend, so flush would stop anyway. In this patchset, I never turn-off flush. Hence the RFC. Asutosh Das (3): scsi: ufs: add write booster feature support ufs-qcom: scsi: configure write booster type ufs: sysfs: add sysfs entries for write booster drivers/scsi/ufs/ufs-qcom.c | 7 ++ drivers/scsi/ufs/ufs-sysfs.c | 39 ++++++- drivers/scsi/ufs/ufs.h | 37 ++++++- drivers/scsi/ufs/ufshcd.c | 238 ++++++++++++++++++++++++++++++++++++++++++- drivers/scsi/ufs/ufshcd.h | 9 ++ 5 files changed, 324 insertions(+), 6 deletions(-)