linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V3] ata: ahci: simplify init function
@ 2025-01-14 18:29 Tomas Henzl
  2025-01-15  2:30 ` Damien Le Moal
  0 siblings, 1 reply; 6+ messages in thread
From: Tomas Henzl @ 2025-01-14 18:29 UTC (permalink / raw)
  To: linux-ide; +Cc: dlemoal, Niklas.Cassel

by removing few lines. No functional change.

The main part of this change is done by adding a PCI_IRQ_INTX flag into
an already existing pci_alloc_irq_vectors invocation.
In the current implementation of the pci_alloc_irq_vectors is the sequence of calls
msi-x -> msi -> legacy irq and whatever there succeeds stops the
call chain. That makes it impossible to merge all instances into as a single call
to pci_alloc_irq_vectors since the order of calls there is:
multiple msi-x
a single msi
a single msi-x
a legacy irq.
but the two last steps can be merged into one which are the msi-x and legacy
irq option. With this change we remove a pci(m)_intx call.
When PCI_IRQ_INTX flag is set the pci_alloc_irq_vectors succeeds in almost
all cases - that makes it possible to convert ahci_init_irq(msi) into a void function.
The exception is when dev->irq is zero then the pci_alloc_irq_vectors
may return with an error code also pci_intx isn't called from  pci_alloc_irq_vectors
and thus certain pci calls aren't performed.
That's just a negligible issue as later in ahci_init_one the (zero)
value of dev->irq is via pci_irq_vector assigned to hpriv->irq.
That value is then later tested in ahci_host_activate->ata_host_activate where
it is welcomed with a WARN_ON message and fails with setting up irq and
then the probe function (ahci_init_one) fails. The special zero value's
meaning is that polling mode is being be set up which isn't the case.


Signed-off-by: Tomas Henzl <thenzl@redhat.com>
---
V2: ahci_init_irq is now a void function
V3: a) added an explanation of why we may convert ahci_init_irq into
	a void function
    b) fixed the subject line
    c) added an explanation of why calling pci_alloc_irq_vectors instead
	of pci_intx is safe
    d) rebased to latest code state (pci_intx->pcim_intx)

 drivers/ata/ahci.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 8d27c567be1c..3ea2f3adf354 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -1665,13 +1665,15 @@ static int ahci_get_irq_vector(struct ata_host *host, int port)
 	return pci_irq_vector(to_pci_dev(host->dev), port);
 }
 
-static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
+static void ahci_init_irq(struct pci_dev *pdev, unsigned int n_ports,
 			struct ahci_host_priv *hpriv)
 {
 	int nvec;
 
-	if (hpriv->flags & AHCI_HFLAG_NO_MSI)
-		return -ENODEV;
+	if (hpriv->flags & AHCI_HFLAG_NO_MSI) {
+		pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_INTX);
+		return;
+	}
 
 	/*
 	 * If number of MSIs is less than number of ports then Sharing Last
@@ -1685,7 +1687,7 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
 			if (!(readl(hpriv->mmio + HOST_CTL) & HOST_MRSM)) {
 				hpriv->get_irq_vector = ahci_get_irq_vector;
 				hpriv->flags |= AHCI_HFLAG_MULTI_MSI;
-				return nvec;
+				return;
 			}
 
 			/*
@@ -1700,12 +1702,13 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
 
 	/*
 	 * If the host is not capable of supporting per-port vectors, fall
-	 * back to single MSI before finally attempting single MSI-X.
+	 * back to single MSI before finally attempting single MSI-X or
+	 * a legacy INTx.
 	 */
 	nvec = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSI);
 	if (nvec == 1)
-		return nvec;
-	return pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX);
+		return;
+	pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX | PCI_IRQ_INTX);
 }
 
 static void ahci_mark_external_port(struct ata_port *ap)
@@ -1985,10 +1988,8 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	}
 	host->private_data = hpriv;
 
-	if (ahci_init_msi(pdev, n_ports, hpriv) < 0) {
-		/* legacy intx interrupts */
-		pcim_intx(pdev, 1);
-	}
+	ahci_init_irq(pdev, n_ports, hpriv);
+
 	hpriv->irq = pci_irq_vector(pdev, 0);
 
 	if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)
-- 
2.47.1


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

* Re: [PATCH V3] ata: ahci: simplify init function
  2025-01-14 18:29 [PATCH V3] ata: ahci: simplify init function Tomas Henzl
@ 2025-01-15  2:30 ` Damien Le Moal
  2025-01-15 15:08   ` Tomas Henzl
  0 siblings, 1 reply; 6+ messages in thread
From: Damien Le Moal @ 2025-01-15  2:30 UTC (permalink / raw)
  To: Tomas Henzl, linux-ide; +Cc: Niklas.Cassel

On 1/15/25 03:29, Tomas Henzl wrote:
> by removing few lines. No functional change.
> 
> The main part of this change is done by adding a PCI_IRQ_INTX flag into
> an already existing pci_alloc_irq_vectors invocation.
> In the current implementation of the pci_alloc_irq_vectors is the sequence of calls
> msi-x -> msi -> legacy irq and whatever there succeeds stops the
> call chain. That makes it impossible to merge all instances into as a single call
> to pci_alloc_irq_vectors since the order of calls there is:
> multiple msi-x
> a single msi
> a single msi-x
> a legacy irq.
> but the two last steps can be merged into one which are the msi-x and legacy
> irq option. With this change we remove a pci(m)_intx call.
> When PCI_IRQ_INTX flag is set the pci_alloc_irq_vectors succeeds in almost
> all cases - that makes it possible to convert ahci_init_irq(msi) into a void function.
> The exception is when dev->irq is zero then the pci_alloc_irq_vectors
> may return with an error code also pci_intx isn't called from  pci_alloc_irq_vectors
> and thus certain pci calls aren't performed.
> That's just a negligible issue as later in ahci_init_one the (zero)
> value of dev->irq is via pci_irq_vector assigned to hpriv->irq.
> That value is then later tested in ahci_host_activate->ata_host_activate where
> it is welcomed with a WARN_ON message and fails with setting up irq and
> then the probe function (ahci_init_one) fails. The special zero value's
> meaning is that polling mode is being be set up which isn't the case.
> 

Extra blank line not need here.

Beside that, looks OK now. But as Niklas pointed out, this conflicts with a
patch in the PCI tree. And given that it is too late to queue that for 6.14, can
you resend a rebased version once 6.14-rc1 is out in a couple of weeks ?

Thanks !

> 
> Signed-off-by: Tomas Henzl <thenzl@redhat.com>
> ---
> V2: ahci_init_irq is now a void function
> V3: a) added an explanation of why we may convert ahci_init_irq into
> 	a void function
>     b) fixed the subject line
>     c) added an explanation of why calling pci_alloc_irq_vectors instead
> 	of pci_intx is safe
>     d) rebased to latest code state (pci_intx->pcim_intx)
> 
>  drivers/ata/ahci.c | 23 ++++++++++++-----------
>  1 file changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index 8d27c567be1c..3ea2f3adf354 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -1665,13 +1665,15 @@ static int ahci_get_irq_vector(struct ata_host *host, int port)
>  	return pci_irq_vector(to_pci_dev(host->dev), port);
>  }
>  
> -static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
> +static void ahci_init_irq(struct pci_dev *pdev, unsigned int n_ports,
>  			struct ahci_host_priv *hpriv)
>  {
>  	int nvec;
>  
> -	if (hpriv->flags & AHCI_HFLAG_NO_MSI)
> -		return -ENODEV;
> +	if (hpriv->flags & AHCI_HFLAG_NO_MSI) {
> +		pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_INTX);
> +		return;
> +	}
>  
>  	/*
>  	 * If number of MSIs is less than number of ports then Sharing Last
> @@ -1685,7 +1687,7 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>  			if (!(readl(hpriv->mmio + HOST_CTL) & HOST_MRSM)) {
>  				hpriv->get_irq_vector = ahci_get_irq_vector;
>  				hpriv->flags |= AHCI_HFLAG_MULTI_MSI;
> -				return nvec;
> +				return;
>  			}
>  
>  			/*
> @@ -1700,12 +1702,13 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>  
>  	/*
>  	 * If the host is not capable of supporting per-port vectors, fall
> -	 * back to single MSI before finally attempting single MSI-X.
> +	 * back to single MSI before finally attempting single MSI-X or
> +	 * a legacy INTx.
>  	 */
>  	nvec = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSI);
>  	if (nvec == 1)
> -		return nvec;
> -	return pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX);
> +		return;
> +	pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX | PCI_IRQ_INTX);
>  }
>  
>  static void ahci_mark_external_port(struct ata_port *ap)
> @@ -1985,10 +1988,8 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>  	}
>  	host->private_data = hpriv;
>  
> -	if (ahci_init_msi(pdev, n_ports, hpriv) < 0) {
> -		/* legacy intx interrupts */
> -		pcim_intx(pdev, 1);
> -	}
> +	ahci_init_irq(pdev, n_ports, hpriv);
> +
>  	hpriv->irq = pci_irq_vector(pdev, 0);
>  
>  	if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)


-- 
Damien Le Moal
Western Digital Research

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

* Re: [PATCH V3] ata: ahci: simplify init function
  2025-01-15  2:30 ` Damien Le Moal
