From patchwork Mon Mar 18 22:50:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "kernelci.org bot" X-Patchwork-Id: 160512 Delivered-To: patch@linaro.org Received: by 2002:a02:5cc1:0:0:0:0:0 with SMTP id w62csp3188693jad; Mon, 18 Mar 2019 15:50:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqyUUG5PRpfh1kLKmxZ4vqL7/sLg37tgSP+mp7HGYUW30E6+9y7x/DCBoKEre72san9Nji8t X-Received: by 2002:a63:1d03:: with SMTP id d3mr382667pgd.42.1552949442241; Mon, 18 Mar 2019 15:50:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552949442; cv=none; d=google.com; s=arc-20160816; b=ioafiGDNMrhnSspIu9XP5M4CQiQu1EqA/xnae6ZsxJ8FPLY001ppGuU/YKFO19Np64 QDEU3COPm6Y6hau9sORpdOlnkZMuELx9I0yST264bEH0pzuZt+YwNrCAMJsTqEDufGA/ njqFMN5cIeRxqDhydzJ3gLWEComrgZcVfXfI4lZbm/sqr9F8dQvO4WhTf9hxU9AerEe0 vZaDCkTgw+Njt44wXfzhlgmWmlCgpN5J16eInSJg62u9um/gSnSzEPES7WVfZp9Afq7X 4HT1EvzUcUUp85GcD9v4aY0hbqW8ustLWTSiE3E8r3gasrs8JrX8TGuvDKqR1Yka4TXh mTkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:from:to:subject :content-transfer-encoding:mime-version:date:message-id :dkim-signature; bh=Uc4z/PbEJOP2WM4wY5rF/semuXMgKiI/li91+DWKXXI=; b=Gf+n8HmSvhaflW6mxAvUebWEUWPtkXZ1wxKi5v16uyYMm71FGslrp/ThJGpmHbKCi4 2JsBIxklfu0pINIY4KM4F0FOMf0enA9DNW7A7Ubrnji/+lXHkjDN7UW7p//HEwFAccYQ fhYgJVALROC2WPLm+J9S3y5BuiDd4K/erOJpu5QUWipDJocXHqSkfF18h19hnIy7hk37 JlXGAQMgJ21tksg0LulMlvFcboqhOwigEno4x1Lr+2W9ypC7H17bPcW8LMp5QGYiQSsO MqWlVGElQXZUKC50Ej6usuqe1Pp4sH6RStkQ8ne8CEkqFSnS81UEgWPRgtwvbw9qBlPj LTGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernelci-org.20150623.gappssmtp.com header.s=20150623 header.b=gYsIBVO8; spf=pass (google.com: best guess record for domain of linux-mmc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-mmc-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x15si10104437pgi.420.2019.03.18.15.50.41; Mon, 18 Mar 2019 15:50:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-mmc-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=@kernelci-org.20150623.gappssmtp.com header.s=20150623 header.b=gYsIBVO8; spf=pass (google.com: best guess record for domain of linux-mmc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-mmc-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726896AbfCRWuk (ORCPT + 5 others); Mon, 18 Mar 2019 18:50:40 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:52469 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726933AbfCRWuk (ORCPT ); Mon, 18 Mar 2019 18:50:40 -0400 Received: by mail-wm1-f66.google.com with SMTP id a184so740958wma.2 for ; Mon, 18 Mar 2019 15:50:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernelci-org.20150623.gappssmtp.com; s=20150623; h=message-id:date:mime-version:content-transfer-encoding:subject:to :from:cc; bh=Uc4z/PbEJOP2WM4wY5rF/semuXMgKiI/li91+DWKXXI=; b=gYsIBVO8Yn1xwTTYB8d8dxBd4NW7aL4amTtp/YdMbeJZj7q6li9yLlRsjsji3rjYmo VKZBj4zj/JpPFn7ZMw7C4lmOTgqKBX5e2/hIsezwS+Jz6s4nS5ZdFNKdh8bC+/X+Bk9o F2dFR1WOxrbqQrVZPVlCWXWYqHKSRAyD9DXu97apZuM6vD0mklgNi9aSjl+HakS4QFrp EcMSqPOq453G7nqZ8sgpbL3AzJyyH8gSp/NyguPKg4q+A0rpewWS0kO3FVRMVmxVqEoa fMUlB9rHn6SSxTZaQ8Hiu6T7L/iasOCiWeh1Y6uW9eOUYy+zofYNsEId9/BCW4Txc3Kf N2XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:mime-version :content-transfer-encoding:subject:to:from:cc; bh=Uc4z/PbEJOP2WM4wY5rF/semuXMgKiI/li91+DWKXXI=; b=Rm4uOQzlUa5ePHk95pWJVuSFZ6ZDe1TgwHARQCp+avT+HlrA+HpQxa/KE9+zdXIEhx 5K+kJx5FeLsTvzH2CSKrYXOD9usSHX8dLGdublhnnL3mB5kBJ0qHV850bLQtzbCtaXHz mDKrNpiG+0YQ8aHVrYiTwIO7f+1A8e48gaNfuoQbdMueNy3gWSqjfYv36uTRtLFbypiy LXsU91TveDCrm2CurJ5nguYd6hQvtSavjaUqYULGHNdAvgPrqRGwH86biu9xUS3sqDJQ m8x5/+4bIZNYSo3iDYJY20H4cTCANmJFHVZnzo79L6wllCKlcZgi7a22QWDZRlM9uDOn NsLw== X-Gm-Message-State: APjAAAVdFx3jpJMCmqsAtHVESalSTRzrVOdhquAVnJ1WZDfh+XJH3QZK EGWm87OUqhnnX84by39w/0xE4g== X-Received: by 2002:a7b:cf23:: with SMTP id m3mr854274wmg.96.1552949437668; Mon, 18 Mar 2019 15:50:37 -0700 (PDT) Received: from [148.251.42.114] ([2a01:4f8:201:9271::2]) by smtp.gmail.com with ESMTPSA id a9sm5217453wrt.29.2019.03.18.15.50.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Mar 2019 15:50:36 -0700 (PDT) Message-ID: <5c9020bc.1c69fb81.6977e.d27a@mx.google.com> Date: Mon, 18 Mar 2019 15:50:36 -0700 (PDT) MIME-Version: 1.0 X-Kernelci-Kernel: v5.1-rc1-22-gb3725d97ba75 X-Kernelci-Report-Type: bisect X-Kernelci-Tree: ulfh X-Kernelci-Lab-Name: lab-collabora X-Kernelci-Branch: next Subject: ulfh/next boot bisection: v5.1-rc1-22-gb3725d97ba75 on rk3399-gru-kevin To: tomeu.vizoso@collabora.com, guillaume.tucker@collabora.com, mgalka@collabora.com, Ziyuan Xu , Shawn Lin , broonie@kernel.org, matthew.hart@linaro.org, khilman@baylibre.com, enric.balletbo@collabora.com, Ulf Hansson From: "kernelci.org bot" Cc: Heiko Stuebner , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Jaehoon Chung , linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This automated bisection report was sent to you on the basis * * that you may be involved with the breaking commit it has * * found. No manual investigation has been done to verify it, * * and the root cause of the problem may be somewhere else. * * Hope this helps! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ulfh/next boot bisection: v5.1-rc1-22-gb3725d97ba75 on rk3399-gru-kevin Summary: Start: b3725d97ba75 Merge branch 'fixes' into next Details: https://kernelci.org/boot/id/5c8fa85d59b5148afcfe6052 Plain log: https://storage.kernelci.org//ulfh/next/v5.1-rc1-22-gb3725d97ba75/arm64/defconfig/gcc-7/lab-collabora/boot-rk3399-gru-kevin.txt HTML log: https://storage.kernelci.org//ulfh/next/v5.1-rc1-22-gb3725d97ba75/arm64/defconfig/gcc-7/lab-collabora/boot-rk3399-gru-kevin.html Result: d6a6d722481f mmc: dw_mmc-rockchip: Enable hardware unbusy interrupt support Checks: revert: PASS verify: PASS Parameters: Tree: ulfh URL: https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git Branch: next Target: rk3399-gru-kevin CPU arch: arm64 Lab: lab-collabora Compiler: gcc-7 Config: defconfig Test suite: boot Breaking commit found: ------------------------------------------------------------------------------- commit d6a6d722481f357eafe7b798fe6fdadd2f5ac6bd Author: Shawn Lin Date: Tue Mar 12 15:35:09 2019 +0800 mmc: dw_mmc-rockchip: Enable hardware unbusy interrupt support The new register for controlling hardware unbusy interrupt is in 0x120. It looks like: |------------------------------------------------------------| |Bit | Attribute | Reset Value | Description | |------------------------------------------------------------| |31:25 | RO | 0x0 | reserved | |------------------------------------------------------------| |24 | RO | 0x0 | rdyint_cnt_finish | | | | |When high, it indicates| | | | |that the rdyint counter| | | | |is finished. | |------------------------------------------------------------| |23:16 | RO | 0x0 | rdyint_cnt_status | | | | |Couner status, reflect | | | | |internal counter value.| |------------------------------------------------------------| |15:9 | RO | 0x0 | reserved | |------------------------------------------------------------| |8 | RW | 0x0 | rdyint_gen_working | | | | |When set, IP starts to | | | | |count and generate one | | | | |rdyint trigger. After | | | | |the rdyint trigger is | | | | |generated, it will be | | | | |cleaned automatically. | | | | |Software should set it | | | | |again next time. | |------------------------------------------------------------| |7:0 | RW | 0xff | rdyint_gen_maxval | | | | |Max counter value for | | | | |the IP to count when | | | | |rdyint_gen_working is | | | | |set. This counter is | | | | |based on biu_clk. | |------------------------------------------------------------| Signed-off-by: Shawn Lin Tested-by: Ziyuan Xu Signed-off-by: Ulf Hansson Git bisection log: ------------------------------------------------------------------------------- git bisect start # good: [4d3d534e9fd596e6f70ee19c75f0cd9aa5be2588] Merge branch 'fixes' into next git bisect good 4d3d534e9fd596e6f70ee19c75f0cd9aa5be2588 # bad: [b3725d97ba75b0cf6d0eb1e3836915ad234f6f3d] Merge branch 'fixes' into next git bisect bad b3725d97ba75b0cf6d0eb1e3836915ad234f6f3d # good: [e266ca36da7de45b64b05698e98e04b578a88888] Merge tag 'staging-5.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging git bisect good e266ca36da7de45b64b05698e98e04b578a88888 # good: [36011ddc78395b59a8a418c37f20bcc18828f1ef] Merge tag 'gfs2-5.1.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 git bisect good 36011ddc78395b59a8a418c37f20bcc18828f1ef # good: [6bc3fe8e7e172d5584e529a04cf9eec946428768] tools: mark 'test_vmalloc.sh' executable git bisect good 6bc3fe8e7e172d5584e529a04cf9eec946428768 # good: [dc2535be1fd547fbd56aff091370280007b0a1af] Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux git bisect good dc2535be1fd547fbd56aff091370280007b0a1af # good: [e8a71a38668919c53e6ca9dd1bfa977e5690523f] Merge tag 'ntb-5.1' of git://github.com/jonmason/ntb git bisect good e8a71a38668919c53e6ca9dd1bfa977e5690523f # good: [636deed6c0bc137a7c4f4a97ae1fcf0ad75323da] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm git bisect good 636deed6c0bc137a7c4f4a97ae1fcf0ad75323da # good: [477558d7e8d82b59a650e193a5651cf25b794dbc] Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi git bisect good 477558d7e8d82b59a650e193a5651cf25b794dbc # good: [80b98e92ebcb4433b86fd32b5d82ec6b0d75cf59] Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip git bisect good 80b98e92ebcb4433b86fd32b5d82ec6b0d75cf59 # good: [9e98c678c2d6ae3a17cb2de55d17f69dddaa231b] Linux 5.1-rc1 git bisect good 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b # good: [311f059c6aaeb6f5c21459041523a07459d7369b] mmc: sdhci-of-esdhc: add erratum A-009204 support git bisect good 311f059c6aaeb6f5c21459041523a07459d7369b # good: [705a0f28811322cb8c578c35a9d07fae7c683845] mmc: dw_mmc: Add hardware unbusy interrupt support git bisect good 705a0f28811322cb8c578c35a9d07fae7c683845 # bad: [60cbf5c5e71dab0586455ae846fb67353d2554bf] mmc: renesas_sdhi: update copyright information git bisect bad 60cbf5c5e71dab0586455ae846fb67353d2554bf # bad: [eeddc8e5fb23e85ea71e7f03d44b1a3845305213] mmc: mxs-mmc: Enable MMC_CAP_ERASE git bisect bad eeddc8e5fb23e85ea71e7f03d44b1a3845305213 # bad: [d6a6d722481f357eafe7b798fe6fdadd2f5ac6bd] mmc: dw_mmc-rockchip: Enable hardware unbusy interrupt support git bisect bad d6a6d722481f357eafe7b798fe6fdadd2f5ac6bd # first bad commit: [d6a6d722481f357eafe7b798fe6fdadd2f5ac6bd] mmc: dw_mmc-rockchip: Enable hardware unbusy interrupt support ------------------------------------------------------------------------------- diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c index 8c86a800a8fd..85b1e42782a0 100644 --- a/drivers/mmc/host/dw_mmc-rockchip.c +++ b/drivers/mmc/host/dw_mmc-rockchip.c @@ -20,6 +20,9 @@ #include "dw_mmc-pltfm.h" #define RK3288_CLKGEN_DIV 2 +#define RKMMC_RDYINT_GEN 0x120 +#define RKMMC_RDYINT_GEN_WORKING BIT(8) +#define RKMMC_RDYINT_GEN_MAXVAL GENMASK(7, 0) struct dw_mci_rockchip_priv_data { struct clk *drv_clk; @@ -28,6 +31,23 @@ struct dw_mci_rockchip_priv_data { int num_phases; }; +static int dw_mci_rockchip_prepare_hw_unbusy(struct dw_mci *host, + bool enable) +{ + u32 reg = readl(host->regs + RKMMC_RDYINT_GEN); + + if (enable) + /* Self-clean when generating unbusy int */ + reg |= RKMMC_RDYINT_GEN_WORKING; + else + /* Otherwise do it manually to avoid racing condition */ + reg &= ~RKMMC_RDYINT_GEN_WORKING; + + writel(reg, host->regs + RKMMC_RDYINT_GEN); + + return 0; +} + static void dw_mci_rk3288_set_ios(struct dw_mci *host, struct mmc_ios *ios) { struct dw_mci_rockchip_priv_data *priv = host->priv; @@ -301,6 +321,15 @@ static int dw_mci_rockchip_init(struct dw_mci *host) "rockchip,rk3288-dw-mshc")) host->bus_hz /= RK3288_CLKGEN_DIV; + /* Some Rockchip SoCs use hw unbusy int */ + if (of_device_is_compatible(host->dev->of_node, + "rockchip,rk1808-dw-mshc")) { + host->hw_unbusy_int = 16; + writel(~(RKMMC_RDYINT_GEN_WORKING | + RKMMC_RDYINT_GEN_MAXVAL), + host->regs + RKMMC_RDYINT_GEN); + } + return 0; } @@ -322,6 +351,7 @@ static const struct dw_mci_drv_data rk3288_drv_data = { .set_ios = dw_mci_rk3288_set_ios, .execute_tuning = dw_mci_rk3288_execute_tuning, .parse_dt = dw_mci_rk3288_parse_dt, + .prepare_hw_unbusy = dw_mci_rockchip_prepare_hw_unbusy, .init = dw_mci_rockchip_init, }; -------------------------------------------------------------------------------