All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Add support for UFS Event Specific Interrupt
@ 2022-12-15  3:06 Can Guo
  2022-12-15  3:06 ` [PATCH v3 1/3] ufs: core: Add Event Specific Interrupt configuration vendor specific ops Can Guo
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Can Guo @ 2022-12-15  3:06 UTC (permalink / raw)
  To: quic_asutoshd, bvanassche, mani, stanley.chu, adrian.hunter,
	beanhuo, avri.altman, junwoo80.lee, martin.petersen
  Cc: linux-scsi, Can Guo

UFS Multi-Circular Queue (MCQ) driver is on the way. This patch series is
to enable Event Specific Interrupt (ESI), which can used in MCQ mode.

Please note that this series is developed and tested based on the latest MCQ
driver (v11) pushed by Asutosh Das.

v2 -> v3:
- Improved commit msg of patch #2 by incorporating Bart's comment

v1 -> v2:
- Improved QCOM specific ESI configuration flow

Can Guo (3):
  ufs: core: Add Event Specific Interrupt configuration vendor specific
    ops
  ufs: core: mcq: Add Event Specific Interrupt enable and config
    functions
  ufs-host: qcom: Add MCQ ESI config vendor specific ops

 drivers/ufs/core/ufs-mcq.c     | 16 +++++++
 drivers/ufs/core/ufshcd-priv.h |  8 ++++
 drivers/ufs/core/ufshcd.c      |  5 +++
 drivers/ufs/host/ufs-qcom.c    | 97 ++++++++++++++++++++++++++++++++++++++++++
 drivers/ufs/host/ufs-qcom.h    |  5 +++
 include/ufs/ufshcd.h           |  8 ++++
 include/ufs/ufshci.h           |  2 +
 7 files changed, 141 insertions(+)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 1/3] ufs: core: Add Event Specific Interrupt configuration vendor specific ops
  2022-12-15  3:06 [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Can Guo
@ 2022-12-15  3:06 ` Can Guo
  2022-12-15  3:06 ` [PATCH v3 2/3] ufs: core: mcq: Add Event Specific Interrupt enable and config functions Can Guo
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Can Guo @ 2022-12-15  3:06 UTC (permalink / raw)
  To: quic_asutoshd, bvanassche, mani, stanley.chu, adrian.hunter,
	beanhuo, avri.altman, junwoo80.lee, martin.petersen
  Cc: linux-scsi, Can Guo, Alim Akhtar, James E.J. Bottomley,
	Krzysztof Kozlowski, Jinyoung Choi, Keoseong Park, open list

As Event Specific Interrupt message format is not defined in UFSHCI JEDEC
specs, and the ESI handling highly depends on how the format is designed,
hence add a vendor specific ops such that SoC vendors can configure their
own ESI handlers. If ESI vops is not provided or returning error, go with
the legacy (central) interrupt way.

Signed-off-by: Can Guo <quic_cang@quicinc.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/ufs/core/ufshcd-priv.h | 8 ++++++++
 drivers/ufs/core/ufshcd.c      | 5 +++++
 include/ufs/ufshcd.h           | 2 ++
 3 files changed, 15 insertions(+)

diff --git a/drivers/ufs/core/ufshcd-priv.h b/drivers/ufs/core/ufshcd-priv.h
index ff03aa5..802029e 100644
--- a/drivers/ufs/core/ufshcd-priv.h
+++ b/drivers/ufs/core/ufshcd-priv.h
@@ -276,6 +276,14 @@ static inline int ufshcd_vops_get_outstanding_cqs(struct ufs_hba *hba,
 	return -EOPNOTSUPP;
 }
 
+static inline int ufshcd_mcq_vops_config_esi(struct ufs_hba *hba)
+{
+	if (hba->vops && hba->vops->config_esi)
+		return hba->vops->config_esi(hba);
+
+	return -EOPNOTSUPP;
+}
+
 extern const struct ufs_pm_lvl_states ufs_pm_lvl_states[];
 
 /**
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index e9d6891..3762dca 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -8375,6 +8375,11 @@ static int ufshcd_alloc_mcq(struct ufs_hba *hba)
 
 static void ufshcd_config_mcq(struct ufs_hba *hba)
 {
+	int ret;
+
+	ret = ufshcd_mcq_vops_config_esi(hba);
+	dev_info(hba->dev, "ESI %sconfigured\n", ret ? "is not " : "");
+
 	ufshcd_enable_intr(hba, UFSHCD_ENABLE_MCQ_INTRS);
 	ufshcd_mcq_make_queues_operational(hba);
 	ufshcd_mcq_config_mac(hba, hba->nutrs);
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
index f20557b..7f0139b 100644
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
@@ -302,6 +302,7 @@ struct ufs_pwr_mode_info {
  * @get_hba_mac: called to get vendor specific mac value, mandatory for mcq mode
  * @op_runtime_config: called to config Operation and runtime regs Pointers
  * @get_outstanding_cqs: called to get outstanding completion queues
+ * @config_esi: called to config Event Specific Interrupt
  */
 struct ufs_hba_variant_ops {
 	const char *name;
@@ -345,6 +346,7 @@ struct ufs_hba_variant_ops {
 	int	(*op_runtime_config)(struct ufs_hba *hba);
 	int	(*get_outstanding_cqs)(struct ufs_hba *hba,
 				       unsigned long *ocqs);
+	int	(*config_esi)(struct ufs_hba *hba);
 };
 
 /* clock gating state  */
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 2/3] ufs: core: mcq: Add Event Specific Interrupt enable and config functions
  2022-12-15  3:06 [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Can Guo
  2022-12-15  3:06 ` [PATCH v3 1/3] ufs: core: Add Event Specific Interrupt configuration vendor specific ops Can Guo
