Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp2561400rwd; Wed, 14 Jun 2023 04:47:54 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ64kzNflz6U8s8hPRjNQPKj23AWjjR0ivj0mLf2S0tcbjUHtmdhg62Sc+4uTUplmwnuswJe X-Received: by 2002:a05:6358:610f:b0:12b:e682:a1c9 with SMTP id 15-20020a056358610f00b0012be682a1c9mr4533889rws.15.1686743274676; Wed, 14 Jun 2023 04:47:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686743274; cv=none; d=google.com; s=arc-20160816; b=SSQ35ljuAa9FFaK7MPdmsitEH9gZrgVLpThOScekopZ5fkpKh6bHiYJh+nVNoVNCrN NVl64B+Il5AbF6MO6+xzQmf2P5hfF6D03Ec51HQ3WdJ71idVXeFC8K9tCOtguk8M1QWH cIvGif2LZur45+LWZvK9ICUKsUpijRzsx3Volejl9NfSPn6xBceMFWq2UzgUx7srXgCH wRbm5NcVKbJdmAKuCNTMxmQUjKHnDchFW/3KpqziLGVpoQSYaR9zPTeetoH/DUiqgKXW Uejo5rLxgRCpDSkXSqpPq+cmEBMV5r6yUudHTFpixqC+NopaGlBh1qb202Qsb/jX9Oi2 q+pA== 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:from; bh=6AWV37doiH3PiugnY9sAD+zuoFbh9PGTem2xHwGFqFU=; b=AwtXrs+EEs9CcuPqrF2nDPAzjGuHRQvK0rOX+niij+R30PZYO9LAL3izU8GQEgpWcc +d0g/wCi65XsqbaYndQllAixk6tujxp5+H9amkgWK3U8A/qfVm+jijyqBv+YGMfiWGWq d5pNQPNmENhgm0CPwgGt5mE4RGlOSg7fpdmVlH3U+P0DfNaMjhorTlU2nzOXKOdMmehX e43p5d8NJP41Nh6UIqBYh84nYp8WjSs1Ces83u5INExlmHaVo6ObQchrQUqMDKYOkqy9 aj8eCXpPnPUqTsc7WQ6Oh4yYIR3N2fFVCClA5ks0OaDnQV25MojVJ2Z7p8my7p8RSRh0 TNcA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y24-20020a637d18000000b00543a4c47eb6si10619822pgc.820.2023.06.14.04.47.42; Wed, 14 Jun 2023 04:47:54 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238639AbjFNLlQ (ORCPT + 99 others); Wed, 14 Jun 2023 07:41:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236253AbjFNLlM (ORCPT ); Wed, 14 Jun 2023 07:41:12 -0400 X-Greylist: delayed 399 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Wed, 14 Jun 2023 04:41:04 PDT Received: from cloudserver3200665-3200696.home.pl (cloudserver3200665-3200696.home.pl [46.242.240.168]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C65A21FD7 for ; Wed, 14 Jun 2023 04:41:04 -0700 (PDT) Received: from localhost (127.0.0.1) (HELO sv086.home.net.pl) by /usr/run/smtp (/usr/run/postfix/private/idea_relay_lmtp) via UNIX with SMTP (IdeaSmtpServer 5.2.0) id 99d28c93892c5d81; Wed, 14 Jun 2023 13:34:23 +0200 Received: from HEM05L.admytek.local (unknown [213.108.156.244]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by sv086.home.net.pl (Postfix) with ESMTPSA id B71E94211F; Wed, 14 Jun 2023 13:34:22 +0200 (CEST) From: Lukasz Tyl To: perex@perex.cz Cc: tiwai@suse.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, pgorgon@hem-e.com, Lukasz Tyl Subject: [PATCH] sound: usb: quirks: add flag for HEM devices to enable native DSD playback Date: Wed, 14 Jun 2023 13:33:50 +0200 Message-Id: <20230614113350.25607-1-ltyl@hem-e.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CLIENT-IP: 213.108.156.244 X-CLIENT-HOSTNAME: 213.108.156.244 X-VADE-SPAMSTATE: clean X-VADE-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrgedvtddggedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecujffqoffgrffnpdggtffipffknecuuegrihhlohhuthemucduhedtnecunecujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepnfhukhgrshiiucfvhihluceolhhthihlsehhvghmqdgvrdgtohhmqeenucggtffrrghtthgvrhhnpeeghfeuhedvvefhhefghfdtjeekudevudelheekgeegjeduueefgeetfeelueehudenucfkphepvddufedruddtkedrudehiedrvdeggeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvudefrddutdekrdduheeirddvgeegpdhhvghlohepjffgofdthefnrdgrughmhihtvghkrdhlohgtrghlpdhmrghilhhfrhhomhepnfhukhgrshiiucfvhihluceolhhthihlsehhvghmqdgvrdgtohhmqedpnhgspghrtghpthhtohepiedprhgtphhtthhopehpvghrvgigsehpvghrvgigrdgtiidprhgtphhtthhopehtihifrghisehsuhhsvgdrtghomhdprhgtphhtthhopegrlhhsrgdquggvvhgvlhesrghlshgrqdhprhhojhgvtghtrdhorhhgpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtohepphhgohhrghhonheshhgvmhdqvgdrtghomhdprhgtphhtthhopehlthihlheshhgvmhdqvgdrtghomh X-DCC--Metrics: sv086.home.net.pl 1024; Body=9 Fuz1=9 Fuz2=9 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE 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 This commit adds new DEVICE_FLG with QUIRK_FLAG_DSD_RAW and Vendor Id for HEM devices which supports native DSD. Prior to this change Linux kernel was not enabling native DSD playback for HEM devices, and as a result, DSD audio was being converted to PCM "on the fly". HEM devices, when connected to the system, would only play audio in PCM format, even if the source material was in DSD format. With the addition of new VENDOR_FLG in the quircks.c file, the devices are now correctly recognized, and raw DSD data is transmitted to the device, allowing for native DSD playback. Signed-off-by: Lukasz Tyl --- sound/usb/quirks.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 3ecd1ba7fd4b..1414bf15ac21 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -2197,6 +2197,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = { QUIRK_FLAG_DSD_RAW), VENDOR_FLG(0xc502, /* HiBy devices */ QUIRK_FLAG_DSD_RAW), + VENDOR_FLG(0x3336, /* HEM devices */ + QUIRK_FLAG_DSD_RAW), {} /* terminator */ }; -- 2.34.1