Received: by 10.192.165.148 with SMTP id m20csp3080948imm; Sun, 22 Apr 2018 23:36:00 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+G6RIWYOgguL1WWjra0vTHFEQDjik3/TSZFXqbmNRdWukhD9pO0wmzFVgxMZnDFu1ihBuq X-Received: by 10.99.164.18 with SMTP id c18mr16056862pgf.85.1524465360693; Sun, 22 Apr 2018 23:36:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524465360; cv=none; d=google.com; s=arc-20160816; b=bTxTkdIsu+WN7MEh5XijpBImSBZLJFSRo/l3C9X6kbw7LqxRFFjCP5TSIrM0Ze2Dk6 w8U+cZeur3855uXajAym9Ob55p9OP/ff4L1R6iWI0cMvlF7ARve9kE/HPJDrJvzNCsgz sUgsCmyAjXscbaEFOnUph4Z52iGFpsbeSagEqlLA3HEMXOYxIqQD66hSETEwI5RkI4fl 7Sjd8wg4cYK4yJ7bsnNuMcGvqAOKkiZc1isFw7RIMB17YqPLMM6YIpbANGnOB/xirEtE liX2yMP0AdvOFBlEyBlboyTEoNHKDmWAlCnZVLuLurpTbeJeHpr6MQKB//6Vwt2fjuP6 E6Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:dkim-signature :arc-authentication-results; bh=qpYCbHaz4W6NW2sB2HIgovgaiHSpTBJiiZAI61Ivyxc=; b=r28XqsGiyTiTMK9/6nPknGpT9jzuRJFww2oqgfSkewYNxBs5hhug3NzRMBjh/p9I2X vD7TYuSNBozRm9XP5t0HJhradL+gvBSZg7L/VktzKHExPTyP0ihH9PYv0YlQE/PIagsH 2crqaMN1RjmClM7W5FylNpHrcrCCZcaQv+9u2oBhrrj8MSzEAli8V9U93T/pTa/AImEx 4H7cvKn16KRhVEhG8ZprP8p7oGT4hmrmTEzWcmOnhBtwJBl/tpiHYTkt2CdstQtXn2Ni UmPWNzCP224TtIvyJSS9qvS9hvM0qQ7E3LTpzEdSz8I00a1ZjOufp2XwHif4yoOqz7UU riEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XSYAHhS0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f4-v6si9307011plr.111.2018.04.22.23.35.46; Sun, 22 Apr 2018 23:36:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XSYAHhS0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754033AbeDWGeb (ORCPT + 99 others); Mon, 23 Apr 2018 02:34:31 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:38026 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751518AbeDWGea (ORCPT ); Mon, 23 Apr 2018 02:34:30 -0400 Received: by mail-lf0-f68.google.com with SMTP id z130-v6so13205019lff.5 for ; Sun, 22 Apr 2018 23:34:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=qpYCbHaz4W6NW2sB2HIgovgaiHSpTBJiiZAI61Ivyxc=; b=XSYAHhS0En3N4lvrVuoCjNwyayOPjizeC/pZn65tZV77km/0nSsxQQ1E3Hd8p8cLtt wXxBhCpTh2CqTZWuo/8ZXateW3HAkIK3lvtjJ4B86RLI7eTd71KI6ZwymFNpzGQYjoDV IOjtvlvrXoC8DXhSFyOrZEOozCEhEwGBj7+c0ySfUWzwi13ivFnRy2fQ47sGgbWzXpjt TEUg/wu0asv5jDP3wzthlkOZtWQgazfr5TnRHz4MKKtMRALrfujPKx4plIL9boeEpzJy CP3sHijqcReV5efI8bTUlXRZJulzE1P/HLuxWvV1JJmQ8Vw2eVfcBY4epJ35tkKVWwqD m4pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=qpYCbHaz4W6NW2sB2HIgovgaiHSpTBJiiZAI61Ivyxc=; b=Yb0WDlBRX0m4sLbUErwisEe63riJSiqTBg88qp7d9VOv0qDo5DcHtMNug5BeJkj2WM heAm0/5hiIfL8FK6LdjNlNU7E6rQw7wkBf+50PWXQvTGJC/MMu4gRXEDfEseRSSAKAzQ BzKwBQz9sXDmqr5+lQxB/xbdenMxKgV1H14zBWXfLlBu1I4YlUhmgCojgTIMCpSiK0c+ X49pb1dnO30L4rEclFc0LZUkYqYo0ju+sbqG6KFkxe/8POBJNnHC6VI+u4h3UNd1sOBy X4SGZPiPnOm9ewxmkNmn3CaO+7fgnBhqKVTbdw0hhP5fi2K7brKZswaTChILaXAO2LdZ G55g== X-Gm-Message-State: ALQs6tBLVXJ0fHXOdMxYbdCVBuKf1IbccO/yDnXZFxbLqxNJ0YQdx9i5 wZ/G/d/zfqlj+HKDrBvEwk4= X-Received: by 2002:a19:17e9:: with SMTP id 102-v6mr8354079lfx.131.1524465268641; Sun, 22 Apr 2018 23:34:28 -0700 (PDT) Received: from [10.17.182.9] (ll-59.209.223.85.sovam.net.ua. [85.223.209.59]) by smtp.gmail.com with ESMTPSA id q11-v6sm2665061lfb.68.2018.04.22.23.34.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 22 Apr 2018 23:34:27 -0700 (PDT) Subject: Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver From: Oleksandr Andrushchenko To: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, jgross@suse.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, perex@perex.cz, tiwai@suse.com Cc: Oleksandr Andrushchenko References: <20180416062453.24743-1-andr2000@gmail.com> <9729eb3b-d331-cf3c-9816-f520748c5f9a@gmail.com> Message-ID: <198552e8-d1e2-d9e1-9636-927b0778ef9d@gmail.com> Date: Mon, 23 Apr 2018 09:34:26 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <9729eb3b-d331-cf3c-9816-f520748c5f9a@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/18/2018 06:15 PM, Oleksandr Andrushchenko wrote: > On 04/16/2018 09:24 AM, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Please note: this patch series depends on [3]. > The dependency is now merged into Xen kernel tree [4] for-linus-4.17 The dependency is now pulled into Linus tree [5] >> >> This patch series adds support for Xen [1] para-virtualized >> sound frontend driver. It implements the protocol from >> include/xen/interface/io/sndif.h with the following limitations: >> - mute/unmute is not supported >> - get/set volume is not supported >> Volume control is not supported for the reason that most of the >> use-cases (at the moment) are based on scenarious where >> unprivileged OS (e.g. Android, AGL etc) use software mixers. >> >> Both capture and playback are supported. >> >> Corresponding backend, implemented as a user-space application, can be >> found at [2]. >> >> Thank you, >> Oleksandr >> >> Changes since v1: >> ***************** >> >> 1. Moved driver from sound/drivers to sound/xen >> >> 2. Coding style changes to better meet Linux Kernel >> >> 3. Added explicit back and front synchronization >>     In order to provide explicit synchronization between backend and >>     frontend the following changes are introduced in the protocol: >>      - add new ring buffer for sending asynchronous events from >>        backend to frontend to report number of bytes played by the >>        frontend (XENSND_EVT_CUR_POS) >>      - introduce trigger events for playback control: >> start/stop/pause/resume >>      - add "req-" prefix to event-channel and ring-ref to unify naming >>        of the Xen event channels for requests and events >> >> 4. Added explicit back and front parameter negotiation >>     In order to provide explicit stream parameter negotiation between >>     backend and frontend the following changes are introduced in the >> protocol: >>     add XENSND_OP_HW_PARAM_QUERY request to read/update >>     configuration space for the parameters given: request passes >>     desired parameter's intervals/masks and the response to this request >>     returns allowed min/max intervals/masks to be used. >> >> [1] https://xenproject.org/ >> [2] https://github.com/xen-troops/snd_be >> [3] https://lkml.org/lkml/2018/4/12/522 >> >> Oleksandr Andrushchenko (5): >>    ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver >>    ALSA: xen-front: Read sound driver configuration from Xen store >>    ALSA: xen-front: Implement Xen event channel handling >>    ALSA: xen-front: Implement handling of shared buffers >>    ALSA: xen-front: Implement ALSA virtual sound driver >> >>   sound/Kconfig                     |   2 + >>   sound/Makefile                    |   2 +- >>   sound/xen/Kconfig                 |  10 + >>   sound/xen/Makefile                |   9 + >>   sound/xen/xen_snd_front.c         | 410 +++++++++++++++++++ >>   sound/xen/xen_snd_front.h         |  57 +++ >>   sound/xen/xen_snd_front_alsa.c    | 830 >> ++++++++++++++++++++++++++++++++++++++ >>   sound/xen/xen_snd_front_alsa.h    |  23 ++ >>   sound/xen/xen_snd_front_cfg.c     | 517 ++++++++++++++++++++++++ >>   sound/xen/xen_snd_front_cfg.h     |  46 +++ >>   sound/xen/xen_snd_front_evtchnl.c | 478 ++++++++++++++++++++++ >>   sound/xen/xen_snd_front_evtchnl.h |  92 +++++ >>   sound/xen/xen_snd_front_shbuf.c   | 193 +++++++++ >>   sound/xen/xen_snd_front_shbuf.h   |  36 ++ >>   14 files changed, 2704 insertions(+), 1 deletion(-) >>   create mode 100644 sound/xen/Kconfig >>   create mode 100644 sound/xen/Makefile >>   create mode 100644 sound/xen/xen_snd_front.c >>   create mode 100644 sound/xen/xen_snd_front.h >>   create mode 100644 sound/xen/xen_snd_front_alsa.c >>   create mode 100644 sound/xen/xen_snd_front_alsa.h >>   create mode 100644 sound/xen/xen_snd_front_cfg.c >>   create mode 100644 sound/xen/xen_snd_front_cfg.h >>   create mode 100644 sound/xen/xen_snd_front_evtchnl.c >>   create mode 100644 sound/xen/xen_snd_front_evtchnl.h >>   create mode 100644 sound/xen/xen_snd_front_shbuf.c >>   create mode 100644 sound/xen/xen_snd_front_shbuf.h >> > [4] > https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/commit/?h=for-linus-4.17&id=cd6e992b3aab072cc90839508aaf5573c8f7e066 [5] https://elixir.bootlin.com/linux/v4.17-rc2/source/include/xen/interface/io/sndif.h