@ 2025-01-15 15:08   ` Tomas Henzl
  2025-03-17 14:00     ` Tomas Henzl
  0 siblings, 1 reply; 6+ messages in thread
From: Tomas Henzl @ 2025-01-15 15:08 UTC (permalink / raw)
  To: Damien Le Moal, linux-ide; +Cc: Niklas.Cassel

On 1/15/25 3:30 AM, Damien Le Moal wrote:
> On 1/15/25 03:29, Tomas Henzl wrote:
>> by removing few lines. No functional change.
>>
>> The main part of this change is done by adding a PCI_IRQ_INTX flag into
>> an already existing pci_alloc_irq_vectors invocation.
>> In the current implementation of the pci_alloc_irq_vectors is the sequence of calls
>> msi-x -> msi -> legacy irq and whatever there succeeds stops the
>> call chain. That makes it impossible to merge all instances into as a single call
>> to pci_alloc_irq_vectors since the order of calls there is:
>> multiple msi-x
>> a single msi
>> a single msi-x
>> a legacy irq.
>> but the two last steps can be merged into one which are the msi-x and legacy
>> irq option. With this change we remove a pci(m)_intx call.
>> When PCI_IRQ_INTX flag is set the pci_alloc_irq_vectors succeeds in almost
>> all cases - that makes it possible to convert ahci_init_irq(msi) into a void function.
>> The exception is when dev->irq is zero then the pci_alloc_irq_vectors
>> may return with an error code also pci_intx isn't called from  pci_alloc_irq_vectors
>> and thus certain pci calls aren't performed.
>> That's just a negligible issue as later in ahci_init_one the (zero)
>> value of dev->irq is via pci_irq_vector assigned to hpriv->irq.
>> That value is then later tested in ahci_host_activate->ata_host_activate where
>> it is welcomed with a WARN_ON message and fails with setting up irq and
>> then the probe function (ahci_init_one) fails. The special zero value's
>> meaning is that polling mode is being be set up which isn't the case.
>>
> 
> Extra blank line not need here.
> 
> Beside that, looks OK now. But as Niklas pointed out, this conflicts with a
> patch in the PCI tree. And given that it is too late to queue that for 6.14, can
> you resend a rebased version once 6.14-rc1 is out in a couple of weeks ?

