linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the dmaengine tree with Linus' tree
@ 2022-05-17  5:34 Stephen Rothwell
  2022-05-18 11:46 ` Vinod Koul
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Rothwell @ 2022-05-17  5:34 UTC (permalink / raw)
  To: Vinod Koul; +Cc: Dave Jiang, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1787 bytes --]

Hi all,

Today's linux-next merge of the dmaengine tree got a conflict in:

  drivers/dma/idxd/device.c

between commit:

  1cd8e751d96c ("dmaengine: idxd: skip clearing device context when device is read-only")

from Linus' tree and commit:

  cf4ac3fef338 ("dmaengine: idxd: fix lockdep warning on device driver removal")

from the dmaengine tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/dma/idxd/device.c
index f652da6ab47d,1143886f4a80..000000000000
--- a/drivers/dma/idxd/device.c
+++ b/drivers/dma/idxd/device.c
@@@ -699,21 -716,23 +716,26 @@@ static void idxd_device_wqs_clear_state
  		struct idxd_wq *wq = idxd->wqs[i];
  
  		if (wq->state == IDXD_WQ_ENABLED) {
+ 			mutex_lock(&wq->wq_lock);
  			idxd_wq_disable_cleanup(wq);
 -			idxd_wq_device_reset_cleanup(wq);
  			wq->state = IDXD_WQ_DISABLED;
+ 			mutex_unlock(&wq->wq_lock);
  		}
 +		idxd_wq_device_reset_cleanup(wq);
  	}
  }
  
  void idxd_device_clear_state(struct idxd_device *idxd)
  {
 +	if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags))
 +		return;
 +
+ 	idxd_device_wqs_clear_state(idxd);
+ 	spin_lock(&idxd->dev_lock);
  	idxd_groups_clear_state(idxd);
  	idxd_engines_clear_state(idxd);
- 	idxd_device_wqs_clear_state(idxd);
+ 	idxd->state = IDXD_DEV_DISABLED;
+ 	spin_unlock(&idxd->dev_lock);
  }
  
  static void idxd_group_config_write(struct idxd_group *group)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: manual merge of the dmaengine tree with Linus' tree
  2022-05-17  5:34 linux-next: manual merge of the dmaengine tree with Linus' tree Stephen Rothwell
@ 2022-05-18 11:46 ` Vinod Koul
  2022-05-18 17:20   ` Dave Jiang
  0 siblings, 1 reply; 7+ messages in thread
From: Vinod Koul @ 2022-05-18 11:46 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Dave Jiang, Linux Kernel Mailing List, Linux Next Mailing List

On 17-05-22, 15:34, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the dmaengine tree got a conflict in:
> 
>   drivers/dma/idxd/device.c
> 
> between commit:
> 
>   1cd8e751d96c ("dmaengine: idxd: skip clearing device context when device is read-only")
> 
> from Linus' tree and commit:
> 
>   cf4ac3fef338 ("dmaengine: idxd: fix lockdep warning on device driver removal")

Thank you Stephen, the merge looks right to me. Dave pls verify and test
-next

> 
> from the dmaengine tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/dma/idxd/device.c
> index f652da6ab47d,1143886f4a80..000000000000
> --- a/drivers/dma/idxd/device.c
> +++ b/drivers/dma/idxd/device.c
> @@@ -699,21 -716,23 +716,26 @@@ static void idxd_device_wqs_clear_state
>   		struct idxd_wq *wq = idxd->wqs[i];
>   
>   		if (wq->state == IDXD_WQ_ENABLED) {
> + 			mutex_lock(&wq->wq_lock);
>   			idxd_wq_disable_cleanup(wq);
>  -			idxd_wq_device_reset_cleanup(wq);
>   			wq->state = IDXD_WQ_DISABLED;
> + 			mutex_unlock(&wq->wq_lock);
>   		}
>  +		idxd_wq_device_reset_cleanup(wq);
>   	}
>   }
>   
>   void idxd_device_clear_state(struct idxd_device *idxd)
>   {
>  +	if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags))
>  +		return;
>  +
> + 	idxd_device_wqs_clear_state(idxd);
> + 	spin_lock(&idxd->dev_lock);
>   	idxd_groups_clear_state(idxd);
>   	idxd_engines_clear_state(idxd);
> - 	idxd_device_wqs_clear_state(idxd);
> + 	idxd->state = IDXD_DEV_DISABLED;
> + 	spin_unlock(&idxd->dev_lock);
>   }
>   
>   static void idxd_group_config_write(struct idxd_group *group)



-- 
~Vinod

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

* Re: linux-next: manual merge of the dmaengine tree with Linus' tree
  2022-05-18 11:46 ` Vinod Koul
@ 2022-05-18 17:20   ` Dave Jiang
  2022-05-18 22:40     ` Stephen Rothwell
  0 siblings, 1 reply; 7+ messages in thread