@ 2022-12-15  3:06 ` Can Guo
  2022-12-15  3:06 ` [PATCH v3 3/3] ufs-host: qcom: Add MCQ ESI config vendor specific ops Can Guo
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Can Guo @ 2022-12-15  3:06 UTC (permalink / raw)
  To: quic_asutoshd, bvanassche, mani, stanley.chu, adrian.hunter,
	beanhuo, avri.altman, junwoo80.lee, martin.petersen
  Cc: linux-scsi, Can Guo, Alim Akhtar, James E.J. Bottomley,
	Keoseong Park, Yoshihiro Shimoda, Kiwoong Kim, open list

Add and export two functions to enable ESI and config ESI base addresses.
The calls to these exported functions will be added by the next patch in
this series.

Signed-off-by: Can Guo <quic_cang@quicinc.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/ufs/core/ufs-mcq.c | 16 ++++++++++++++++
 include/ufs/ufshcd.h       |  6 ++++++
 include/ufs/ufshci.h       |  2 ++
 3 files changed, 24 insertions(+)

diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c
index f99c912..c81e424 100644
--- a/drivers/ufs/core/ufs-mcq.c
+++ b/drivers/ufs/core/ufs-mcq.c
@@ -246,6 +246,7 @@ void ufshcd_mcq_write_cqis(struct ufs_hba *hba, u32 val, int i)
 {
 	writel(val, mcq_opr_base(hba, OPR_CQIS, i) + REG_CQIS);
 }