I can do that, thanks.

> 
> Thanks !
> 
>>
>> Signed-off-by: Tomas Henzl <thenzl@redhat.com>
>> ---
>> V2: ahci_init_irq is now a void function
>> V3: a) added an explanation of why we may convert ahci_init_irq into
>> 	a void function
>>     b) fixed the subject line
>>     c) added an explanation of why calling pci_alloc_irq_vectors instead
>> 	of pci_intx is safe
>>     d) rebased to latest code state (pci_intx->pcim_intx)
>>
>>  drivers/ata/ahci.c | 23 ++++++++++++-----------
>>  1 file changed, 12 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
>> index 8d27c567be1c..3ea2f3adf354 100644
>> --- a/drivers/ata/ahci.c
>> +++ b/drivers/ata/ahci.c
>> @@ -1665,13 +1665,15 @@ static int ahci_get_irq_vector(struct ata_host *host, int port)
>>  	return pci_irq_vector(to_pci_dev(host->dev), port);
>>  }
>>  
>> -static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>> +static void ahci_init_irq(struct pci_dev *pdev, unsigned int n_ports,
>>  			struct ahci_host_priv *hpriv)
>>  {
>>  	int nvec;
>>  
>> -	if (hpriv->flags & AHCI_HFLAG_NO_MSI)
>> -		return -ENODEV;
>> +	if (hpriv->flags & AHCI_HFLAG_NO_MSI) {
>> +		pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_INTX);
>> +		return;
>> +	}
>>  
>>  	/*
>>  	 * If number of MSIs is less than number of ports then Sharing Last
>> @@ -1685,7 +1687,7 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>>  			if (!(readl(hpriv->mmio + HOST_CTL) & HOST_MRSM)) {
>>  				hpriv->get_irq_vector = ahci_get_irq_vector;
>>  				hpriv->flags |= AHCI_HFLAG_MULTI_MSI;
>> -				return nvec;
>> +				return;
>>  			}
>>  
>>  			/*
>> @@ -1700,12 +1702,13 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>>  
>>  	/*
>>  	 * If the host is not capable of supporting per-port vectors, fall
>> -	 * back to single MSI before finally attempting single MSI-X.
>> +	 * back to single MSI before finally attempting single MSI-X or
>> +	 * a legacy INTx.
>>  	 */
>>  	nvec = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSI);
>>  	if (nvec == 1)
>> -		return nvec;
>> -	return pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX);
>> +		return;
>> +	pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX | PCI_IRQ_INTX);
>>  }
>>  
>>  static void ahci_mark_external_port(struct ata_port *ap)
>> @@ -1985,10 +1988,8 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>>  	}
>>  	host->private_data = hpriv;
>>  
>> -	if (ahci_init_msi(pdev, n_ports, hpriv) < 0) {
>> -		/* legacy intx interrupts */
>> -		pcim_intx(pdev, 1);
>> -	}
>> +	ahci_init_irq(pdev, n_ports, hpriv);
>> +
>>  	hpriv->irq = pci_irq_vector(pdev, 0);
>>  
>>  	if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)
> 
> 


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

* Re: [PATCH V3] ata: ahci: simplify init function
  2025-01-15 15:08   ` Tomas Henzl
@ 2025-03-17 14:00     ` Tomas Henzl
  2025-03-17 14:28       ` Niklas Cassel
  0 siblings, 1 reply; 6+ messages in thread
From: Tomas Henzl @ 2025-03-17 14:00 UTC (permalink / raw)
  To: Damien Le Moal, linux-ide; +Cc: Niklas.Cassel

Hi Damien,

the V3  patch applies to the for-6.15 branch with just an offset.
Can you take it as it is or do you want me to resend?

Regards,
Tomas


On 1/15/25 4:08 PM, Tomas Henzl wrote:
> On 1/15/25 3:30 AM, Damien Le Moal wrote:
>> On 1/15/25 03:29, Tomas Henzl wrote:
>>> by removing few lines. No functional change.
>>>
>>> The main part of this change is done by adding a PCI_IRQ_INTX flag into
>>> an already existing pci_alloc_irq_vectors invocation.
>>> In the current implementation of the pci_alloc_irq_vectors is the sequence of calls
>>> msi-x -> msi -> legacy irq and whatever there succeeds stops the
>>> call chain. That makes it impossible to merge all instances into as a single call
>>> to pci_alloc_irq_vectors since the order of calls there is:
>>> multiple msi-x
>>> a single msi
>>> a single msi-x
>>> a legacy irq.
>>> but the two last steps can be merged into one which are the msi-x and legacy
>>> irq option. With this change we remove a pci(m)_intx call.
>>> When PCI_IRQ_INTX flag is set the pci_alloc_irq_vectors succeeds in almost
>>> all cases - that makes it possible to convert ahci_init_irq(msi) into a void function.
>>> The exception is when dev->irq is zero then the pci_alloc_irq_vectors
>>> may return with an error code also pci_intx isn't called from  pci_alloc_irq_vectors
>>> and thus certain pci calls aren't performed.
>>> That's just a negligible issue as later in ahci_init_one the (zero)
>>> value of dev->irq is via pci_irq_vector assigned to hpriv->irq.
>>> That value is then later tested in ahci_host_activate->ata_host_activate where
>>> it is welcomed with a WARN_ON message and fails with setting up irq and
>>> then the probe function (ahci_init_one) fails. The special zero value's
>>> meaning is that polling mode is being be set up which isn't the case.
>>>
>>
>> Extra blank line not need here.
>>
>> Beside that, looks OK now. But as Niklas pointed out, this conflicts with a
>> patch in the PCI tree. And given that it is too late to queue that for 6.14, can
>> you resend a rebased version once 6.14-rc1 is out in a couple of weeks ?
> 
> I can do that, thanks.
> 
>>
>> Thanks !
>>
>>>
>>> Signed-off-by: Tomas Henzl <thenzl@redhat.com>
>>> ---
>>> V2: ahci_init_irq is now a void function
>>> V3: a) added an explanation of why we may convert ahci_init_irq into
>>> 	a void function
>>>     b) fixed the subject line
>>>     c) added an explanation of why calling pci_alloc_irq_vectors instead
>>> 	of pci_intx is safe
>>>     d) rebased to latest code state (pci_intx->pcim_intx)
>>>
>>>  drivers/ata/ahci.c | 23 ++++++++++++-----------
>>>  1 file changed, 12 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
>>> index 8d27c567be1c..3ea2f3adf354 100644
>>> --- a/drivers/ata/ahci.c
>>> +++ b/drivers/ata/ahci.c
>>> @@ -1665,13 +1665,15 @@ static int ahci_get_irq_vector(struct ata_host *host, int port)
>>>  	return pci_irq_vector(to_pci_dev(host->dev), port);
>>>  }
>>>  
>>> -static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>>> +static void ahci_init_irq(struct pci_dev *pdev, unsigned int n_ports,
>>>  			struct ahci_host_priv *hpriv)
>>>  {
>>>  	int nvec;
>>>  
>>> -	if (hpriv->flags & AHCI_HFLAG_NO_MSI)
>>> -		return -ENODEV;
>>> +	if (hpriv->flags & AHCI_HFLAG_NO_MSI) {
>>> +		pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_INTX);
>>> +		return;
>>> +	}
>>>  
>>>  	/*
>>>  	 * If number of MSIs is less than number of ports then Sharing Last
>>> @@ -1685,7 +1687,7 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>>>  			if (!(readl(hpriv->mmio + HOST_CTL) & HOST_MRSM)) {
>>>  				hpriv->get_irq_vector = ahci_get_irq_vector;
>>>  				hpriv->flags |= AHCI_HFLAG_MULTI_MSI;
>>> -				return nvec;
>>> +				return;
>>>  			}
>>>  
>>>  			/*
>>> @@ -1700,12 +1702,13 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
>>>  
>>>  	/*
>>>  	 * If the host is not capable of supporting per-port vectors, fall
>>> -	 * back to single MSI before finally attempting single MSI-X.
>>> +	 * back to single MSI before finally attempting single MSI-X or
>>> +	 * a legacy INTx.
>>>  	 */
>>>  	nvec = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSI);
>>>  	if (nvec == 1)
>>> -		return nvec;
>>> -	return pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX);
>>> +		return;
>>> +	pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX | PCI_IRQ_INTX);
>>>  }
>>>  
>>>  static void ahci_mark_external_port(struct ata_port *ap)
>>> @@ -1985,10 +1988,8 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>>>  	}
>>>  	host->private_data = hpriv;
>>>  
>>> -	if (ahci_init_msi(pdev, n_ports, hpriv) < 0) {
>>> -		/* legacy intx interrupts */
>>> -		pcim_intx(pdev, 1);
>>> -	}
>>> +	ahci_init_irq(pdev, n_ports, hpriv);
>>> +
>>>  	hpriv->irq = pci_irq_vector(pdev, 0);
>>>  
>>>  	if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)
>>
>>
> 


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

* Re: [PATCH V3] ata: ahci: simplify init function
  2025-03-17 14:00     ` Tomas Henzl
