From patchwork Fri Jul 28 19:31:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Deucher X-Patchwork-Id: 9869285 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A519A60382 for ; Fri, 28 Jul 2017 19:31:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9B314288D2 for ; Fri, 28 Jul 2017 19:31:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9023A288F4; Fri, 28 Jul 2017 19:31:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4F8BF288D2 for ; Fri, 28 Jul 2017 19:31:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BD7A36F4DC; Fri, 28 Jul 2017 19:31:53 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-qk0-x243.google.com (mail-qk0-x243.google.com [IPv6:2607:f8b0:400d:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 44FB36F4D8; Fri, 28 Jul 2017 19:31:50 +0000 (UTC) Received: by mail-qk0-x243.google.com with SMTP id d145so19416523qkc.0; Fri, 28 Jul 2017 12:31:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DCZWJLaC8PRe0Wh5jodDEBDzOa0FBbxRaxMZlEkVCy0=; b=EqFpPvrrn9/q907WGIFs7PrJyqHCysdjGdsdSicXvBszBx69ooQBzbbpWdKdU/1EHx KnaJFi/6NBbFZWUis2gwSPYLSuELMmv9w4Ku+N1CEG5XIiztLmBu52SbLourjYcKET7J 7P8pQcU4IawaVB+OIToIY//DyL9ujMOqg4fb/YSLHQ2ScwLe6ICsOuUWp1y8T2n4dicC U7WIKMHGCaaWuGT4pCn9JJEb8Xrbp756DbucU0QFiEy0BKcZ/IUSlsjqVIFo8lgcewVT X7GSfhEiDGScYgMsmijqb3GEs7Kczefvvh73EuSCmpg27PjLpOOCefYto6+WEhdA6QBF CBpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=DCZWJLaC8PRe0Wh5jodDEBDzOa0FBbxRaxMZlEkVCy0=; b=Mk0E/tSxDSmazSr7OcBJMbBQdgpkN7IRHklLUV86iTT5S4lLW07Fjj2N1tqS8j39kA xHQPfBCaiYCuzg0/SRPm5adKeFycbcJJL2tORTglZFPbfuiD5AtkMzYYdWm+bxsZPli8 XPASIJXXi1PZWW5lR47m/z1xAULtnbkAC7VdpOcdJuCuLLmPz4SiSdm8yDaxw4lZmqqw uLsXKzjCXeeqkv0BMCNpEoFPqyIt94cVdWijTi8cBMRwsp/812mm/Yow5YNqFIKOBbhk GkuVdY/nO/jY4I0teukH0203b6lr30dFWKZRqDimCGYigvvI5nzgxkYB9gZ7WhSeRWJd Hy0A== X-Gm-Message-State: AIVw111swomIuaiKaS+q2IlwHlfycdwYSfFDHSqek5QTwUf6qvcMpQG4 U6Fzft5F574FwNQV X-Received: by 10.55.109.134 with SMTP id i128mr12233616qkc.216.1501270309315; Fri, 28 Jul 2017 12:31:49 -0700 (PDT) Received: from cm.localdomain (va-67-233-122-109.dhcp.embarqhsd.net. [67.233.122.109]) by smtp.gmail.com with ESMTPSA id j21sm16189153qtc.17.2017.07.28.12.31.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Jul 2017 12:31:48 -0700 (PDT) From: Alex Deucher X-Google-Original-From: Alex Deucher To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, alsa-devel@alsa-project.org, airlied@gmail.com, broonie@kernel.org, Vijendar.Mukunda@amd.com, rajeevkumar.linux@gmail.com, perex@perex.cz Subject: [PATCH 3/9 v2] drm/amd/amdgpu: Added a quirk for Stoney platform Date: Fri, 28 Jul 2017 15:31:28 -0400 Message-Id: <1501270294-31153-4-git-send-email-alexander.deucher@amd.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1501270294-31153-1-git-send-email-alexander.deucher@amd.com> References: <1501270294-31153-1-git-send-email-alexander.deucher@amd.com> Cc: Alex Deucher , lgirdwood@gmail.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Vijendar Mukunda Added DW_I2S_QUIRK_16BIT_IDX_OVERRIDE quirk for Stoney. Supported format and bus width for I2S controller read from I2S Component Parameter registers. These are ready only registers. For Stoney, I2S Component Parameter registers are programmed to support 32 bit format and 4 bytes bus width only. By setting this quirk,It will override 32 bit format with 16 bit format and 2 bytes as bus width for Stoney. Signed-off-by: Vijendar Mukunda Signed-off-by: Alex Deucher --- v2: added switch cases for handling asic types. drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c index 0fa8122..9c0bd6c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c @@ -319,14 +319,29 @@ static int acp_hw_init(void *handle) return -ENOMEM; } - i2s_pdata[0].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET; + switch (adev->asic_type) { + case CHIP_STONEY: + i2s_pdata[0].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | + DW_I2S_QUIRK_16BIT_IDX_OVERRIDE; + break; + default: + i2s_pdata[0].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET; + } i2s_pdata[0].cap = DWC_I2S_PLAY; i2s_pdata[0].snd_rates = SNDRV_PCM_RATE_8000_96000; i2s_pdata[0].i2s_reg_comp1 = ACP_I2S_COMP1_PLAY_REG_OFFSET; i2s_pdata[0].i2s_reg_comp2 = ACP_I2S_COMP2_PLAY_REG_OFFSET; + switch (adev->asic_type) { + case CHIP_STONEY: + i2s_pdata[1].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | + DW_I2S_QUIRK_COMP_PARAM1 | + DW_I2S_QUIRK_16BIT_IDX_OVERRIDE; + break; + default: + i2s_pdata[1].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | + DW_I2S_QUIRK_COMP_PARAM1; + } - i2s_pdata[1].quirks = DW_I2S_QUIRK_COMP_REG_OFFSET | - DW_I2S_QUIRK_COMP_PARAM1; i2s_pdata[1].cap = DWC_I2S_RECORD; i2s_pdata[1].snd_rates = SNDRV_PCM_RATE_8000_96000; i2s_pdata[1].i2s_reg_comp1 = ACP_I2S_COMP1_CAP_REG_OFFSET;