[PATCH v16 6/6] soc: amd: Add support for AMD Pensando SoC Controller
Andy Shevchenko
andy.shevchenko at gmail.com
Wed Sep 27 05:59:00 PDT 2023
On Tue, Sep 26, 2023 at 11:05 PM Brad Larson <blarson at amd.com> wrote:
> On Thu, Sep 21, 2023 at 18:19:57 +0300 Andy Shevchenko <andy.shevchenko at gmail.com> wrote:
> > On Thu, Sep 14, 2023 at 12:52 AM Brad Larson <blarson at amd.com> wrote:
...
> >> + u8 tx_buf[PENCTRL_MAX_MSG_LEN];
> >> + u8 rx_buf[PENCTRL_MAX_MSG_LEN];
> >
> > These are not DMA-safe, is this a problem?
>
> It's not a problem, the peripheral is PIO FIFO driven only.
The question was about the SPI controller itself.
Also, depending on the driver it may or may not require DMA-safe
pointers. I believe with the new pump queue used in the SPI core all
drivers that are using it are DMA-safe and the caller needs no
additional care.
...
> >> + msg = memdup_user((struct penctrl_spi_xfer *)arg, size);
> >> + if (IS_ERR(msg)) {
> >> + ret = PTR_ERR(msg);
> >> + goto out_unlock;
> >> + }
> >
> > Wondering if you can start using cleanup.h.
>
> Perhaps if recommended, I don't see DEFINE_(FREE,UNLOCK,...) being used.
It's guard()() and scoped_guard() for locks and __free() for the allocations.
Plenty of uses in a few modules already (talking about Linux Next snapshot).
...
> >> + spi->chip_select = current_cs;
> >
> > spi_set_chipselect()
>
> Yes, I'll change to inline function spi_set_chipselect(spi, 0, current_cs). The
> second arg must be legacy as its unused.
Actually, it's a placeholder for the future support of indexed CS'.
...
> >> + u8 txbuf[3];
> >> + u8 rxbuf[1];
> >
> > Not DMA-safe. Is it a problem?
>
> Not a problem, the peripheral is PIO only using FIFOs.
Same as somewhere above.
--
With Best Regards,
Andy Shevchenko
More information about the linux-arm-kernel
mailing list