@ 2025-03-17 14:28       ` Niklas Cassel
  2025-03-18  8:01         ` Niklas Cassel
  0 siblings, 1 reply; 6+ messages in thread
From: Niklas Cassel @ 2025-03-17 14:28 UTC (permalink / raw)
  To: Tomas Henzl; +Cc: Damien Le Moal, linux-ide@vger.kernel.org

On Mon, Mar 17, 2025 at 03:00:46PM +0100, Tomas Henzl wrote:
> Hi Damien,
> 
> the V3  patch applies to the for-6.15 branch with just an offset.
> Can you take it as it is or do you want me to resend?
> 
> Regards,
> Tomas

Please rebase and send a v4 with an improved commit log.

-Remove the double newlines.

-Use paragraphs (with an empty line between paragraphs).
 (There can be multiple sentences in one paragraph.)

-Improve the motivation. I.e. "removing a few lines" doesn't make sense,
 you are actually adding lines:
 1 file changed, 12 insertions(+), 11 deletions(-)

 You are however moving all the IRQ vector allocations into a single
 place/function, instead of having the allocations spread out over
 two separate call sites, so your refactoring does make sense, since
 it improves code readability.


Kind regards,
Niklas

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

* Re: [PATCH V3] ata: ahci: simplify init function
  2025-03-17 14:28       ` Niklas Cassel
@ 2025-03-18  8:01         ` Niklas Cassel
  0 siblings, 0 replies; 6+ messages in thread
