From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3195DC04EB9 for ; Thu, 6 Dec 2018 14:43:41 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F422B20892 for ; Thu, 6 Dec 2018 14:43:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="F+r/7p43"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="XCvsxGio" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F422B20892 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=B4chhSH+ewQlhoGLMbTh4vk86xxgE1A8FaTnssbxVBw=; b=F+r/7p43AWxP++ AS2icbbHvX6NrFXLSe1Umifz8ToL7z0y0ooxPH6WqAKrNUZH2YyAW6Cja1hWsW+TlH8xAhHARntgW cibJDEIS7apS2u21Dbp4Q/RRshMcrBGkj9ckuna9BD0WvCu6ItmaUepVnI211FhyQLxYr8VeKpIW0 v6PrILBfXmuMVKCGSk9xiFqKiAW7HMGnhhOz/ogBbQRW992JyTnagFtfh9yxKBMZaLR9ew9x1g/1y jOfY7SPJqe9fCcm7+eOgir+fnqFONAVrOXUbz3yiiKNzdhRqD0wJasea6HYiSItTMDI9+nnKDF+zd SqqV+zCL/QGFC/X7AXoA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUusJ-0007Fs-FR; Thu, 06 Dec 2018 14:43:35 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUusF-0007Al-GW; Thu, 06 Dec 2018 14:43:33 +0000 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 87CB620661; Thu, 6 Dec 2018 14:43:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544107401; bh=1U4fazW/kJweZs+82bFvGFee4C5OGMhN/gaURFDfn30=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XCvsxGiocpjn92iVqWDwG2ZHU2Wsknymk6ls0vP95pfmlhD3e7HbybZww27+mjmcE Z72AV68UqEJjnzDPxuulao4LbdJplO3c+1tDJDjl8u+nRaNf0fAnB7ggnx4abAkjlu qDzh1Od52XHM5y4lVxpD/bUkHh/csT+4NxngU6u4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Subject: [PATCH 4.14 20/55] drm/meson: Enable fast_io in meson_dw_hdmi_regmap_config Date: Thu, 6 Dec 2018 15:38:54 +0100 Message-Id: <20181206143002.814496909@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181206143001.749982936@linuxfoundation.org> References: <20181206143001.749982936@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181206_064331_615235_D05862CA X-CRM114-Status: GOOD ( 11.90 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lyude Paul , Neil Armstrong , Greg Kroah-Hartman , dri-devel@lists.freedesktop.org, stable@vger.kernel.org, Sean Paul , Kevin Hilman , Daniel Vetter , Carlo Caione , linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Lyude Paul commit 995b278e4723b26f8ebf0e7c119286d16c712747 upstream. Seeing as we use this registermap in the context of our IRQ handlers, we need to be using spinlocks for reading/writing registers so that we can still read them from IRQ handlers without having to grab any mutexes and accidentally sleep. We don't currently do this, as pointed out by lockdep: [ 18.403770] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:908 [ 18.406744] in_atomic(): 1, irqs_disabled(): 128, pid: 68, name: kworker/u17:0 [ 18.413864] INFO: lockdep is turned off. [ 18.417675] irq event stamp: 12 [ 18.420778] hardirqs last enabled at (11): [] _raw_spin_unlock_irq+0x2c/0x60 [ 18.429510] hardirqs last disabled at (12): [] __schedule+0xc4/0xa60 [ 18.437345] softirqs last enabled at (0): [] copy_process.isra.4.part.5+0x4d8/0x1c50 [ 18.446684] softirqs last disabled at (0): [<0000000000000000>] (null) [ 18.453979] CPU: 0 PID: 68 Comm: kworker/u17:0 Tainted: G W O 4.20.0-rc3Lyude-Test+ #9 [ 18.469839] Hardware name: amlogic khadas-vim2/khadas-vim2, BIOS 2018.07-rc2-armbian 09/11/2018 [ 18.480037] Workqueue: hci0 hci_power_on [bluetooth] [ 18.487138] Call trace: [ 18.494192] dump_backtrace+0x0/0x1b8 [ 18.501280] show_stack+0x14/0x20 [ 18.508361] dump_stack+0xbc/0xf4 [ 18.515427] ___might_sleep+0x140/0x1d8 [ 18.522515] __might_sleep+0x50/0x88 [ 18.529582] __mutex_lock+0x60/0x870 [ 18.536621] mutex_lock_nested+0x1c/0x28 [ 18.543660] regmap_lock_mutex+0x10/0x18 [ 18.550696] regmap_read+0x38/0x70 [ 18.557727] dw_hdmi_hardirq+0x58/0x138 [dw_hdmi] [ 18.564804] __handle_irq_event_percpu+0xac/0x410 [ 18.571891] handle_irq_event_percpu+0x34/0x88 [ 18.578982] handle_irq_event+0x48/0x78 [ 18.586051] handle_fasteoi_irq+0xac/0x160 [ 18.593061] generic_handle_irq+0x24/0x38 [ 18.599989] __handle_domain_irq+0x60/0xb8 [ 18.606857] gic_handle_irq+0x50/0xa0 [ 18.613659] el1_irq+0xb4/0x130 [ 18.620394] debug_lockdep_rcu_enabled+0x2c/0x30 [ 18.627111] schedule+0x38/0xa0 [ 18.633781] schedule_timeout+0x3a8/0x510 [ 18.640389] wait_for_common+0x15c/0x180 [ 18.646905] wait_for_completion+0x14/0x20 [ 18.653319] mmc_wait_for_req_done+0x28/0x168 [ 18.659693] mmc_wait_for_req+0xa8/0xe8 [ 18.665978] mmc_wait_for_cmd+0x64/0x98 [ 18.672180] mmc_io_rw_direct_host+0x94/0x130 [ 18.678385] mmc_io_rw_direct+0x10/0x18 [ 18.684516] sdio_enable_func+0xe8/0x1d0 [ 18.690627] btsdio_open+0x24/0xc0 [btsdio] [ 18.696821] hci_dev_do_open+0x64/0x598 [bluetooth] [ 18.703025] hci_power_on+0x50/0x270 [bluetooth] [ 18.709163] process_one_work+0x2a0/0x6e0 [ 18.715252] worker_thread+0x40/0x448 [ 18.721310] kthread+0x12c/0x130 [ 18.727326] ret_from_fork+0x10/0x1c [ 18.735555] ------------[ cut here ]------------ [ 18.741430] do not call blocking ops when !TASK_RUNNING; state=2 set at [<000000006265ec59>] wait_for_common+0x140/0x180 [ 18.752417] WARNING: CPU: 0 PID: 68 at kernel/sched/core.c:6096 __might_sleep+0x7c/0x88 [ 18.760553] Modules linked in: dm_mirror dm_region_hash dm_log dm_mod btsdio bluetooth snd_soc_hdmi_codec dw_hdmi_i2s_audio ecdh_generic brcmfmac brcmutil cfg80211 rfkill ir_nec_decoder meson_dw_hdmi(O) dw_hdmi rc_geekbox meson_rng meson_ir ao_cec rng_core rc_core cec leds_pwm efivars nfsd ip_tables x_tables crc32_generic f2fs uas meson_gxbb_wdt pwm_meson efivarfs ipv6 [ 18.799469] CPU: 0 PID: 68 Comm: kworker/u17:0 Tainted: G W O 4.20.0-rc3Lyude-Test+ #9 [ 18.808858] Hardware name: amlogic khadas-vim2/khadas-vim2, BIOS 2018.07-rc2-armbian 09/11/2018 [ 18.818045] Workqueue: hci0 hci_power_on [bluetooth] [ 18.824088] pstate: 80000085 (Nzcv daIf -PAN -UAO) [ 18.829891] pc : __might_sleep+0x7c/0x88 [ 18.835722] lr : __might_sleep+0x7c/0x88 [ 18.841256] sp : ffff000008003cb0 [ 18.846751] x29: ffff000008003cb0 x28: 0000000000000000 [ 18.852269] x27: ffff00000938e000 x26: ffff800010283000 [ 18.857726] x25: ffff800010353280 x24: ffff00000868ef50 [ 18.863166] x23: 0000000000000000 x22: 0000000000000000 [ 18.868551] x21: 0000000000000000 x20: 000000000000038c [ 18.873850] x19: ffff000008cd08c0 x18: 0000000000000010 [ 18.879081] x17: ffff000008a68cb0 x16: 0000000000000000 [ 18.884197] x15: 0000000000aaaaaa x14: 0e200e200e200e20 [ 18.889239] x13: 0000000000000001 x12: 00000000ffffffff [ 18.894261] x11: ffff000008adfa48 x10: 0000000000000001 [ 18.899517] x9 : ffff0000092a0158 x8 : 0000000000000000 [ 18.904674] x7 : ffff00000812136c x6 : 0000000000000000 [ 18.909895] x5 : 0000000000000000 x4 : 0000000000000001 [ 18.915080] x3 : 0000000000000007 x2 : 0000000000000007 [ 18.920269] x1 : 99ab8e9ebb6c8500 x0 : 0000000000000000 [ 18.925443] Call trace: [ 18.929904] __might_sleep+0x7c/0x88 [ 18.934311] __mutex_lock+0x60/0x870 [ 18.938687] mutex_lock_nested+0x1c/0x28 [ 18.943076] regmap_lock_mutex+0x10/0x18 [ 18.947453] regmap_read+0x38/0x70 [ 18.951842] dw_hdmi_hardirq+0x58/0x138 [dw_hdmi] [ 18.956269] __handle_irq_event_percpu+0xac/0x410 [ 18.960712] handle_irq_event_percpu+0x34/0x88 [ 18.965176] handle_irq_event+0x48/0x78 [ 18.969612] handle_fasteoi_irq+0xac/0x160 [ 18.974058] generic_handle_irq+0x24/0x38 [ 18.978501] __handle_domain_irq+0x60/0xb8 [ 18.982938] gic_handle_irq+0x50/0xa0 [ 18.987351] el1_irq+0xb4/0x130 [ 18.991734] debug_lockdep_rcu_enabled+0x2c/0x30 [ 18.996180] schedule+0x38/0xa0 [ 19.000609] schedule_timeout+0x3a8/0x510 [ 19.005064] wait_for_common+0x15c/0x180 [ 19.009513] wait_for_completion+0x14/0x20 [ 19.013951] mmc_wait_for_req_done+0x28/0x168 [ 19.018402] mmc_wait_for_req+0xa8/0xe8 [ 19.022809] mmc_wait_for_cmd+0x64/0x98 [ 19.027177] mmc_io_rw_direct_host+0x94/0x130 [ 19.031563] mmc_io_rw_direct+0x10/0x18 [ 19.035922] sdio_enable_func+0xe8/0x1d0 [ 19.040294] btsdio_open+0x24/0xc0 [btsdio] [ 19.044742] hci_dev_do_open+0x64/0x598 [bluetooth] [ 19.049228] hci_power_on+0x50/0x270 [bluetooth] [ 19.053687] process_one_work+0x2a0/0x6e0 [ 19.058143] worker_thread+0x40/0x448 [ 19.062608] kthread+0x12c/0x130 [ 19.067064] ret_from_fork+0x10/0x1c [ 19.071513] irq event stamp: 12 [ 19.075937] hardirqs last enabled at (11): [] _raw_spin_unlock_irq+0x2c/0x60 [ 19.083560] hardirqs last disabled at (12): [] __schedule+0xc4/0xa60 [ 19.091401] softirqs last enabled at (0): [] copy_process.isra.4.part.5+0x4d8/0x1c50 [ 19.100801] softirqs last disabled at (0): [<0000000000000000>] (null) [ 19.108135] ---[ end trace 38c4920787b88c75 ]--- So, fix this by enabling the fast_io option in our regmap config so that regmap uses spinlocks for locking instead of mutexes. Signed-off-by: Lyude Paul Fixes: 3f68be7d8e96 ("drm/meson: Add support for HDMI encoder and DW-HDMI bridge + PHY") Cc: Daniel Vetter Cc: Neil Armstrong Cc: Carlo Caione Cc: Kevin Hilman Cc: dri-devel@lists.freedesktop.org Cc: linux-amlogic@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: # v4.12+ Acked-by: Neil Armstrong Signed-off-by: Neil Armstrong Link: https://patchwork.freedesktop.org/patch/msgid/20181124191238.28276-1-lyude@redhat.com Signed-off-by: Sean Paul Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -697,6 +697,7 @@ static const struct regmap_config meson_ .reg_read = meson_dw_hdmi_reg_read, .reg_write = meson_dw_hdmi_reg_write, .max_register = 0x10000, + .fast_io = true, }; static bool meson_hdmi_connector_is_available(struct device *dev) _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59BFCC04EBF for ; Thu, 6 Dec 2018 14:43:44 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1CFC120892 for ; Thu, 6 Dec 2018 14:43:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ftHXSAud"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="XCvsxGio" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1CFC120892 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6j0TDjnRQ6yxFKPYe7scVwrv1jiXaxGZD57d++S+uuU=; b=ftHXSAud9gfZI3 4gzIO7WM4y0lB+nFNfwxiEb2BWttAY+QE1PO38D+mXmdoQWQTZwb73c0FOPppilHbmyUVSQ9HwiTl IxdjHm5GUoj4mI76hsGj90+p11T4U7sFB7KrvJaKafFQR4oNx9IR5j3ibwbsUo4YReSqeceBF/jHS gJjEG1OCAr/tk5wj0IlBgyk/TbtyVJykijOMIbv3X+YyO+VL+VqNMXWwNHe3mEVzpDNDkME56T8Fk 9Nta4SDQdJzMqSe+qEcC6FPWp3QfyY324j6NfAEDGAfG94UAeiyj2UbUOfUbVOFpK1oTI+E/nxjwW Z3Ox3HfpuFekU8vtmyGQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUusK-0007GN-RY; Thu, 06 Dec 2018 14:43:36 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUusF-0007Al-GW; Thu, 06 Dec 2018 14:43:33 +0000 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 87CB620661; Thu, 6 Dec 2018 14:43:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544107401; bh=1U4fazW/kJweZs+82bFvGFee4C5OGMhN/gaURFDfn30=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XCvsxGiocpjn92iVqWDwG2ZHU2Wsknymk6ls0vP95pfmlhD3e7HbybZww27+mjmcE Z72AV68UqEJjnzDPxuulao4LbdJplO3c+1tDJDjl8u+nRaNf0fAnB7ggnx4abAkjlu qDzh1Od52XHM5y4lVxpD/bUkHh/csT+4NxngU6u4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Subject: [PATCH 4.14 20/55] drm/meson: Enable fast_io in meson_dw_hdmi_regmap_config Date: Thu, 6 Dec 2018 15:38:54 +0100 Message-Id: <20181206143002.814496909@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181206143001.749982936@linuxfoundation.org> References: <20181206143001.749982936@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181206_064331_615235_D05862CA X-CRM114-Status: GOOD ( 11.90 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lyude Paul , Neil Armstrong , Greg Kroah-Hartman , dri-devel@lists.freedesktop.org, stable@vger.kernel.org, Sean Paul , Kevin Hilman , Daniel Vetter , Carlo Caione , linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Lyude Paul commit 995b278e4723b26f8ebf0e7c119286d16c712747 upstream. Seeing as we use this registermap in the context of our IRQ handlers, we need to be using spinlocks for reading/writing registers so that we can still read them from IRQ handlers without having to grab any mutexes and accidentally sleep. We don't currently do this, as pointed out by lockdep: [ 18.403770] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:908 [ 18.406744] in_atomic(): 1, irqs_disabled(): 128, pid: 68, name: kworker/u17:0 [ 18.413864] INFO: lockdep is turned off. [ 18.417675] irq event stamp: 12 [ 18.420778] hardirqs last enabled at (11): [] _raw_spin_unlock_irq+0x2c/0x60 [ 18.429510] hardirqs last disabled at (12): [] __schedule+0xc4/0xa60 [ 18.437345] softirqs last enabled at (0): [] copy_process.isra.4.part.5+0x4d8/0x1c50 [ 18.446684] softirqs last disabled at (0): [<0000000000000000>] (null) [ 18.453979] CPU: 0 PID: 68 Comm: kworker/u17:0 Tainted: G W O 4.20.0-rc3Lyude-Test+ #9 [ 18.469839] Hardware name: amlogic khadas-vim2/khadas-vim2, BIOS 2018.07-rc2-armbian 09/11/2018 [ 18.480037] Workqueue: hci0 hci_power_on [bluetooth] [ 18.487138] Call trace: [ 18.494192] dump_backtrace+0x0/0x1b8 [ 18.501280] show_stack+0x14/0x20 [ 18.508361] dump_stack+0xbc/0xf4 [ 18.515427] ___might_sleep+0x140/0x1d8 [ 18.522515] __might_sleep+0x50/0x88 [ 18.529582] __mutex_lock+0x60/0x870 [ 18.536621] mutex_lock_nested+0x1c/0x28 [ 18.543660] regmap_lock_mutex+0x10/0x18 [ 18.550696] regmap_read+0x38/0x70 [ 18.557727] dw_hdmi_hardirq+0x58/0x138 [dw_hdmi] [ 18.564804] __handle_irq_event_percpu+0xac/0x410 [ 18.571891] handle_irq_event_percpu+0x34/0x88 [ 18.578982] handle_irq_event+0x48/0x78 [ 18.586051] handle_fasteoi_irq+0xac/0x160 [ 18.593061] generic_handle_irq+0x24/0x38 [ 18.599989] __handle_domain_irq+0x60/0xb8 [ 18.606857] gic_handle_irq+0x50/0xa0 [ 18.613659] el1_irq+0xb4/0x130 [ 18.620394] debug_lockdep_rcu_enabled+0x2c/0x30 [ 18.627111] schedule+0x38/0xa0 [ 18.633781] schedule_timeout+0x3a8/0x510 [ 18.640389] wait_for_common+0x15c/0x180 [ 18.646905] wait_for_completion+0x14/0x20 [ 18.653319] mmc_wait_for_req_done+0x28/0x168 [ 18.659693] mmc_wait_for_req+0xa8/0xe8 [ 18.665978] mmc_wait_for_cmd+0x64/0x98 [ 18.672180] mmc_io_rw_direct_host+0x94/0x130 [ 18.678385] mmc_io_rw_direct+0x10/0x18 [ 18.684516] sdio_enable_func+0xe8/0x1d0 [ 18.690627] btsdio_open+0x24/0xc0 [btsdio] [ 18.696821] hci_dev_do_open+0x64/0x598 [bluetooth] [ 18.703025] hci_power_on+0x50/0x270 [bluetooth] [ 18.709163] process_one_work+0x2a0/0x6e0 [ 18.715252] worker_thread+0x40/0x448 [ 18.721310] kthread+0x12c/0x130 [ 18.727326] ret_from_fork+0x10/0x1c [ 18.735555] ------------[ cut here ]------------ [ 18.741430] do not call blocking ops when !TASK_RUNNING; state=2 set at [<000000006265ec59>] wait_for_common+0x140/0x180 [ 18.752417] WARNING: CPU: 0 PID: 68 at kernel/sched/core.c:6096 __might_sleep+0x7c/0x88 [ 18.760553] Modules linked in: dm_mirror dm_region_hash dm_log dm_mod btsdio bluetooth snd_soc_hdmi_codec dw_hdmi_i2s_audio ecdh_generic brcmfmac brcmutil cfg80211 rfkill ir_nec_decoder meson_dw_hdmi(O) dw_hdmi rc_geekbox meson_rng meson_ir ao_cec rng_core rc_core cec leds_pwm efivars nfsd ip_tables x_tables crc32_generic f2fs uas meson_gxbb_wdt pwm_meson efivarfs ipv6 [ 18.799469] CPU: 0 PID: 68 Comm: kworker/u17:0 Tainted: G W O 4.20.0-rc3Lyude-Test+ #9 [ 18.808858] Hardware name: amlogic khadas-vim2/khadas-vim2, BIOS 2018.07-rc2-armbian 09/11/2018 [ 18.818045] Workqueue: hci0 hci_power_on [bluetooth] [ 18.824088] pstate: 80000085 (Nzcv daIf -PAN -UAO) [ 18.829891] pc : __might_sleep+0x7c/0x88 [ 18.835722] lr : __might_sleep+0x7c/0x88 [ 18.841256] sp : ffff000008003cb0 [ 18.846751] x29: ffff000008003cb0 x28: 0000000000000000 [ 18.852269] x27: ffff00000938e000 x26: ffff800010283000 [ 18.857726] x25: ffff800010353280 x24: ffff00000868ef50 [ 18.863166] x23: 0000000000000000 x22: 0000000000000000 [ 18.868551] x21: 0000000000000000 x20: 000000000000038c [ 18.873850] x19: ffff000008cd08c0 x18: 0000000000000010 [ 18.879081] x17: ffff000008a68cb0 x16: 0000000000000000 [ 18.884197] x15: 0000000000aaaaaa x14: 0e200e200e200e20 [ 18.889239] x13: 0000000000000001 x12: 00000000ffffffff [ 18.894261] x11: ffff000008adfa48 x10: 0000000000000001 [ 18.899517] x9 : ffff0000092a0158 x8 : 0000000000000000 [ 18.904674] x7 : ffff00000812136c x6 : 0000000000000000 [ 18.909895] x5 : 0000000000000000 x4 : 0000000000000001 [ 18.915080] x3 : 0000000000000007 x2 : 0000000000000007 [ 18.920269] x1 : 99ab8e9ebb6c8500 x0 : 0000000000000000 [ 18.925443] Call trace: [ 18.929904] __might_sleep+0x7c/0x88 [ 18.934311] __mutex_lock+0x60/0x870 [ 18.938687] mutex_lock_nested+0x1c/0x28 [ 18.943076] regmap_lock_mutex+0x10/0x18 [ 18.947453] regmap_read+0x38/0x70 [ 18.951842] dw_hdmi_hardirq+0x58/0x138 [dw_hdmi] [ 18.956269] __handle_irq_event_percpu+0xac/0x410 [ 18.960712] handle_irq_event_percpu+0x34/0x88 [ 18.965176] handle_irq_event+0x48/0x78 [ 18.969612] handle_fasteoi_irq+0xac/0x160 [ 18.974058] generic_handle_irq+0x24/0x38 [ 18.978501] __handle_domain_irq+0x60/0xb8 [ 18.982938] gic_handle_irq+0x50/0xa0 [ 18.987351] el1_irq+0xb4/0x130 [ 18.991734] debug_lockdep_rcu_enabled+0x2c/0x30 [ 18.996180] schedule+0x38/0xa0 [ 19.000609] schedule_timeout+0x3a8/0x510 [ 19.005064] wait_for_common+0x15c/0x180 [ 19.009513] wait_for_completion+0x14/0x20 [ 19.013951] mmc_wait_for_req_done+0x28/0x168 [ 19.018402] mmc_wait_for_req+0xa8/0xe8 [ 19.022809] mmc_wait_for_cmd+0x64/0x98 [ 19.027177] mmc_io_rw_direct_host+0x94/0x130 [ 19.031563] mmc_io_rw_direct+0x10/0x18 [ 19.035922] sdio_enable_func+0xe8/0x1d0 [ 19.040294] btsdio_open+0x24/0xc0 [btsdio] [ 19.044742] hci_dev_do_open+0x64/0x598 [bluetooth] [ 19.049228] hci_power_on+0x50/0x270 [bluetooth] [ 19.053687] process_one_work+0x2a0/0x6e0 [ 19.058143] worker_thread+0x40/0x448 [ 19.062608] kthread+0x12c/0x130 [ 19.067064] ret_from_fork+0x10/0x1c [ 19.071513] irq event stamp: 12 [ 19.075937] hardirqs last enabled at (11): [] _raw_spin_unlock_irq+0x2c/0x60 [ 19.083560] hardirqs last disabled at (12): [] __schedule+0xc4/0xa60 [ 19.091401] softirqs last enabled at (0): [] copy_process.isra.4.part.5+0x4d8/0x1c50 [ 19.100801] softirqs last disabled at (0): [<0000000000000000>] (null) [ 19.108135] ---[ end trace 38c4920787b88c75 ]--- So, fix this by enabling the fast_io option in our regmap config so that regmap uses spinlocks for locking instead of mutexes. Signed-off-by: Lyude Paul Fixes: 3f68be7d8e96 ("drm/meson: Add support for HDMI encoder and DW-HDMI bridge + PHY") Cc: Daniel Vetter Cc: Neil Armstrong Cc: Carlo Caione Cc: Kevin Hilman Cc: dri-devel@lists.freedesktop.org Cc: linux-amlogic@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: # v4.12+ Acked-by: Neil Armstrong Signed-off-by: Neil Armstrong Link: https://patchwork.freedesktop.org/patch/msgid/20181124191238.28276-1-lyude@redhat.com Signed-off-by: Sean Paul Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -697,6 +697,7 @@ static const struct regmap_config meson_ .reg_read = meson_dw_hdmi_reg_read, .reg_write = meson_dw_hdmi_reg_write, .max_register = 0x10000, + .fast_io = true, }; static bool meson_hdmi_connector_is_available(struct device *dev) _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 4.14 20/55] drm/meson: Enable fast_io in meson_dw_hdmi_regmap_config Date: Thu, 6 Dec 2018 15:38:54 +0100 Message-ID: <20181206143002.814496909@linuxfoundation.org> References: <20181206143001.749982936@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 277D56E5FA for ; Thu, 6 Dec 2018 14:43:21 +0000 (UTC) In-Reply-To: <20181206143001.749982936@linuxfoundation.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org Cc: Neil Armstrong , Greg Kroah-Hartman , dri-devel@lists.freedesktop.org, stable@vger.kernel.org, Sean Paul , Kevin Hilman , Daniel Vetter , Carlo Caione , linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org NC4xNC1zdGFibGUgcmV2aWV3IHBhdGNoLiAgSWYgYW55b25lIGhhcyBhbnkgb2JqZWN0aW9ucywg cGxlYXNlIGxldCBtZSBrbm93LgoKLS0tLS0tLS0tLS0tLS0tLS0tCgpGcm9tOiBMeXVkZSBQYXVs IDxseXVkZUByZWRoYXQuY29tPgoKY29tbWl0IDk5NWIyNzhlNDcyM2IyNmY4ZWJmMGU3YzExOTI4 NmQxNmM3MTI3NDcgdXBzdHJlYW0uCgpTZWVpbmcgYXMgd2UgdXNlIHRoaXMgcmVnaXN0ZXJtYXAg aW4gdGhlIGNvbnRleHQgb2Ygb3VyIElSUSBoYW5kbGVycywgd2UKbmVlZCB0byBiZSB1c2luZyBz cGlubG9ja3MgZm9yIHJlYWRpbmcvd3JpdGluZyByZWdpc3RlcnMgc28gdGhhdCB3ZSBjYW4Kc3Rp bGwgcmVhZCB0aGVtIGZyb20gSVJRIGhhbmRsZXJzIHdpdGhvdXQgaGF2aW5nIHRvIGdyYWIgYW55 IG11dGV4ZXMgYW5kCmFjY2lkZW50YWxseSBzbGVlcC4gV2UgZG9uJ3QgY3VycmVudGx5IGRvIHRo aXMsIGFzIHBvaW50ZWQgb3V0IGJ5CmxvY2tkZXA6CgpbICAgMTguNDAzNzcwXSBCVUc6IHNsZWVw aW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQgY29udGV4dCBhdCBrZXJuZWwvbG9ja2lu Zy9tdXRleC5jOjkwOApbICAgMTguNDA2NzQ0XSBpbl9hdG9taWMoKTogMSwgaXJxc19kaXNhYmxl ZCgpOiAxMjgsIHBpZDogNjgsIG5hbWU6IGt3b3JrZXIvdTE3OjAKWyAgIDE4LjQxMzg2NF0gSU5G TzogbG9ja2RlcCBpcyB0dXJuZWQgb2ZmLgpbICAgMTguNDE3Njc1XSBpcnEgZXZlbnQgc3RhbXA6 IDEyClsgICAxOC40MjA3NzhdIGhhcmRpcnFzIGxhc3QgIGVuYWJsZWQgYXQgKDExKTogWzxmZmZm MDAwMDA4YTRmNTdjPl0gX3Jhd19zcGluX3VubG9ja19pcnErMHgyYy8weDYwClsgICAxOC40Mjk1 MTBdIGhhcmRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDEyKTogWzxmZmZmMDAwMDA4YTQ4OTE0Pl0g X19zY2hlZHVsZSsweGM0LzB4YTYwClsgICAxOC40MzczNDVdIHNvZnRpcnFzIGxhc3QgIGVuYWJs ZWQgYXQgKDApOiBbPGZmZmYwMDAwMDgwYjU1ZTA+XSBjb3B5X3Byb2Nlc3MuaXNyYS40LnBhcnQu NSsweDRkOC8weDFjNTAKWyAgIDE4LjQ0NjY4NF0gc29mdGlycXMgbGFzdCBkaXNhYmxlZCBhdCAo MCk6IFs8MDAwMDAwMDAwMDAwMDAwMD5dICAgICAgICAgICAobnVsbCkKWyAgIDE4LjQ1Mzk3OV0g Q1BVOiAwIFBJRDogNjggQ29tbToga3dvcmtlci91MTc6MCBUYWludGVkOiBHICAgICAgICBXICBP ICAgICAgNC4yMC4wLXJjM0x5dWRlLVRlc3QrICM5ClsgICAxOC40Njk4MzldIEhhcmR3YXJlIG5h bWU6IGFtbG9naWMga2hhZGFzLXZpbTIva2hhZGFzLXZpbTIsIEJJT1MgMjAxOC4wNy1yYzItYXJt YmlhbiAwOS8xMS8yMDE4ClsgICAxOC40ODAwMzddIFdvcmtxdWV1ZTogaGNpMCBoY2lfcG93ZXJf b24gW2JsdWV0b290aF0KWyAgIDE4LjQ4NzEzOF0gQ2FsbCB0cmFjZToKWyAgIDE4LjQ5NDE5Ml0g IGR1bXBfYmFja3RyYWNlKzB4MC8weDFiOApbICAgMTguNTAxMjgwXSAgc2hvd19zdGFjaysweDE0 LzB4MjAKWyAgIDE4LjUwODM2MV0gIGR1bXBfc3RhY2srMHhiYy8weGY0ClsgICAxOC41MTU0Mjdd ICBfX19taWdodF9zbGVlcCsweDE0MC8weDFkOApbICAgMTguNTIyNTE1XSAgX19taWdodF9zbGVl cCsweDUwLzB4ODgKWyAgIDE4LjUyOTU4Ml0gIF9fbXV0ZXhfbG9jaysweDYwLzB4ODcwClsgICAx OC41MzY2MjFdICBtdXRleF9sb2NrX25lc3RlZCsweDFjLzB4MjgKWyAgIDE4LjU0MzY2MF0gIHJl Z21hcF9sb2NrX211dGV4KzB4MTAvMHgxOApbICAgMTguNTUwNjk2XSAgcmVnbWFwX3JlYWQrMHgz OC8weDcwClsgICAxOC41NTc3MjddICBkd19oZG1pX2hhcmRpcnErMHg1OC8weDEzOCBbZHdfaGRt aV0KWyAgIDE4LjU2NDgwNF0gIF9faGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHhhYy8weDQxMApb ICAgMTguNTcxODkxXSAgaGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgzNC8weDg4ClsgICAxOC41 Nzg5ODJdICBoYW5kbGVfaXJxX2V2ZW50KzB4NDgvMHg3OApbICAgMTguNTg2MDUxXSAgaGFuZGxl X2Zhc3Rlb2lfaXJxKzB4YWMvMHgxNjAKWyAgIDE4LjU5MzA2MV0gIGdlbmVyaWNfaGFuZGxlX2ly cSsweDI0LzB4MzgKWyAgIDE4LjU5OTk4OV0gIF9faGFuZGxlX2RvbWFpbl9pcnErMHg2MC8weGI4 ClsgICAxOC42MDY4NTddICBnaWNfaGFuZGxlX2lycSsweDUwLzB4YTAKWyAgIDE4LjYxMzY1OV0g IGVsMV9pcnErMHhiNC8weDEzMApbICAgMTguNjIwMzk0XSAgZGVidWdfbG9ja2RlcF9yY3VfZW5h YmxlZCsweDJjLzB4MzAKWyAgIDE4LjYyNzExMV0gIHNjaGVkdWxlKzB4MzgvMHhhMApbICAgMTgu NjMzNzgxXSAgc2NoZWR1bGVfdGltZW91dCsweDNhOC8weDUxMApbICAgMTguNjQwMzg5XSAgd2Fp dF9mb3JfY29tbW9uKzB4MTVjLzB4MTgwClsgICAxOC42NDY5MDVdICB3YWl0X2Zvcl9jb21wbGV0 aW9uKzB4MTQvMHgyMApbICAgMTguNjUzMzE5XSAgbW1jX3dhaXRfZm9yX3JlcV9kb25lKzB4Mjgv MHgxNjgKWyAgIDE4LjY1OTY5M10gIG1tY193YWl0X2Zvcl9yZXErMHhhOC8weGU4ClsgICAxOC42 NjU5NzhdICBtbWNfd2FpdF9mb3JfY21kKzB4NjQvMHg5OApbICAgMTguNjcyMTgwXSAgbW1jX2lv X3J3X2RpcmVjdF9ob3N0KzB4OTQvMHgxMzAKWyAgIDE4LjY3ODM4NV0gIG1tY19pb19yd19kaXJl Y3QrMHgxMC8weDE4ClsgICAxOC42ODQ1MTZdICBzZGlvX2VuYWJsZV9mdW5jKzB4ZTgvMHgxZDAK WyAgIDE4LjY5MDYyN10gIGJ0c2Rpb19vcGVuKzB4MjQvMHhjMCBbYnRzZGlvXQpbICAgMTguNjk2 ODIxXSAgaGNpX2Rldl9kb19vcGVuKzB4NjQvMHg1OTggW2JsdWV0b290aF0KWyAgIDE4LjcwMzAy NV0gIGhjaV9wb3dlcl9vbisweDUwLzB4MjcwIFtibHVldG9vdGhdClsgICAxOC43MDkxNjNdICBw cm9jZXNzX29uZV93b3JrKzB4MmEwLzB4NmUwClsgICAxOC43MTUyNTJdICB3b3JrZXJfdGhyZWFk KzB4NDAvMHg0NDgKWyAgIDE4LjcyMTMxMF0gIGt0aHJlYWQrMHgxMmMvMHgxMzAKWyAgIDE4Ljcy NzMyNl0gIHJldF9mcm9tX2ZvcmsrMHgxMC8weDFjClsgICAxOC43MzU1NTVdIC0tLS0tLS0tLS0t LVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpbICAgMTguNzQxNDMwXSBkbyBub3QgY2FsbCBibG9j a2luZyBvcHMgd2hlbiAhVEFTS19SVU5OSU5HOyBzdGF0ZT0yIHNldCBhdCBbPDAwMDAwMDAwNjI2 NWVjNTk+XSB3YWl0X2Zvcl9jb21tb24rMHgxNDAvMHgxODAKWyAgIDE4Ljc1MjQxN10gV0FSTklO RzogQ1BVOiAwIFBJRDogNjggYXQga2VybmVsL3NjaGVkL2NvcmUuYzo2MDk2IF9fbWlnaHRfc2xl ZXArMHg3Yy8weDg4ClsgICAxOC43NjA1NTNdIE1vZHVsZXMgbGlua2VkIGluOiBkbV9taXJyb3Ig ZG1fcmVnaW9uX2hhc2ggZG1fbG9nIGRtX21vZApidHNkaW8gYmx1ZXRvb3RoIHNuZF9zb2NfaGRt aV9jb2RlYyBkd19oZG1pX2kyc19hdWRpbyBlY2RoX2dlbmVyaWMKYnJjbWZtYWMgYnJjbXV0aWwg Y2ZnODAyMTEgcmZraWxsIGlyX25lY19kZWNvZGVyIG1lc29uX2R3X2hkbWkoTykKZHdfaGRtaSBy Y19nZWVrYm94IG1lc29uX3JuZyBtZXNvbl9pciBhb19jZWMgcm5nX2NvcmUgcmNfY29yZSBjZWMK bGVkc19wd20gZWZpdmFycyBuZnNkIGlwX3RhYmxlcyB4X3RhYmxlcyBjcmMzMl9nZW5lcmljIGYy ZnMgdWFzCm1lc29uX2d4YmJfd2R0IHB3bV9tZXNvbiBlZml2YXJmcyBpcHY2ClsgICAxOC43OTk0 NjldIENQVTogMCBQSUQ6IDY4IENvbW06IGt3b3JrZXIvdTE3OjAgVGFpbnRlZDogRyAgICAgICAg VyAgTyAgICAgIDQuMjAuMC1yYzNMeXVkZS1UZXN0KyAjOQpbICAgMTguODA4ODU4XSBIYXJkd2Fy ZSBuYW1lOiBhbWxvZ2ljIGtoYWRhcy12aW0yL2toYWRhcy12aW0yLCBCSU9TIDIwMTguMDctcmMy LWFybWJpYW4gMDkvMTEvMjAxOApbICAgMTguODE4MDQ1XSBXb3JrcXVldWU6IGhjaTAgaGNpX3Bv d2VyX29uIFtibHVldG9vdGhdClsgICAxOC44MjQwODhdIHBzdGF0ZTogODAwMDAwODUgKE56Y3Yg ZGFJZiAtUEFOIC1VQU8pClsgICAxOC44Mjk4OTFdIHBjIDogX19taWdodF9zbGVlcCsweDdjLzB4 ODgKWyAgIDE4LjgzNTcyMl0gbHIgOiBfX21pZ2h0X3NsZWVwKzB4N2MvMHg4OApbICAgMTguODQx MjU2XSBzcCA6IGZmZmYwMDAwMDgwMDNjYjAKWyAgIDE4Ljg0Njc1MV0geDI5OiBmZmZmMDAwMDA4 MDAzY2IwIHgyODogMDAwMDAwMDAwMDAwMDAwMApbICAgMTguODUyMjY5XSB4Mjc6IGZmZmYwMDAw MDkzOGUwMDAgeDI2OiBmZmZmODAwMDEwMjgzMDAwClsgICAxOC44NTc3MjZdIHgyNTogZmZmZjgw MDAxMDM1MzI4MCB4MjQ6IGZmZmYwMDAwMDg2OGVmNTAKWyAgIDE4Ljg2MzE2Nl0geDIzOiAwMDAw MDAwMDAwMDAwMDAwIHgyMjogMDAwMDAwMDAwMDAwMDAwMApbICAgMTguODY4NTUxXSB4MjE6IDAw MDAwMDAwMDAwMDAwMDAgeDIwOiAwMDAwMDAwMDAwMDAwMzhjClsgICAxOC44NzM4NTBdIHgxOTog ZmZmZjAwMDAwOGNkMDhjMCB4MTg6IDAwMDAwMDAwMDAwMDAwMTAKWyAgIDE4Ljg3OTA4MV0geDE3 OiBmZmZmMDAwMDA4YTY4Y2IwIHgxNjogMDAwMDAwMDAwMDAwMDAwMApbICAgMTguODg0MTk3XSB4 MTU6IDAwMDAwMDAwMDBhYWFhYWEgeDE0OiAwZTIwMGUyMDBlMjAwZTIwClsgICAxOC44ODkyMzld IHgxMzogMDAwMDAwMDAwMDAwMDAwMSB4MTI6IDAwMDAwMDAwZmZmZmZmZmYKWyAgIDE4Ljg5NDI2 MV0geDExOiBmZmZmMDAwMDA4YWRmYTQ4IHgxMDogMDAwMDAwMDAwMDAwMDAwMQpbICAgMTguODk5 NTE3XSB4OSA6IGZmZmYwMDAwMDkyYTAxNTggeDggOiAwMDAwMDAwMDAwMDAwMDAwClsgICAxOC45 MDQ2NzRdIHg3IDogZmZmZjAwMDAwODEyMTM2YyB4NiA6IDAwMDAwMDAwMDAwMDAwMDAKWyAgIDE4 LjkwOTg5NV0geDUgOiAwMDAwMDAwMDAwMDAwMDAwIHg0IDogMDAwMDAwMDAwMDAwMDAwMQpbICAg MTguOTE1MDgwXSB4MyA6IDAwMDAwMDAwMDAwMDAwMDcgeDIgOiAwMDAwMDAwMDAwMDAwMDA3Clsg ICAxOC45MjAyNjldIHgxIDogOTlhYjhlOWViYjZjODUwMCB4MCA6IDAwMDAwMDAwMDAwMDAwMDAK WyAgIDE4LjkyNTQ0M10gQ2FsbCB0cmFjZToKWyAgIDE4LjkyOTkwNF0gIF9fbWlnaHRfc2xlZXAr MHg3Yy8weDg4ClsgICAxOC45MzQzMTFdICBfX211dGV4X2xvY2srMHg2MC8weDg3MApbICAgMTgu OTM4Njg3XSAgbXV0ZXhfbG9ja19uZXN0ZWQrMHgxYy8weDI4ClsgICAxOC45NDMwNzZdICByZWdt YXBfbG9ja19tdXRleCsweDEwLzB4MTgKWyAgIDE4Ljk0NzQ1M10gIHJlZ21hcF9yZWFkKzB4Mzgv MHg3MApbICAgMTguOTUxODQyXSAgZHdfaGRtaV9oYXJkaXJxKzB4NTgvMHgxMzggW2R3X2hkbWld ClsgICAxOC45NTYyNjldICBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4YWMvMHg0MTAKWyAg IDE4Ljk2MDcxMl0gIGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MzQvMHg4OApbICAgMTguOTY1 MTc2XSAgaGFuZGxlX2lycV9ldmVudCsweDQ4LzB4NzgKWyAgIDE4Ljk2OTYxMl0gIGhhbmRsZV9m YXN0ZW9pX2lycSsweGFjLzB4MTYwClsgICAxOC45NzQwNThdICBnZW5lcmljX2hhbmRsZV9pcnEr MHgyNC8weDM4ClsgICAxOC45Nzg1MDFdICBfX2hhbmRsZV9kb21haW5faXJxKzB4NjAvMHhiOApb ICAgMTguOTgyOTM4XSAgZ2ljX2hhbmRsZV9pcnErMHg1MC8weGEwClsgICAxOC45ODczNTFdICBl bDFfaXJxKzB4YjQvMHgxMzAKWyAgIDE4Ljk5MTczNF0gIGRlYnVnX2xvY2tkZXBfcmN1X2VuYWJs ZWQrMHgyYy8weDMwClsgICAxOC45OTYxODBdICBzY2hlZHVsZSsweDM4LzB4YTAKWyAgIDE5LjAw MDYwOV0gIHNjaGVkdWxlX3RpbWVvdXQrMHgzYTgvMHg1MTAKWyAgIDE5LjAwNTA2NF0gIHdhaXRf Zm9yX2NvbW1vbisweDE1Yy8weDE4MApbICAgMTkuMDA5NTEzXSAgd2FpdF9mb3JfY29tcGxldGlv bisweDE0LzB4MjAKWyAgIDE5LjAxMzk1MV0gIG1tY193YWl0X2Zvcl9yZXFfZG9uZSsweDI4LzB4 MTY4ClsgICAxOS4wMTg0MDJdICBtbWNfd2FpdF9mb3JfcmVxKzB4YTgvMHhlOApbICAgMTkuMDIy ODA5XSAgbW1jX3dhaXRfZm9yX2NtZCsweDY0LzB4OTgKWyAgIDE5LjAyNzE3N10gIG1tY19pb19y d19kaXJlY3RfaG9zdCsweDk0LzB4MTMwClsgICAxOS4wMzE1NjNdICBtbWNfaW9fcndfZGlyZWN0 KzB4MTAvMHgxOApbICAgMTkuMDM1OTIyXSAgc2Rpb19lbmFibGVfZnVuYysweGU4LzB4MWQwClsg ICAxOS4wNDAyOTRdICBidHNkaW9fb3BlbisweDI0LzB4YzAgW2J0c2Rpb10KWyAgIDE5LjA0NDc0 Ml0gIGhjaV9kZXZfZG9fb3BlbisweDY0LzB4NTk4IFtibHVldG9vdGhdClsgICAxOS4wNDkyMjhd ICBoY2lfcG93ZXJfb24rMHg1MC8weDI3MCBbYmx1ZXRvb3RoXQpbICAgMTkuMDUzNjg3XSAgcHJv Y2Vzc19vbmVfd29yaysweDJhMC8weDZlMApbICAgMTkuMDU4MTQzXSAgd29ya2VyX3RocmVhZCsw eDQwLzB4NDQ4ClsgICAxOS4wNjI2MDhdICBrdGhyZWFkKzB4MTJjLzB4MTMwClsgICAxOS4wNjcw NjRdICByZXRfZnJvbV9mb3JrKzB4MTAvMHgxYwpbICAgMTkuMDcxNTEzXSBpcnEgZXZlbnQgc3Rh bXA6IDEyClsgICAxOS4wNzU5MzddIGhhcmRpcnFzIGxhc3QgIGVuYWJsZWQgYXQgKDExKTogWzxm ZmZmMDAwMDA4YTRmNTdjPl0gX3Jhd19zcGluX3VubG9ja19pcnErMHgyYy8weDYwClsgICAxOS4w ODM1NjBdIGhhcmRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDEyKTogWzxmZmZmMDAwMDA4YTQ4OTE0 Pl0gX19zY2hlZHVsZSsweGM0LzB4YTYwClsgICAxOS4wOTE0MDFdIHNvZnRpcnFzIGxhc3QgIGVu YWJsZWQgYXQgKDApOiBbPGZmZmYwMDAwMDgwYjU1ZTA+XSBjb3B5X3Byb2Nlc3MuaXNyYS40LnBh cnQuNSsweDRkOC8weDFjNTAKWyAgIDE5LjEwMDgwMV0gc29mdGlycXMgbGFzdCBkaXNhYmxlZCBh dCAoMCk6IFs8MDAwMDAwMDAwMDAwMDAwMD5dICAgICAgICAgICAobnVsbCkKWyAgIDE5LjEwODEz NV0gLS0tWyBlbmQgdHJhY2UgMzhjNDkyMDc4N2I4OGM3NSBdLS0tCgpTbywgZml4IHRoaXMgYnkg ZW5hYmxpbmcgdGhlIGZhc3RfaW8gb3B0aW9uIGluIG91ciByZWdtYXAgY29uZmlnIHNvIHRoYXQK cmVnbWFwIHVzZXMgc3BpbmxvY2tzIGZvciBsb2NraW5nIGluc3RlYWQgb2YgbXV0ZXhlcy4KClNp Z25lZC1vZmYtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CkZpeGVzOiAzZjY4YmU3 ZDhlOTYgKCJkcm0vbWVzb246IEFkZCBzdXBwb3J0IGZvciBIRE1JIGVuY29kZXIgYW5kIERXLUhE TUkgYnJpZGdlICsgUEhZIikKQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwu Y2g+CkNjOiBOZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+CkNjOiBDYXJs byBDYWlvbmUgPGNhcmxvQGNhaW9uZS5vcmc+CkNjOiBLZXZpbiBIaWxtYW4gPGtoaWxtYW5AYmF5 bGlicmUuY29tPgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogbGludXgt YW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKQ2M6IDxzdGFibGVAdmdlci5rZXJuZWwub3JnPiAjIHY0LjEyKwpBY2tlZC1i eTogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBOZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+Ckxpbms6IGh0dHBzOi8v cGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8yMDE4MTEyNDE5MTIzOC4yODI3 Ni0xLWx5dWRlQHJlZGhhdC5jb20KU2lnbmVkLW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBj aHJvbWl1bS5vcmc+ClNpZ25lZC1vZmYtYnk6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxp bnV4Zm91bmRhdGlvbi5vcmc+CgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kd19o ZG1pLmMgfCAgICAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKLS0tIGEvZHJp dmVycy9ncHUvZHJtL21lc29uL21lc29uX2R3X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bWVzb24vbWVzb25fZHdfaGRtaS5jCkBAIC02OTcsNiArNjk3LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCByZWdtYXBfY29uZmlnIG1lc29uXwogCS5yZWdfcmVhZCA9IG1lc29uX2R3X2hkbWlfcmVn X3JlYWQsCiAJLnJlZ193cml0ZSA9IG1lc29uX2R3X2hkbWlfcmVnX3dyaXRlLAogCS5tYXhfcmVn aXN0ZXIgPSAweDEwMDAwLAorCS5mYXN0X2lvID0gdHJ1ZSwKIH07CiAKIHN0YXRpYyBib29sIG1l c29uX2hkbWlfY29ubmVjdG9yX2lzX2F2YWlsYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYpCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CC52C04EB8 for ; Thu, 6 Dec 2018 14:43:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4F7CF21479 for ; Thu, 6 Dec 2018 14:43:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544107405; bh=1U4fazW/kJweZs+82bFvGFee4C5OGMhN/gaURFDfn30=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=afLPZr4/mvHmGBMTQ5PPiKkRca32SjqftKUUTucB35m4PYPdj60H63jxKjA9WXfGE Sk1aOwrSjU3GUV65Qs9KzR6t1DliaKUaIbVLHxI2GkTo5d81gX7XPgFo2lelVaBlDS VIRH7TpffjtxitNnDY2a3etqX7N7IZVZFJ/c8UX0= DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4F7CF21479 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730655AbeLFOnY (ORCPT ); Thu, 6 Dec 2018 09:43:24 -0500 Received: from mail.kernel.org ([198.145.29.99]:47712 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730626AbeLFOnW (ORCPT ); Thu, 6 Dec 2018 09:43:22 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 87CB620661; Thu, 6 Dec 2018 14:43:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544107401; bh=1U4fazW/kJweZs+82bFvGFee4C5OGMhN/gaURFDfn30=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XCvsxGiocpjn92iVqWDwG2ZHU2Wsknymk6ls0vP95pfmlhD3e7HbybZww27+mjmcE Z72AV68UqEJjnzDPxuulao4LbdJplO3c+1tDJDjl8u+nRaNf0fAnB7ggnx4abAkjlu qDzh1Od52XHM5y4lVxpD/bUkHh/csT+4NxngU6u4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lyude Paul , Daniel Vetter , Neil Armstrong , Carlo Caione , Kevin Hilman , dri-devel@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Sean Paul Subject: [PATCH 4.14 20/55] drm/meson: Enable fast_io in meson_dw_hdmi_regmap_config Date: Thu, 6 Dec 2018 15:38:54 +0100 Message-Id: <20181206143002.814496909@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181206143001.749982936@linuxfoundation.org> References: <20181206143001.749982936@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Lyude Paul commit 995b278e4723b26f8ebf0e7c119286d16c712747 upstream. Seeing as we use this registermap in the context of our IRQ handlers, we need to be using spinlocks for reading/writing registers so that we can still read them from IRQ handlers without having to grab any mutexes and accidentally sleep. We don't currently do this, as pointed out by lockdep: [ 18.403770] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:908 [ 18.406744] in_atomic(): 1, irqs_disabled(): 128, pid: 68, name: kworker/u17:0 [ 18.413864] INFO: lockdep is turned off. [ 18.417675] irq event stamp: 12 [ 18.420778] hardirqs last enabled at (11): [] _raw_spin_unlock_irq+0x2c/0x60 [ 18.429510] hardirqs last disabled at (12): [] __schedule+0xc4/0xa60 [ 18.437345] softirqs last enabled at (0): [] copy_process.isra.4.part.5+0x4d8/0x1c50 [ 18.446684] softirqs last disabled at (0): [<0000000000000000>] (null) [ 18.453979] CPU: 0 PID: 68 Comm: kworker/u17:0 Tainted: G W O 4.20.0-rc3Lyude-Test+ #9 [ 18.469839] Hardware name: amlogic khadas-vim2/khadas-vim2, BIOS 2018.07-rc2-armbian 09/11/2018 [ 18.480037] Workqueue: hci0 hci_power_on [bluetooth] [ 18.487138] Call trace: [ 18.494192] dump_backtrace+0x0/0x1b8 [ 18.501280] show_stack+0x14/0x20 [ 18.508361] dump_stack+0xbc/0xf4 [ 18.515427] ___might_sleep+0x140/0x1d8 [ 18.522515] __might_sleep+0x50/0x88 [ 18.529582] __mutex_lock+0x60/0x870 [ 18.536621] mutex_lock_nested+0x1c/0x28 [ 18.543660] regmap_lock_mutex+0x10/0x18 [ 18.550696] regmap_read+0x38/0x70 [ 18.557727] dw_hdmi_hardirq+0x58/0x138 [dw_hdmi] [ 18.564804] __handle_irq_event_percpu+0xac/0x410 [ 18.571891] handle_irq_event_percpu+0x34/0x88 [ 18.578982] handle_irq_event+0x48/0x78 [ 18.586051] handle_fasteoi_irq+0xac/0x160 [ 18.593061] generic_handle_irq+0x24/0x38 [ 18.599989] __handle_domain_irq+0x60/0xb8 [ 18.606857] gic_handle_irq+0x50/0xa0 [ 18.613659] el1_irq+0xb4/0x130 [ 18.620394] debug_lockdep_rcu_enabled+0x2c/0x30 [ 18.627111] schedule+0x38/0xa0 [ 18.633781] schedule_timeout+0x3a8/0x510 [ 18.640389] wait_for_common+0x15c/0x180 [ 18.646905] wait_for_completion+0x14/0x20 [ 18.653319] mmc_wait_for_req_done+0x28/0x168 [ 18.659693] mmc_wait_for_req+0xa8/0xe8 [ 18.665978] mmc_wait_for_cmd+0x64/0x98 [ 18.672180] mmc_io_rw_direct_host+0x94/0x130 [ 18.678385] mmc_io_rw_direct+0x10/0x18 [ 18.684516] sdio_enable_func+0xe8/0x1d0 [ 18.690627] btsdio_open+0x24/0xc0 [btsdio] [ 18.696821] hci_dev_do_open+0x64/0x598 [bluetooth] [ 18.703025] hci_power_on+0x50/0x270 [bluetooth] [ 18.709163] process_one_work+0x2a0/0x6e0 [ 18.715252] worker_thread+0x40/0x448 [ 18.721310] kthread+0x12c/0x130 [ 18.727326] ret_from_fork+0x10/0x1c [ 18.735555] ------------[ cut here ]------------ [ 18.741430] do not call blocking ops when !TASK_RUNNING; state=2 set at [<000000006265ec59>] wait_for_common+0x140/0x180 [ 18.752417] WARNING: CPU: 0 PID: 68 at kernel/sched/core.c:6096 __might_sleep+0x7c/0x88 [ 18.760553] Modules linked in: dm_mirror dm_region_hash dm_log dm_mod btsdio bluetooth snd_soc_hdmi_codec dw_hdmi_i2s_audio ecdh_generic brcmfmac brcmutil cfg80211 rfkill ir_nec_decoder meson_dw_hdmi(O) dw_hdmi rc_geekbox meson_rng meson_ir ao_cec rng_core rc_core cec leds_pwm efivars nfsd ip_tables x_tables crc32_generic f2fs uas meson_gxbb_wdt pwm_meson efivarfs ipv6 [ 18.799469] CPU: 0 PID: 68 Comm: kworker/u17:0 Tainted: G W O 4.20.0-rc3Lyude-Test+ #9 [ 18.808858] Hardware name: amlogic khadas-vim2/khadas-vim2, BIOS 2018.07-rc2-armbian 09/11/2018 [ 18.818045] Workqueue: hci0 hci_power_on [bluetooth] [ 18.824088] pstate: 80000085 (Nzcv daIf -PAN -UAO) [ 18.829891] pc : __might_sleep+0x7c/0x88 [ 18.835722] lr : __might_sleep+0x7c/0x88 [ 18.841256] sp : ffff000008003cb0 [ 18.846751] x29: ffff000008003cb0 x28: 0000000000000000 [ 18.852269] x27: ffff00000938e000 x26: ffff800010283000 [ 18.857726] x25: ffff800010353280 x24: ffff00000868ef50 [ 18.863166] x23: 0000000000000000 x22: 0000000000000000 [ 18.868551] x21: 0000000000000000 x20: 000000000000038c [ 18.873850] x19: ffff000008cd08c0 x18: 0000000000000010 [ 18.879081] x17: ffff000008a68cb0 x16: 0000000000000000 [ 18.884197] x15: 0000000000aaaaaa x14: 0e200e200e200e20 [ 18.889239] x13: 0000000000000001 x12: 00000000ffffffff [ 18.894261] x11: ffff000008adfa48 x10: 0000000000000001 [ 18.899517] x9 : ffff0000092a0158 x8 : 0000000000000000 [ 18.904674] x7 : ffff00000812136c x6 : 0000000000000000 [ 18.909895] x5 : 0000000000000000 x4 : 0000000000000001 [ 18.915080] x3 : 0000000000000007 x2 : 0000000000000007 [ 18.920269] x1 : 99ab8e9ebb6c8500 x0 : 0000000000000000 [ 18.925443] Call trace: [ 18.929904] __might_sleep+0x7c/0x88 [ 18.934311] __mutex_lock+0x60/0x870 [ 18.938687] mutex_lock_nested+0x1c/0x28 [ 18.943076] regmap_lock_mutex+0x10/0x18 [ 18.947453] regmap_read+0x38/0x70 [ 18.951842] dw_hdmi_hardirq+0x58/0x138 [dw_hdmi] [ 18.956269] __handle_irq_event_percpu+0xac/0x410 [ 18.960712] handle_irq_event_percpu+0x34/0x88 [ 18.965176] handle_irq_event+0x48/0x78 [ 18.969612] handle_fasteoi_irq+0xac/0x160 [ 18.974058] generic_handle_irq+0x24/0x38 [ 18.978501] __handle_domain_irq+0x60/0xb8 [ 18.982938] gic_handle_irq+0x50/0xa0 [ 18.987351] el1_irq+0xb4/0x130 [ 18.991734] debug_lockdep_rcu_enabled+0x2c/0x30 [ 18.996180] schedule+0x38/0xa0 [ 19.000609] schedule_timeout+0x3a8/0x510 [ 19.005064] wait_for_common+0x15c/0x180 [ 19.009513] wait_for_completion+0x14/0x20 [ 19.013951] mmc_wait_for_req_done+0x28/0x168 [ 19.018402] mmc_wait_for_req+0xa8/0xe8 [ 19.022809] mmc_wait_for_cmd+0x64/0x98 [ 19.027177] mmc_io_rw_direct_host+0x94/0x130 [ 19.031563] mmc_io_rw_direct+0x10/0x18 [ 19.035922] sdio_enable_func+0xe8/0x1d0 [ 19.040294] btsdio_open+0x24/0xc0 [btsdio] [ 19.044742] hci_dev_do_open+0x64/0x598 [bluetooth] [ 19.049228] hci_power_on+0x50/0x270 [bluetooth] [ 19.053687] process_one_work+0x2a0/0x6e0 [ 19.058143] worker_thread+0x40/0x448 [ 19.062608] kthread+0x12c/0x130 [ 19.067064] ret_from_fork+0x10/0x1c [ 19.071513] irq event stamp: 12 [ 19.075937] hardirqs last enabled at (11): [] _raw_spin_unlock_irq+0x2c/0x60 [ 19.083560] hardirqs last disabled at (12): [] __schedule+0xc4/0xa60 [ 19.091401] softirqs last enabled at (0): [] copy_process.isra.4.part.5+0x4d8/0x1c50 [ 19.100801] softirqs last disabled at (0): [<0000000000000000>] (null) [ 19.108135] ---[ end trace 38c4920787b88c75 ]--- So, fix this by enabling the fast_io option in our regmap config so that regmap uses spinlocks for locking instead of mutexes. Signed-off-by: Lyude Paul Fixes: 3f68be7d8e96 ("drm/meson: Add support for HDMI encoder and DW-HDMI bridge + PHY") Cc: Daniel Vetter Cc: Neil Armstrong Cc: Carlo Caione Cc: Kevin Hilman Cc: dri-devel@lists.freedesktop.org Cc: linux-amlogic@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: # v4.12+ Acked-by: Neil Armstrong Signed-off-by: Neil Armstrong Link: https://patchwork.freedesktop.org/patch/msgid/20181124191238.28276-1-lyude@redhat.com Signed-off-by: Sean Paul Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -697,6 +697,7 @@ static const struct regmap_config meson_ .reg_read = meson_dw_hdmi_reg_read, .reg_write = meson_dw_hdmi_reg_write, .max_register = 0x10000, + .fast_io = true, }; static bool meson_hdmi_connector_is_available(struct device *dev)