From patchwork Sat Mar 21 00:48:33 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: 11450633 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 E7F7913B1 for ; Sat, 21 Mar 2020 00:48:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CFD6320753 for ; Sat, 21 Mar 2020 00:48:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727856AbgCUAsj (ORCPT ); Fri, 20 Mar 2020 20:48:39 -0400 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:50318 "EHLO alexa-out-sd-01.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726773AbgCUAsj (ORCPT ); Fri, 20 Mar 2020 20:48:39 -0400 Received: from unknown (HELO ironmsg04-sd.qualcomm.com) ([10.53.140.144]) by alexa-out-sd-01.qualcomm.com with ESMTP; 20 Mar 2020 17:48:38 -0700 Received: from asutoshd-linux1.qualcomm.com ([10.46.160.39]) by ironmsg04-sd.qualcomm.com with ESMTP; 20 Mar 2020 17:48:38 -0700 Received: by asutoshd-linux1.qualcomm.com (Postfix, from userid 92687) id 5C62E2003B; Fri, 20 Mar 2020 17:48:37 -0700 (PDT) From: Asutosh Das To: asutoshd@qti.qualcomm.com, linux-scsi@vger.kernel.org Subject: [ 0/3] WriteBooster Feature Support Date: Fri, 20 Mar 2020 17:48:33 -0700 Message-Id: X-Mailer: git-send-email 2.7.4 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@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(-)