[PATCH v2 0/2] Apple SIO driver

Martin Povišer posted 2 patches 2 years, 3 months ago
There is a newer version of this series
.../devicetree/bindings/dma/apple,sio.yaml    | 111 +++
MAINTAINERS                                   |   2 +
drivers/dma/Kconfig                           |  11 +
drivers/dma/Makefile                          |   1 +
drivers/dma/apple-sio.c                       | 868 ++++++++++++++++++
5 files changed, 993 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dma/apple,sio.yaml
create mode 100644 drivers/dma/apple-sio.c
[PATCH v2 0/2] Apple SIO driver
Posted by Martin Povišer 2 years, 3 months ago
Hi all,

see attached a driver for the SIO coprocessor found on recent Apple
SoCs. This coprocessor provides general DMA services, it can feed
many peripherals but so far it seems it will only be useful for
audio output over HDMI/DisplayPort. So the driver here only supports
the DMA_CYCLIC mode of transactions with the focus being on audio.
There's a downstream prototype ALSA driver the DMA driver is being
tested against.

Some of the boilerplate code in implementing the dmaengine interface
was lifted from apple-admac.c. Among other things these two drivers
have in common that they implement the DMA_CYCLIC regime on top of
hardware/coprocessor layer supporting linear transactions only.

The binding schema saw two RFC rounds before and has a reviewed-by
from Rob.
https://lore.kernel.org/asahi/167693643966.613996.10372170526471864080.robh@kernel.org

Best regards,
Martin

--

Changes since v1:
https://lore.kernel.org/asahi/20230712133806.4450-1-povik+lin@cutebit.org/T/#t
 - move to using virt-dma
 - drop redundant cookie field from `sio_tx`
 - use DECLARE_BITMAP for `allocated` in sio_tagdata

Martin Povišer (2):
  dt-bindings: dma: apple,sio: Add schema
  dmaengine: apple-sio: Add Apple SIO driver

 .../devicetree/bindings/dma/apple,sio.yaml    | 111 +++
 MAINTAINERS                                   |   2 +
 drivers/dma/Kconfig                           |  11 +
 drivers/dma/Makefile                          |   1 +
 drivers/dma/apple-sio.c                       | 868 ++++++++++++++++++
 5 files changed, 993 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/dma/apple,sio.yaml
 create mode 100644 drivers/dma/apple-sio.c

-- 
2.38.3

Re: [PATCH v2 0/2] Apple SIO driver
Posted by Neal Gompa 2 years, 3 months ago
On Mon, Aug 28, 2023 at 1:00 PM Martin Povišer <povik+lin@cutebit.org> wrote:
>
> Hi all,
>
> see attached a driver for the SIO coprocessor found on recent Apple
> SoCs. This coprocessor provides general DMA services, it can feed
> many peripherals but so far it seems it will only be useful for
> audio output over HDMI/DisplayPort. So the driver here only supports
> the DMA_CYCLIC mode of transactions with the focus being on audio.
> There's a downstream prototype ALSA driver the DMA driver is being
> tested against.
>
> Some of the boilerplate code in implementing the dmaengine interface
> was lifted from apple-admac.c. Among other things these two drivers
> have in common that they implement the DMA_CYCLIC regime on top of
> hardware/coprocessor layer supporting linear transactions only.
>
> The binding schema saw two RFC rounds before and has a reviewed-by
> from Rob.
> https://lore.kernel.org/asahi/167693643966.613996.10372170526471864080.robh@kernel.org
>
> Best regards,
> Martin
>
> --
>
> Changes since v1:
> https://lore.kernel.org/asahi/20230712133806.4450-1-povik+lin@cutebit.org/T/#t
>  - move to using virt-dma
>  - drop redundant cookie field from `sio_tx`
>  - use DECLARE_BITMAP for `allocated` in sio_tagdata
>
> Martin Povišer (2):
>   dt-bindings: dma: apple,sio: Add schema
>   dmaengine: apple-sio: Add Apple SIO driver
>
>  .../devicetree/bindings/dma/apple,sio.yaml    | 111 +++
>  MAINTAINERS                                   |   2 +
>  drivers/dma/Kconfig                           |  11 +
>  drivers/dma/Makefile                          |   1 +
>  drivers/dma/apple-sio.c                       | 868 ++++++++++++++++++
>  5 files changed, 993 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/dma/apple,sio.yaml
>  create mode 100644 drivers/dma/apple-sio.c
>
> --
> 2.38.3
>
>

Series looks reasonable to me, though this is something I'm more new
at looking at...

Acked-by: Neal Gompa <neal@gompa.dev>


-- 
真実はいつも一つ!/ Always, there's only one truth!