+EXPORT_SYMBOL_GPL(ufshcd_mcq_write_cqis);
 
 /*
  * Current MCQ specification doesn't provide a Task Tag or its equivalent in
@@ -293,6 +294,7 @@ unsigned long ufshcd_mcq_poll_cqe_nolock(struct ufs_hba *hba,
 
 	return completed_reqs;
 }
+EXPORT_SYMBOL_GPL(ufshcd_mcq_poll_cqe_nolock);
 
 unsigned long ufshcd_mcq_poll_cqe_lock(struct ufs_hba *hba,
 				       struct ufs_hw_queue *hwq)
@@ -370,6 +372,20 @@ void ufshcd_mcq_make_queues_operational(struct ufs_hba *hba)
 	}
 }
 
+void ufshcd_mcq_enable_esi(struct ufs_hba *hba)
+{
+	ufshcd_writel(hba, ufshcd_readl(hba, REG_UFS_MEM_CFG) | 0x2,
+		      REG_UFS_MEM_CFG);
+}
+EXPORT_SYMBOL_GPL(ufshcd_mcq_enable_esi);
+
+void ufshcd_mcq_config_esi(struct ufs_hba *hba, struct msi_msg *msg)
+{
+	ufshcd_writel(hba, msg->address_lo, REG_UFS_ESILBA);
+	ufshcd_writel(hba, msg->address_hi, REG_UFS_ESIUBA);
+}
+EXPORT_SYMBOL_GPL(ufshcd_mcq_config_esi);
+
 int ufshcd_mcq_init(struct ufs_hba *hba)
 {
 	struct Scsi_Host *host = hba->host;
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
index 7f0139b..660ccd3 100644
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
@@ -16,6 +16,7 @@
 #include <linux/blk-crypto-profile.h>
 #include <linux/blk-mq.h>
 #include <linux/devfreq.h>
+#include <linux/msi.h>
 #include <linux/pm_runtime.h>
 #include <scsi/scsi_device.h>
 #include <ufs/unipro.h>
@@ -1201,6 +1202,11 @@ void ufshcd_parse_dev_ref_clk_freq(struct ufs_hba *hba, struct clk *refclk);
 void ufshcd_update_evt_hist(struct ufs_hba *hba, u32 id, u32 val);
 void ufshcd_hba_stop(struct ufs_hba *hba);
 void ufshcd_schedule_eh_work(struct ufs_hba *hba);
+void ufshcd_mcq_write_cqis(struct ufs_hba *hba, u32 val, int i);
+unsigned long ufshcd_mcq_poll_cqe_nolock(struct ufs_hba *hba,
+					 struct ufs_hw_queue *hwq);
+void ufshcd_mcq_enable_esi(struct ufs_hba *hba);
+void ufshcd_mcq_config_esi(struct ufs_hba *hba, struct msi_msg *msg);
 
 /**
  * ufshcd_set_variant - set variant specific data to the hba
diff --git a/include/ufs/ufshci.h b/include/ufs/ufshci.h
index 1df8425..9b74194 100644
--- a/include/ufs/ufshci.h
+++ b/include/ufs/ufshci.h
@@ -59,6 +59,8 @@ enum {
 
 	REG_UFS_MEM_CFG				= 0x300,
 	REG_UFS_MCQ_CFG				= 0x380,
+	REG_UFS_ESILBA				= 0x384,
+	REG_UFS_ESIUBA				= 0x388,
 	UFSHCI_CRYPTO_REG_SPACE_SIZE		= 0x400,
 };
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 3/3] ufs-host: qcom: Add MCQ ESI config vendor specific ops
  2022-12-15  3:06 [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Can Guo
  2022-12-15  3:06 ` [PATCH v3 1/3] ufs: core: Add Event Specific Interrupt configuration vendor specific ops Can Guo
  2022-12-15  3:06 ` [PATCH v3 2/3] ufs: core: mcq: Add Event Specific Interrupt enable and config functions Can Guo
@ 2022-12-15  3:06 ` Can Guo
  2022-12-30 22:26 ` [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Martin K. Petersen
  2023-01-19  0:44 ` Martin K. Petersen
  4 siblings, 0 replies; 8+ messages in thread
From: Can Guo @ 2022-12-15  3:06 UTC (permalink / raw)
  To: quic_asutoshd, bvanassche, mani, stanley.chu, adrian.hunter,
	beanhuo, avri.altman, junwoo80.lee, martin.petersen
  Cc: linux-scsi, Can Guo, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	James E.J. Bottomley, open list:ARM/QUALCOMM SUPPORT, open list

Add MCQ ESI config vendor specific ops.

Co-developed-by: Asutosh Das <quic_asutoshd@quicinc.com>
Signed-off-by: Asutosh Das <quic_asutoshd@quicinc.com>
Signed-off-by: Can Guo <quic_cang@quicinc.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/ufs/host/ufs-qcom.c | 97 +++++++++++++++++++++++++++++++++++++++++++++
 drivers/ufs/host/ufs-qcom.h |  5 +++
 2 files changed, 102 insertions(+)

diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index 96a58b4..ea5b5f7 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1568,6 +1568,101 @@ static int ufs_qcom_get_outstanding_cqs(struct ufs_hba *hba,
 	return 0;
 }
 
+#ifdef CONFIG_GENERIC_MSI_IRQ_DOMAIN
+static void ufs_qcom_write_msi_msg(struct msi_desc *desc, struct msi_msg *msg)
+{
+	struct device *dev = msi_desc_to_dev(desc);
+	struct ufs_hba *hba = dev_get_drvdata(dev);
+
+	ufshcd_mcq_config_esi(hba, msg);
+}
+
+static irqreturn_t ufs_qcom_mcq_esi_handler(int irq, void *__hba)
+{
+	struct ufs_hba *hba = __hba;
+	struct ufs_qcom_host *host = ufshcd_get_variant(hba);
+	u32 id = irq - host->esi_base;
+	struct ufs_hw_queue *hwq = &hba->uhq[id];
+
+	ufshcd_mcq_write_cqis(hba, 0x1, id);
+	ufshcd_mcq_poll_cqe_nolock(hba, hwq);
+
+	return IRQ_HANDLED;
+}
+
+static int ufs_qcom_config_esi(struct ufs_hba *hba)
+{
+	struct ufs_qcom_host *host = ufshcd_get_variant(hba);
+	struct msi_desc *desc;
+	struct msi_desc *failed_desc = NULL;
+	int nr_irqs, ret;
+
+	if (host->esi_enabled)
+		return 0;
+	else if (host->esi_base < 0)
+		return -EINVAL;
+
+	/*
+	 * 1. We only handle CQs as of now.
+	 * 2. Poll queues do not need ESI.
+	 */
+	nr_irqs = hba->nr_hw_queues - hba->nr_queues[HCTX_TYPE_POLL];
+	ret = platform_msi_domain_alloc_irqs(hba->dev, nr_irqs,
+					     ufs_qcom_write_msi_msg);
+	if (ret)
+		goto out;
+
+	msi_for_each_desc(desc, hba->dev, MSI_DESC_ALL) {
+		if (!desc->msi_index)
+			host->esi_base = desc->irq;
+
+		ret = devm_request_irq(hba->dev, desc->irq,
+				       ufs_qcom_mcq_esi_handler,
+				       IRQF_SHARED, "qcom-mcq-esi", hba);
+		if (ret) {
+			dev_err(hba->dev, "%s: Fail to request IRQ for %d, err = %d\n",
+				__func__, desc->irq, ret);
+			failed_desc = desc;
+			break;
+		}
+	}
+
+	if (ret) {
+		/* Rewind */
+		msi_for_each_desc(desc, hba->dev, MSI_DESC_ALL) {
+			if (desc == failed_desc)
+				break;
+			devm_free_irq(hba->dev, desc->irq, hba);
+		}
+		platform_msi_domain_free_irqs(hba->dev);
+	} else {
+		if (host->hw_ver.major == 6 && host->hw_ver.minor == 0 &&
+		    host->hw_ver.step == 0) {
+			ufshcd_writel(hba,
+				      ufshcd_readl(hba, REG_UFS_CFG3) | 0x1F000,
+				      REG_UFS_CFG3);
+		}
+		ufshcd_mcq_enable_esi(hba);
+	}
+
+out:
+	if (ret) {
+		host->esi_base = -1;
+		dev_warn(hba->dev, "Failed to request Platform MSI %d\n", ret);
+	} else {
+		host->esi_enabled = true;
+	}
+
+	return ret;
+}
+
+#else
+static int ufs_qcom_config_esi(struct ufs_hba *hba)
+{
+	return -EOPNOTSUPP;
+}
+#endif
+
 /*
  * struct ufs_hba_qcom_vops - UFS QCOM specific variant operations
  *
@@ -1595,6 +1690,7 @@ static const struct ufs_hba_variant_ops ufs_hba_qcom_vops = {
 	.get_hba_mac		= ufs_qcom_get_hba_mac,
 	.op_runtime_config	= ufs_qcom_op_runtime_config,
 	.get_outstanding_cqs	= ufs_qcom_get_outstanding_cqs,
+	.config_esi		= ufs_qcom_config_esi,
 };
 
 /**
@@ -1628,6 +1724,7 @@ static int ufs_qcom_remove(struct platform_device *pdev)
 
 	pm_runtime_get_sync(&(pdev)->dev);
 	ufshcd_remove(hba);
+	platform_msi_domain_free_irqs(hba->dev);
 	return 0;
 }
 
diff --git a/drivers/ufs/host/ufs-qcom.h b/drivers/ufs/host/ufs-qcom.h
index 6912bdf..7937b41 100644
--- a/drivers/ufs/host/ufs-qcom.h
+++ b/drivers/ufs/host/ufs-qcom.h
@@ -54,6 +54,8 @@ enum {
 	 * added in HW Version 3.0.0
 	 */
 	UFS_AH8_CFG				= 0xFC,
