Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1422035pxb; Wed, 12 Jan 2022 14:31:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJxzN6dXKkDzzxNME15CrhcSjeTCuiOapunWdRCDs7naVT4MXld4zGm7yKqdSZGBiJ4fnVGv X-Received: by 2002:a17:902:c410:b0:149:577c:2b08 with SMTP id k16-20020a170902c41000b00149577c2b08mr1903213plk.108.1642026679964; Wed, 12 Jan 2022 14:31:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642026679; cv=none; d=google.com; s=arc-20160816; b=i43CGy1Qw5wV0Jx1QLYVJfocHNjOVfnET4j+4/eEnGy60E+3Qo56Jp52W3/SADso0c JADgB0Ojs+ryNdhOA5OcPAYZa5ErWWHGPgkMIYgkkLglIUElvcKTW1joNxBfEeIwrvq/ 39ENnJgMMdjTgnDeEtmXSz3BMhKeb7bZRSUEL1+Tf3WP296felYPZ88TBqQe9kd+Cf7c KDjB4+O05YdZUY2F9oeNoEf6KingYY5uxlp8NkVi1/nQn/JBe7/xDLAOPloMSVwf2DyK dTQBwV4NfC8qWFr12350IG9zrxlToZ8t0U0dz/fWqjIzVVhoWnAdnSKBgBcJFsAMnmDX 9C/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=E7XvqIvnPBZbqbZZcS4CrBujocuUn2DpZ2W+ROGGmCk=; b=Ud6lfNKGWCyH0NukZgosBM0LrxbXFayjZ9lWh9B8P1PpYgOfVzO50pN+AWLjmYPt2D 0xkxv8fbSeyYAqpcQFoY718ByDxhIOD9vZqrzxzggx7YZCJBv7tkrjXArJjSSNjIAKYM VAyRrLec+Tr7IVK96uDDhKWjFBX6ZR+YAAHCa5XM68rnp+eebcutDmi3/fWhpcS+kNuJ 0Q7dhSNoamMgCPcdNHy8PZ8T7+Xxtdytwxp8tDUe+D3smaouHhhtGZnaoqZhoW5bdTwV LYVj0xMBjpiLhMXeUF/NEKGIrzwhg5lwh68G7A5DszILL9QgeKrCVwhZ2Qm3i/o6yWG1 CYiw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id my12si7259957pjb.8.2022.01.12.14.30.52; Wed, 12 Jan 2022 14:31:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344844AbiALHjZ (ORCPT + 99 others); Wed, 12 Jan 2022 02:39:25 -0500 Received: from mailgw01.mediatek.com ([60.244.123.138]:33298 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1344426AbiALHjY (ORCPT ); Wed, 12 Jan 2022 02:39:24 -0500 X-UUID: b93436c9d1cf4de88a6d9ae0a0618db1-20220112 X-UUID: b93436c9d1cf4de88a6d9ae0a0618db1-20220112 Received: from mtkmbs10n1.mediatek.inc [(172.21.101.34)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1273416240; Wed, 12 Jan 2022 15:39:22 +0800 Received: from mtkexhb01.mediatek.inc (172.21.101.102) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Wed, 12 Jan 2022 15:39:20 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb01.mediatek.inc (172.21.101.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 12 Jan 2022 15:39:20 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 12 Jan 2022 15:39:19 +0800 From: To: , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , Mark Chen Subject: [PATCH 1/7] Bluetooth: mt7921s: fix firmware coredump retrieve Date: Wed, 12 Jan 2022 15:39:11 +0800 Message-ID: X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Mark Chen According to the MCU firmware behavior, as the driver is aware of the notification of the interrupt source FW_MAILBOX_INT that shows the MCU completed delivered a core dump piece to the host, the driver must acknowledge the MCU with the register PH2DSM0R bit PH2DSM0R_DRIVER_OWN to notify the MCU to handle the next core dump piece. Fixes: db57b625912a ("Bluetooth: btmtksdio: add support of processing firmware coredump and log") Co-developed-by: Sean Wang Signed-off-by: Sean Wang Signed-off-by: Mark Chen --- drivers/bluetooth/btmtksdio.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/bluetooth/btmtksdio.c b/drivers/bluetooth/btmtksdio.c index 25fb9c79b1f4..784e65c3fddd 100644 --- a/drivers/bluetooth/btmtksdio.c +++ b/drivers/bluetooth/btmtksdio.c @@ -87,8 +87,12 @@ MODULE_DEVICE_TABLE(sdio, btmtksdio_table); #define RX_DONE_INT BIT(1) #define TX_EMPTY BIT(2) #define TX_FIFO_OVERFLOW BIT(8) +#define FW_MAILBOX_INT BIT(15) #define RX_PKT_LEN GENMASK(31, 16) +#define MTK_REG_PH2DSM0R 0xc4 +#define PH2DSM0R_DRIVER_OWN BIT(0) + #define MTK_REG_CTDR 0x18 #define MTK_REG_CRDR 0x1c @@ -481,6 +485,12 @@ static void btmtksdio_txrx_work(struct work_struct *work) */ sdio_writel(bdev->func, int_status, MTK_REG_CHISR, NULL); + if ((int_status & FW_MAILBOX_INT) && + bdev->data->chipid == 0x7921) { + sdio_writel(bdev->func, PH2DSM0R_DRIVER_OWN, + MTK_REG_PH2DSM0R, 0); + } + if (int_status & FW_OWN_BACK_INT) bt_dev_dbg(bdev->hdev, "Get fw own back"); -- 2.25.1