diff mbox series

[v3,1/2] mhi: pci_generic: Parametrable element count for events

Message ID 1613497948-26424-1-git-send-email-loic.poulain@linaro.org
State Superseded
Headers show
Series [v3,1/2] mhi: pci_generic: Parametrable element count for events | expand

Commit Message

Loic Poulain Feb. 16, 2021, 5:52 p.m. UTC
Not all hardwares need to use the same number of event ring elements.
This change makes this parametrable.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

---
 v2: add this change to the series
 v3: no change

 drivers/bus/mhi/pci_generic.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

-- 
2.7.4

Comments

Manivannan Sadhasivam Feb. 24, 2021, 9:32 a.m. UTC | #1
On Tue, Feb 16, 2021 at 06:52:27PM +0100, Loic Poulain wrote:
> Not all hardwares need to use the same number of event ring elements.

> This change makes this parametrable.

> 

> Signed-off-by: Loic Poulain <loic.poulain@linaro.org>


Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>


Thanks,
Mani

> ---

>  v2: add this change to the series

>  v3: no change

> 

>  drivers/bus/mhi/pci_generic.c | 20 ++++++++++----------

>  1 file changed, 10 insertions(+), 10 deletions(-)

> 

> diff --git a/drivers/bus/mhi/pci_generic.c b/drivers/bus/mhi/pci_generic.c

> index 8187fcf..c58bf96 100644

> --- a/drivers/bus/mhi/pci_generic.c

> +++ b/drivers/bus/mhi/pci_generic.c

> @@ -71,9 +71,9 @@ struct mhi_pci_dev_info {

>  		.doorbell_mode_switch = false,		\

>  	}

>  

> -#define MHI_EVENT_CONFIG_CTRL(ev_ring)		\

> +#define MHI_EVENT_CONFIG_CTRL(ev_ring, el_count) \

>  	{					\

> -		.num_elements = 64,		\

> +		.num_elements = el_count,	\

>  		.irq_moderation_ms = 0,		\

>  		.irq = (ev_ring) + 1,		\

>  		.priority = 1,			\

> @@ -114,9 +114,9 @@ struct mhi_pci_dev_info {

>  		.doorbell_mode_switch = true,		\

>  	}

>  

> -#define MHI_EVENT_CONFIG_DATA(ev_ring)		\

> +#define MHI_EVENT_CONFIG_DATA(ev_ring, el_count) \

>  	{					\

> -		.num_elements = 128,		\

> +		.num_elements = el_count,	\

>  		.irq_moderation_ms = 5,		\

>  		.irq = (ev_ring) + 1,		\

>  		.priority = 1,			\

> @@ -127,9 +127,9 @@ struct mhi_pci_dev_info {

>  		.offload_channel = false,	\

>  	}

>  

> -#define MHI_EVENT_CONFIG_HW_DATA(ev_ring, ch_num) \

> +#define MHI_EVENT_CONFIG_HW_DATA(ev_ring, el_count, ch_num) \

>  	{					\

> -		.num_elements = 2048,		\

> +		.num_elements = el_count,	\

>  		.irq_moderation_ms = 1,		\

>  		.irq = (ev_ring) + 1,		\

>  		.priority = 1,			\

> @@ -156,12 +156,12 @@ static const struct mhi_channel_config modem_qcom_v1_mhi_channels[] = {

>  

>  static struct mhi_event_config modem_qcom_v1_mhi_events[] = {

>  	/* first ring is control+data ring */

> -	MHI_EVENT_CONFIG_CTRL(0),

> +	MHI_EVENT_CONFIG_CTRL(0, 64),

>  	/* DIAG dedicated event ring */

> -	MHI_EVENT_CONFIG_DATA(1),

> +	MHI_EVENT_CONFIG_DATA(1, 128),

>  	/* Hardware channels request dedicated hardware event rings */

> -	MHI_EVENT_CONFIG_HW_DATA(2, 100),

> -	MHI_EVENT_CONFIG_HW_DATA(3, 101)

> +	MHI_EVENT_CONFIG_HW_DATA(2, 1024, 100),

> +	MHI_EVENT_CONFIG_HW_DATA(3, 2048, 101)

>  };

>  

>  static struct mhi_controller_config modem_qcom_v1_mhiv_config = {

> -- 

> 2.7.4

>
diff mbox series

Patch

diff --git a/drivers/bus/mhi/pci_generic.c b/drivers/bus/mhi/pci_generic.c
index 8187fcf..c58bf96 100644
--- a/drivers/bus/mhi/pci_generic.c
+++ b/drivers/bus/mhi/pci_generic.c
@@ -71,9 +71,9 @@  struct mhi_pci_dev_info {
 		.doorbell_mode_switch = false,		\
 	}
 
-#define MHI_EVENT_CONFIG_CTRL(ev_ring)		\
+#define MHI_EVENT_CONFIG_CTRL(ev_ring, el_count) \
 	{					\
-		.num_elements = 64,		\
+		.num_elements = el_count,	\
 		.irq_moderation_ms = 0,		\
 		.irq = (ev_ring) + 1,		\
 		.priority = 1,			\
@@ -114,9 +114,9 @@  struct mhi_pci_dev_info {
 		.doorbell_mode_switch = true,		\
 	}
 
-#define MHI_EVENT_CONFIG_DATA(ev_ring)		\
+#define MHI_EVENT_CONFIG_DATA(ev_ring, el_count) \
 	{					\
-		.num_elements = 128,		\
+		.num_elements = el_count,	\
 		.irq_moderation_ms = 5,		\
 		.irq = (ev_ring) + 1,		\
 		.priority = 1,			\
@@ -127,9 +127,9 @@  struct mhi_pci_dev_info {
 		.offload_channel = false,	\
 	}
 
-#define MHI_EVENT_CONFIG_HW_DATA(ev_ring, ch_num) \
+#define MHI_EVENT_CONFIG_HW_DATA(ev_ring, el_count, ch_num) \
 	{					\
-		.num_elements = 2048,		\
+		.num_elements = el_count,	\
 		.irq_moderation_ms = 1,		\
 		.irq = (ev_ring) + 1,		\
 		.priority = 1,			\
@@ -156,12 +156,12 @@  static const struct mhi_channel_config modem_qcom_v1_mhi_channels[] = {
 
 static struct mhi_event_config modem_qcom_v1_mhi_events[] = {
 	/* first ring is control+data ring */
-	MHI_EVENT_CONFIG_CTRL(0),
+	MHI_EVENT_CONFIG_CTRL(0, 64),
 	/* DIAG dedicated event ring */
-	MHI_EVENT_CONFIG_DATA(1),
+	MHI_EVENT_CONFIG_DATA(1, 128),
 	/* Hardware channels request dedicated hardware event rings */
-	MHI_EVENT_CONFIG_HW_DATA(2, 100),
-	MHI_EVENT_CONFIG_HW_DATA(3, 101)
+	MHI_EVENT_CONFIG_HW_DATA(2, 1024, 100),
+	MHI_EVENT_CONFIG_HW_DATA(3, 2048, 101)
 };
 
 static struct mhi_controller_config modem_qcom_v1_mhiv_config = {