+
+	REG_UFS_CFG3				= 0x271C,
 };
 
 /* QCOM UFS host controller vendor specific debug registers */
@@ -226,6 +228,9 @@ struct ufs_qcom_host {
 	struct reset_controller_dev rcdev;
 
 	struct gpio_desc *device_reset;
+
+	int esi_base;
+	bool esi_enabled;
 };
 
 static inline u32
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/3] Add support for UFS Event Specific Interrupt
  2022-12-15  3:06 [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Can Guo
                   ` (2 preceding siblings ...)
  2022-12-15  3:06 ` [PATCH v3 3/3] ufs-host: qcom: Add MCQ ESI config vendor specific ops Can Guo
@ 2022-12-30 22:26 ` Martin K. Petersen
  2023-01-04  5:20   ` Can Guo
  2023-01-19  0:44 ` Martin K. Petersen
  4 siblings, 1 reply; 8+ messages in thread
From: Martin K. Petersen @ 2022-12-30 22:26 UTC (permalink / raw)
  To: Can Guo
  Cc: quic_asutoshd, bvanassche, mani, stanley.chu, adrian.hunter,
	beanhuo, avri.altman, junwoo80.lee, martin.petersen, linux-scsi


Can,

> UFS Multi-Circular Queue (MCQ) driver is on the way. This patch series
> is to enable Event Specific Interrupt (ESI), which can used in MCQ
> mode.
>
> Please note that this series is developed and tested based on the
> latest MCQ driver (v11) pushed by Asutosh Das.

Please rebase once Asutosh posts v12. Thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/3] Add support for UFS Event Specific Interrupt
  2022-12-30 22:26 ` [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Martin K. Petersen
@ 2023-01-04  5:20   ` Can Guo
  2023-01-14  2:17     ` Martin K. Petersen
  0 siblings, 1 reply; 8+ messages in thread
From: Can Guo @ 2023-01-04  5:20 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: quic_asutoshd, bvanassche, mani, stanley.chu, adrian.hunter,
	beanhuo, avri.altman, junwoo80.lee, linux-scsi

Hi Martin,

On 12/31/2022 6:26 AM, Martin K. Petersen wrote:
> Can,
>
>> UFS Multi-Circular Queue (MCQ) driver is on the way. This patch series
>> is to enable Event Specific Interrupt (ESI), which can used in MCQ
>> mode.
>>
>> Please note that this series is developed and tested based on the
>> latest MCQ driver (v11) pushed by Asutosh Das.
> Please rebase once Asutosh posts v12. Thanks!

You can pick up this series as it is after Asutosh posts v12, it should 
apply cleanly.

If not, please let me know.


Thanks.

Regards,

Can Guo.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/3] Add support for UFS Event Specific Interrupt
  2023-01-04  5:20   ` Can Guo
@ 2023-01-14  2:17     ` Martin K. Petersen
  0 siblings, 0 replies; 8+ messages in thread
From: Martin K. Petersen @ 2023-01-14  2:17 UTC (permalink / raw)
  To: Can Guo
  Cc: Martin K. Petersen, quic_asutoshd, bvanassche, mani, stanley.chu,
	adrian.hunter, beanhuo, avri.altman, junwoo80.lee, linux-scsi


Can,

>>> UFS Multi-Circular Queue (MCQ) driver is on the way. This patch series
>>> is to enable Event Specific Interrupt (ESI), which can used in MCQ
>>> mode.
>>>
>>> Please note that this series is developed and tested based on the
>>> latest MCQ driver (v11) pushed by Asutosh Das.
>> Please rebase once Asutosh posts v12. Thanks!
>
> You can pick up this series as it is after Asutosh posts v12, it
> should apply cleanly.

Applied to 6.3/scsi-staging (with a bit of fuzz), thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/3] Add support for UFS Event Specific Interrupt
  2022-12-15  3:06 [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Can Guo
                   ` (3 preceding siblings ...)
  2022-12-30 22:26 ` [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Martin K. Petersen
@ 2023-01-19  0:44 ` Martin K. Petersen
  4 siblings, 0 replies; 8+ messages in thread
From: Martin K. Petersen @ 2023-01-19  0:44 UTC (permalink / raw)
  To: quic_asutoshd, bvanassche, mani, stanley.chu, adrian.hunter,
	beanhuo, avri.altman, junwoo80.lee, Can Guo
  Cc: Martin K . Petersen, linux-scsi

On Wed, 14 Dec 2022 19:06:19 -0800, Can Guo wrote:

> UFS Multi-Circular Queue (MCQ) driver is on the way. This patch series is
> to enable Event Specific Interrupt (ESI), which can used in MCQ mode.
> 
> Please note that this series is developed and tested based on the latest MCQ
> driver (v11) pushed by Asutosh Das.
> 
> v2 -> v3:
> - Improved commit msg of patch #2 by incorporating Bart's comment
> 
> [...]

Applied to 6.3/scsi-queue, thanks!

[1/3] ufs: core: Add Event Specific Interrupt configuration vendor specific ops
	https://git.kernel.org/mkp/scsi/c/edb0db05607c
[2/3] ufs: core: mcq: Add Event Specific Interrupt enable and config functions
	https://git.kernel.org/mkp/scsi/c/e02288e0265f
[3/3] ufs-host: qcom: Add MCQ ESI config vendor specific ops
	https://git.kernel.org/mkp/scsi/c/519b6274a777

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-01-19  0:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-15  3:06 [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Can Guo
2022-12-15  3:06 ` [PATCH v3 1/3] ufs: core: Add Event Specific Interrupt configuration vendor specific ops Can Guo
2022-12-15  3:06 ` [PATCH v3 2/3] ufs: core: mcq: Add Event Specific Interrupt enable and config functions Can Guo
2022-12-15  3:06 ` [PATCH v3 3/3] ufs-host: qcom: Add MCQ ESI config vendor specific ops Can Guo
2022-12-30 22:26 ` [PATCH v3 0/3] Add support for UFS Event Specific Interrupt Martin K. Petersen
2023-01-04  5:20   ` Can Guo
2023-01-14  2:17     ` Martin K. Petersen
2023-01-19  0:44 ` Martin K. Petersen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.