* [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).