[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201215065831.552ffeb4@canb.auug.org.au>
Date: Tue, 15 Dec 2020 06:58:31 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Vinod Koul <vkoul@...nel.org>
Cc: Dave Jiang <dave.jiang@...el.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: Re: linux-next: manual merge of the dmaengine tree with the
dmaengine-fixes tree
Hi all,
On Thu, 19 Nov 2020 14:29:15 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> Today's linux-next merge of the dmaengine tree got a conflict in:
>
> drivers/dma/idxd/submit.c
>
> between commit:
>
> 8326be9f1c0b ("dmaengine: idxd: fix mapping of portal size")
>
> from the dmaengine-fixes tree and commit:
>
> 8e50d392652f ("dmaengine: idxd: Add shared workqueue support")
>
> 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.
>
> diff --cc drivers/dma/idxd/submit.c
> index 417048e3c42a,efca5d8468a6..000000000000
> --- a/drivers/dma/idxd/submit.c
> +++ b/drivers/dma/idxd/submit.c
> @@@ -74,14 -86,27 +86,27 @@@ int idxd_submit_desc(struct idxd_wq *wq
> if (idxd->state != IDXD_DEV_ENABLED)
> return -EIO;
>
> - portal = wq->dportal;
> - portal = wq->portal + idxd_get_wq_portal_offset(IDXD_PORTAL_LIMITED);
> ++ portal = wq->portal;
> +
> /*
> - * The wmb() flushes writes to coherent DMA data before possibly
> - * triggering a DMA read. The wmb() is necessary even on UP because
> - * the recipient is a device.
> + * The wmb() flushes writes to coherent DMA data before
> + * possibly triggering a DMA read. The wmb() is necessary
> + * even on UP because the recipient is a device.
> */
> wmb();
> - iosubmit_cmds512(portal, desc->hw, 1);
> + if (wq_dedicated(wq)) {
> + iosubmit_cmds512(portal, desc->hw, 1);
> + } else {
> + /*
> + * It's not likely that we would receive queue full rejection
> + * since the descriptor allocation gates at wq size. If we
> + * receive a -EAGAIN, that means something went wrong such as the
> + * device is not accepting descriptor at all.
> + */
> + rc = enqcmds(portal, desc->hw);
> + if (rc < 0)
> + return rc;
> + }
>
> /*
> * Pending the descriptor to the lockless list for the irq_entry
Just a reminder that this conflict still exists. Commit 8326be9f1c0b
is now in Linus' tree.
--
Cheers,
Stephen Rothwell
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists