From patchwork Wed Jul 12 13:38:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Martin_Povi=C5=A1er?= X-Patchwork-Id: 11933 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp1171181vqm; Wed, 12 Jul 2023 07:02:28 -0700 (PDT) X-Google-Smtp-Source: APBJJlFlgUMbxMGOaP1qmQrQmzo8g2fxSBNuDCzYQfRe+o3qAvRd65RpZtbUSwSxQ3owMtVZld01 X-Received: by 2002:a05:6a20:3d85:b0:10b:b6cf:bbb0 with SMTP id s5-20020a056a203d8500b0010bb6cfbbb0mr16654762pzi.42.1689170548106; Wed, 12 Jul 2023 07:02:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689170548; cv=none; d=google.com; s=arc-20160816; b=IR3ySfUkncf7vghJJFi2gioXqJbnVzFlv5eq5SPKIkIgf6TvKAuK7mYffwOWzLwUyI KYmmOFBlK5XqxgiWRJY5z9NkC7UYxfLplAJWIDmzbyENX2oyVGqmuoSf3hIjYIFsjr1d wGM4NJNdVMSjqKs/foj/Q34FyNNqC+bpeoXQ0+HABX/kJLrb5pJRFCpgKEhwf3TnZcSZ HP+ZTD5bFcygCuBcpWqT9cKOk2K0kIha4JMsAL/Cz2JiQ5AumiJ360O8ZdvqPeS5nM3v cGLgUt0aJJEV99hixPKfHeHkML9UWuIJmBC3ZD0R1x8WX2AlPYSB3B4Wrc944bPZs5UF H8sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:dkim-signature:from; bh=9EOsQhAYQoUHrxxW1o4tOwQwmHnRQW2U6mF0UYSSSzM=; fh=tenHlHDk27urgUplrDAmAtWqZDqhuBXRu63dcE4nUpI=; b=B/NevdMckralDaqsGVJ2+gBOAJD+G0mypwBw0r60jBg0aj4acd7R2vTVzmM/thtd+z xZf06JoVl8B/zFiDxormUbWl2NFjDYnVOFTlJcE2vR3h6gG2ODmkmz04t6t7c3OX63vJ K6Sd5uTUROAIq73lATypwPaPfnBPl52kc7Pozo/2YfnQ0nr/ySI/TMEqxGyh9HnZUUSD Een83Xl6mrpsBKu82kMMQGM5hg/IekyL3fIE4d8kd8oW4Z6NM1ZavflyayW291+/IL4k W7TcstVWaqZDjUqgM/fb+wuR712pV1gc1MC7WS+olPCZauo0+s0EDyv+5x01AiuVAFHy CYhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cutebit.org header.s=mail header.b=eTM5xnnz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cutebit.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e24-20020a656898000000b0052c688e6608si3158433pgt.505.2023.07.12.07.02.12; Wed, 12 Jul 2023 07:02:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@cutebit.org header.s=mail header.b=eTM5xnnz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cutebit.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232252AbjGLNiY (ORCPT + 99 others); Wed, 12 Jul 2023 09:38:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229661AbjGLNiR (ORCPT ); Wed, 12 Jul 2023 09:38:17 -0400 X-Greylist: delayed 4914 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Wed, 12 Jul 2023 06:38:13 PDT Received: from hutie.ust.cz (hutie.ust.cz [185.8.165.127]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B3DFE19B4 for ; Wed, 12 Jul 2023 06:38:13 -0700 (PDT) From: =?utf-8?q?Martin_Povi=C5=A1er?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cutebit.org; s=mail; t=1689169090; bh=9EOsQhAYQoUHrxxW1o4tOwQwmHnRQW2U6mF0UYSSSzM=; h=From:To:Cc:Subject:Date; b=eTM5xnnz3rQZ/KuptxBnqUJbtMSzL7q1JgVdE213d2Pyu+QPqJ+Ght27fhIg3OTJU N+aWLP/326GePEWx4LkSLz5n+DScz2WoA30A4TgxpNqAkYLVAF1R3JoFMx+Bt3/YoE L/itxbqcX0i1ICEXFEQ4Qt/tS1peqOrYvPb2yrag= To: =?utf-8?q?Martin_Povi=C5=A1er?= , Vinod Koul , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: asahi@lists.linux.dev, dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] Apple SIO driver Date: Wed, 12 Jul 2023 15:38:04 +0200 Message-Id: <20230712133806.4450-1-povik+lin@cutebit.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771223696258414238 X-GMAIL-MSGID: 1771223696258414238 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 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 | 10 + drivers/dma/Makefile | 1 + drivers/dma/apple-sio.c | 956 ++++++++++++++++++ 5 files changed, 1080 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/apple,sio.yaml create mode 100644 drivers/dma/apple-sio.c