From: Dave Jiang @ 2022-05-18 17:20 UTC (permalink / raw)
  To: Vinod Koul, Stephen Rothwell
  Cc: Linux Kernel Mailing List, Linux Next Mailing List


On 5/18/2022 4:46 AM, Vinod Koul wrote:
> On 17-05-22, 15:34, Stephen Rothwell wrote:
>> Hi all,
>>
>> Today's linux-next merge of the dmaengine tree got a conflict in:
>>
>>    drivers/dma/idxd/device.c
>>
>> between commit:
>>
>>    1cd8e751d96c ("dmaengine: idxd: skip clearing device context when device is read-only")
>>
>> from Linus' tree and commit:
>>
>>    cf4ac3fef338 ("dmaengine: idxd: fix lockdep warning on device driver removal")
> Thank you Stephen, the merge looks right to me. Dave pls verify and test
> -next
>
>> from the dmaengine tree.
>>
>> I fixed it up (see below) and can carry the fix as necessary. This
>> is now fixed as far as linux-next is concerned, but any non trivial
>> conflicts should be mentioned to your upstream maintainer when your tree
>> is submitted for merging.  You may also want to consider cooperating
>> with the maintainer of the conflicting tree to minimise any particularly
>> complex conflicts.
>>
>> -- 
>> Cheers,
>> Stephen Rothwell
>>
>> diff --cc drivers/dma/idxd/device.c
>> index f652da6ab47d,1143886f4a80..000000000000
>> --- a/drivers/dma/idxd/device.c
>> +++ b/drivers/dma/idxd/device.c
>> @@@ -699,21 -716,23 +716,26 @@@ static void idxd_device_wqs_clear_state
>>    		struct idxd_wq *wq = idxd->wqs[i];
>>    
>>    		if (wq->state == IDXD_WQ_ENABLED) {
>> + 			mutex_lock(&wq->wq_lock);
>>    			idxd_wq_disable_cleanup(wq);
>>   -			idxd_wq_device_reset_cleanup(wq);
>>    			wq->state = IDXD_WQ_DISABLED;
>> + 			mutex_unlock(&wq->wq_lock);
>>    		}
>>   +		idxd_wq_device_reset_cleanup(wq);


The lock needs to go around both functions, we can move it outside the 
if().

  + 		mutex_lock(&wq->wq_lock);
   		if (wq->state == IDXD_WQ_ENABLED) {
   			idxd_wq_disable_cleanup(wq);
  -			idxd_wq_device_reset_cleanup(wq);
   			wq->state = IDXD_WQ_DISABLED;
   		}
  +		idxd_wq_device_reset_cleanup(wq);
  + 		mutex_unlock(&wq->wq_lock);


>>    	}
>>    }
>>    
>>    void idxd_device_clear_state(struct idxd_device *idxd)
>>    {
>>   +	if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags))
>>   +		return;
>>   +
>> + 	idxd_device_wqs_clear_state(idxd);
>> + 	spin_lock(&idxd->dev_lock);
>>    	idxd_groups_clear_state(idxd);
>>    	idxd_engines_clear_state(idxd);
>> - 	idxd_device_wqs_clear_state(idxd);
>> + 	idxd->state = IDXD_DEV_DISABLED;
>> + 	spin_unlock(&idxd->dev_lock);
>>    }
>>    
>>    static void idxd_group_config_write(struct idxd_group *group)
>
>

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

* Re: linux-next: manual merge of the dmaengine tree with Linus' tree
  2022-05-18 17:20   ` Dave Jiang
@ 2022-05-18 22:40     ` Stephen Rothwell
  2022-05-18 22:43       ` Dave Jiang
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Rothwell @ 2022-05-18 22:40 UTC (permalink / raw)
  To: Dave Jiang; +Cc: Vinod Koul, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 569 bytes --]

Hi Dave,

On Wed, 18 May 2022 10:20:59 -0700 Dave Jiang <dave.jiang@intel.com> wrote:
>
> The lock needs to go around both functions, we can move it outside the if().
> 
>   + 		mutex_lock(&wq->wq_lock);
>    		if (wq->state == IDXD_WQ_ENABLED) {
>    			idxd_wq_disable_cleanup(wq);
>   -			idxd_wq_device_reset_cleanup(wq);
>    			wq->state = IDXD_WQ_DISABLED;
>    		}
>   +		idxd_wq_device_reset_cleanup(wq);
>   + 		mutex_unlock(&wq->wq_lock);

Thanks for checking.  I have made that change to my merge resolution.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: manual merge of the dmaengine tree with Linus' tree
  2022-05-18 22:40     ` Stephen Rothwell
@ 2022-05-18 22:43       ` Dave Jiang
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Jiang @ 2022-05-18 22:43 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Vinod Koul, Linux Kernel Mailing List, Linux Next Mailing List


On 5/18/2022 3:40 PM, Stephen Rothwell wrote:
> Hi Dave,
>
> On Wed, 18 May 2022 10:20:59 -0700 Dave Jiang <dave.jiang@intel.com> wrote:
>> The lock needs to go around both functions, we can move it outside the if().
>>
>>    + 		mutex_lock(&wq->wq_lock);
>>     		if (wq->state == IDXD_WQ_ENABLED) {
>>     			idxd_wq_disable_cleanup(wq);
>>    -			idxd_wq_device_reset_cleanup(wq);
>>     			wq->state = IDXD_WQ_DISABLED;
>>     		}
>>    +		idxd_wq_device_reset_cleanup(wq);
>>    + 		mutex_unlock(&wq->wq_lock);
> Thanks for checking.  I have made that change to my merge resolution.
Thank you!

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

* Re: linux-next: manual merge of the dmaengine tree with Linus' tree
  2023-08-22  5:13 Stephen Rothwell
@ 2023-08-22 13:59 ` Vinod Koul
  0 siblings, 0 replies; 7+ messages in thread
From: Vinod Koul @ 2023-08-22 13:59 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Christophe JAILLET, Linux Kernel Mailing List, Linux Next Mailing List

On 22-08-23, 15:13, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the dmaengine tree got a conflict in:
> 
>   drivers/dma/mcf-edma.c
> 
> between commit:
> 
>   0a46781c89de ("dmaengine: mcf-edma: Fix a potential un-allocated memory access")
> 
> from Linus' tree and commit:
> 
>   923b13838892 ("dmaengine: mcf-edma: Use struct_size()")
> 
> from the dmaengine tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.

Thanks for the merge, it lgtm


> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/dma/mcf-edma.c
> index 9413fad08a60,28304dd8763a..000000000000
> --- a/drivers/dma/mcf-edma.c
> +++ b/drivers/dma/mcf-edma.c
> @@@ -190,15 -189,9 +189,15 @@@ static int mcf_edma_probe(struct platfo
>   		return -EINVAL;
>   	}
>   
>  -	chans = pdata->dma_channels;
>  +	if (!pdata->dma_channels) {
>  +		dev_info(&pdev->dev, "setting default channel number to 64");
>  +		chans = 64;
>  +	} else {
>  +		chans = pdata->dma_channels;
>  +	}
>  +
> - 	len = sizeof(*mcf_edma) + sizeof(*mcf_chan) * chans;
> - 	mcf_edma = devm_kzalloc(&pdev->dev, len, GFP_KERNEL);
> + 	mcf_edma = devm_kzalloc(&pdev->dev, struct_size(mcf_edma, chans, chans),
> + 				GFP_KERNEL);
>   	if (!mcf_edma)
>   		return -ENOMEM;
>   



-- 
~Vinod

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

* linux-next: manual merge of the dmaengine tree with Linus' tree
@ 2023-08-22  5:13 Stephen Rothwell
  2023-08-22 13:59 ` Vinod Koul
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Rothwell @ 2023-08-22  5:13 UTC (permalink / raw)
  To: Vinod Koul
  Cc: Christophe JAILLET, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1451 bytes --]

Hi all,

Today's linux-next merge of the dmaengine tree got a conflict in:

  drivers/dma/mcf-edma.c

between commit:

  0a46781c89de ("dmaengine: mcf-edma: Fix a potential un-allocated memory access")

from Linus' tree and commit:

  923b13838892 ("dmaengine: mcf-edma: Use struct_size()")

from the dmaengine tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/dma/mcf-edma.c
index 9413fad08a60,28304dd8763a..000000000000
--- a/drivers/dma/mcf-edma.c
+++ b/drivers/dma/mcf-edma.c
@@@ -190,15 -189,9 +189,15 @@@ static int mcf_edma_probe(struct platfo
  		return -EINVAL;
  	}
  
 -	chans = pdata->dma_channels;
 +	if (!pdata->dma_channels) {
 +		dev_info(&pdev->dev, "setting default channel number to 64");
 +		chans = 64;
 +	} else {
 +		chans = pdata->dma_channels;
 +	}
 +
- 	len = sizeof(*mcf_edma) + sizeof(*mcf_chan) * chans;
- 	mcf_edma = devm_kzalloc(&pdev->dev, len, GFP_KERNEL);
+ 	mcf_edma = devm_kzalloc(&pdev->dev, struct_size(mcf_edma, chans, chans),
+ 				GFP_KERNEL);
  	if (!mcf_edma)
  		return -ENOMEM;
  

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2023-08-22 13:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-17  5:34 linux-next: manual merge of the dmaengine tree with Linus' tree Stephen Rothwell
2022-05-18 11:46 ` Vinod Koul
2022-05-18 17:20   ` Dave Jiang
2022-05-18 22:40     ` Stephen Rothwell
2022-05-18 22:43       ` Dave Jiang
2023-08-22  5:13 Stephen Rothwell
2023-08-22 13:59 ` Vinod Koul

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