From: Christoph Hellwig <hch@lst.de>
To: Greg Ungerer <gerg@linux-m68k.org>
Cc: Christoph Hellwig <hch@lst.de>,
Joakim Zhang <qiangqing.zhang@nxp.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
linux-m68k@lists.linux-m68k.org, uclinux-dev@uclinux.org,
netdev@vger.kernel.org
Subject: Re: [PATCH 1/2] net: fec: use dma_alloc_noncoherent for m532x
Date: Fri, 2 Dec 2022 08:02:23 +0100 [thread overview]
Message-ID: <20221202070223.GA12459@lst.de> (raw)
In-Reply-To: <d87264fe-b3e2-39fe-66d2-8201ce81319b@linux-m68k.org>
On Thu, Dec 01, 2022 at 03:41:34PM +1000, Greg Ungerer wrote:
>> #ifdef CONFIG_M532x
>> + /*
>> + * Hacky flush of all caches instead of using the DMA API for the TSO
>> + * headers.
>> + */
>> flush_cache_all();
>
> Even with this corrected this will now end up failing on all other ColdFire types
> with the FEC hardware module (all the non-M532x types) once the arch_dma_alloc()
> returns NULL.
>
> Did you mean "ifndef CONFIG_COLDFIRE" here?
How did these work before given that the cache flush is conditional
on CONFIG_M532x?
>> +#else
>> + /* m68knommu manually flushes all caches in fec_enet_rx_queue */
>> + txq->tso_hdrs = dma_alloc_noncoherent(&fep->pdev->dev,
>> + txq->bd.ring_size * TSO_HEADER_SIZE,
>> + &txq->tso_hdrs_dma, DMA_BIDIRECTIONAL,
>> + GFP_KERNEL);
>> +#endif
>> if (!txq->tso_hdrs) {
>> ret = -ENOMEM;
>> goto alloc_failed;
>
> And what about the dmam_alloc_coherent() call in fec_enet_init()?
> Does that need changing too?
If that's actually use by the FEC implementations on coldire: yes.
But maybe I need even more help on how the cache flushing is suppoѕed
to actually work here.
next prev parent reply other threads:[~2022-12-02 7:02 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-21 9:56 fix dma_alloc_coherent on m68knommu / coldfire Christoph Hellwig
2022-11-21 9:56 ` [PATCH 1/2] net: fec: use dma_alloc_noncoherent for m532x Christoph Hellwig
2022-11-21 10:24 ` Geert Uytterhoeven
2022-11-21 10:43 ` Christoph Hellwig
2022-12-01 5:41 ` Greg Ungerer
2022-12-02 7:02 ` Christoph Hellwig [this message]
2022-12-05 14:09 ` Greg Ungerer
2022-11-21 9:56 ` [PATCH 2/2] m68k: return NULL from dma_alloc_coherent for nommu or coldfire Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221202070223.GA12459@lst.de \
--to=hch@lst.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=geert@linux-m68k.org \
--cc=gerg@linux-m68k.org \
--cc=kuba@kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=qiangqing.zhang@nxp.com \
--cc=uclinux-dev@uclinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.