diff mbox series

[11/26] cxl/pci: Delay event buffer allocation

Message ID 20240324-dcd-type2-upstream-v1-11-b7b00d623625@intel.com (mailing list archive)
State New, archived
Headers show
Series DCD: Add support for Dynamic Capacity Devices (DCD) | expand

Commit Message

Ira Weiny March 24, 2024, 11:18 p.m. UTC
The event buffer does not need to be allocated if something has failed
in setting up event irq's.

In prep for adjusting event configuration for DCD events move the buffer
allocation to the end of the event configuration.

Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
 drivers/cxl/pci.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Davidlohr Bueso March 25, 2024, 10:26 p.m. UTC | #1
On Sun, 24 Mar 2024, Ira Weiny wrote:

>The event buffer does not need to be allocated if something has failed
>in setting up event irq's.
>
>In prep for adjusting event configuration for DCD events move the buffer
>allocation to the end of the event configuration.

The above could be removed and just picked up independet of dcd.

Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>

>
>Signed-off-by: Ira Weiny <ira.weiny@intel.com>
>---
> drivers/cxl/pci.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
>index cedd9b05f129..ccaf4ad26a4f 100644
>--- a/drivers/cxl/pci.c
>+++ b/drivers/cxl/pci.c
>@@ -756,10 +756,6 @@ static int cxl_event_config(struct pci_host_bridge *host_bridge,
>		return 0;
>	}
>
>-	rc = cxl_mem_alloc_event_buf(mds);
>-	if (rc)
>-		return rc;
>-
>	rc = cxl_event_get_int_policy(mds, &policy);
>	if (rc)
>		return rc;
>@@ -777,6 +773,10 @@ static int cxl_event_config(struct pci_host_bridge *host_bridge,
>	if (rc)
>		return rc;
>
>+	rc = cxl_mem_alloc_event_buf(mds);
>+	if (rc)
>+		return rc;
>+
>	rc = cxl_event_irqsetup(mds, &policy);
>	if (rc)
>		return rc;
>
>--
>2.44.0
>
Dave Jiang March 27, 2024, 5:38 p.m. UTC | #2
On 3/24/24 4:18 PM, Ira Weiny wrote:
> The event buffer does not need to be allocated if something has failed
> in setting up event irq's.
> 
> In prep for adjusting event configuration for DCD events move the buffer
> allocation to the end of the event configuration.
> 
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>

Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
>  drivers/cxl/pci.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
> index cedd9b05f129..ccaf4ad26a4f 100644
> --- a/drivers/cxl/pci.c
> +++ b/drivers/cxl/pci.c
> @@ -756,10 +756,6 @@ static int cxl_event_config(struct pci_host_bridge *host_bridge,
>  		return 0;
>  	}
>  
> -	rc = cxl_mem_alloc_event_buf(mds);
> -	if (rc)
> -		return rc;
> -
>  	rc = cxl_event_get_int_policy(mds, &policy);
>  	if (rc)
>  		return rc;
> @@ -777,6 +773,10 @@ static int cxl_event_config(struct pci_host_bridge *host_bridge,
>  	if (rc)
>  		return rc;
>  
> +	rc = cxl_mem_alloc_event_buf(mds);
> +	if (rc)
> +		return rc;
> +
>  	rc = cxl_event_irqsetup(mds, &policy);
>  	if (rc)
>  		return rc;
>
Jonathan Cameron April 4, 2024, 3:08 p.m. UTC | #3
On Sun, 24 Mar 2024 16:18:14 -0700
Ira Weiny <ira.weiny@intel.com> wrote:

> The event buffer does not need to be allocated if something has failed
> in setting up event irq's.
> 
> In prep for adjusting event configuration for DCD events move the buffer
> allocation to the end of the event configuration.
> 
> Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
diff mbox series

Patch

diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c
index cedd9b05f129..ccaf4ad26a4f 100644
--- a/drivers/cxl/pci.c
+++ b/drivers/cxl/pci.c
@@ -756,10 +756,6 @@  static int cxl_event_config(struct pci_host_bridge *host_bridge,
 		return 0;
 	}
 
-	rc = cxl_mem_alloc_event_buf(mds);
-	if (rc)
-		return rc;
-
 	rc = cxl_event_get_int_policy(mds, &policy);
 	if (rc)
 		return rc;
@@ -777,6 +773,10 @@  static int cxl_event_config(struct pci_host_bridge *host_bridge,
 	if (rc)
 		return rc;
 
+	rc = cxl_mem_alloc_event_buf(mds);
+	if (rc)
+		return rc;
+
 	rc = cxl_event_irqsetup(mds, &policy);
 	if (rc)
 		return rc;