From: Niklas Cassel @ 2025-03-18  8:01 UTC (permalink / raw)
  To: Niklas Cassel; +Cc: Tomas Henzl, Damien Le Moal, linux-ide@vger.kernel.org

Hello Tomas,

On Mon, Mar 17, 2025 at 02:28:25PM +0000, Niklas Cassel wrote:
> On Mon, Mar 17, 2025 at 03:00:46PM +0100, Tomas Henzl wrote:
> > Hi Damien,
> > 
> > the V3  patch applies to the for-6.15 branch with just an offset.
> > Can you take it as it is or do you want me to resend?
> > 
> > Regards,
> > Tomas
> 
> Please rebase and send a v4 with an improved commit log.
> 
> -Remove the double newlines.
> 
> -Use paragraphs (with an empty line between paragraphs).
>  (There can be multiple sentences in one paragraph.)
> 
> -Improve the motivation. I.e. "removing a few lines" doesn't make sense,
>  you are actually adding lines:
>  1 file changed, 12 insertions(+), 11 deletions(-)
> 
>  You are however moving all the IRQ vector allocations into a single
>  place/function, instead of having the allocations spread out over
>  two separate call sites, so your refactoring does make sense, since
>  it improves code readability.

If you want this patch to be queued up for 6.15, please send a new version
this week, because after this week, it will instead be queued up for 6.16.


Kind regards,
Niklas

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

end of thread, other threads:[~2025-03-18  8:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-14 18:29 [PATCH V3] ata: ahci: simplify init function Tomas Henzl
2025-01-15  2:30 ` Damien Le Moal
2025-01-15 15:08   ` Tomas Henzl
2025-03-17 14:00     ` Tomas Henzl
2025-03-17 14:28       ` Niklas Cassel
2025-03-18  8:01         ` Niklas Cassel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).