Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3015092ybt; Mon, 29 Jun 2020 12:58:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxl2n5186ss2gA0vzSo/mLf5N2KPBr9M0m5ZDF8ox4fMs2kE5s9r1apCZgLqOEHfVxzr/+I X-Received: by 2002:aa7:d446:: with SMTP id q6mr19665965edr.218.1593460738651; Mon, 29 Jun 2020 12:58:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593460738; cv=none; d=google.com; s=arc-20160816; b=tH9bFbz31PYzykXD8tCbXatMp1K3GNTXRRlVYVp/vg8KLKAGTpdZhGVjB/8mgqCBaN /M98LrsB2A2Q/9zoGlu4g74RwNoLwUjm6OEw01Mt2FMvzbtb+82Ammowe7EJG9WMZ5o8 LaBFaVwaVpXhhO5P1ZPB2Sq5P5sDO3ISqiMC69EYb1mOXGBl8wslPTJgVxVZVvNSaf53 bpFNz9bVHRzxaYrCroE3sqtDrgKTjfk15umIlDpwUEv3whFnDowqukiTgFGsH/hoVYcH 3LEgpvnY3pIiaq3q7rzvckx+kltlQ75YX1Lf2TyqH5k994uum2VwHGnQvdE+H+T6/ucJ gd+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WpIkSFTXZOZSM4SB+FohXSlMuy23sEhdZkehcVvl9y0=; b=q9QiEdy9dS0NgfflSx2Jo5f9CX8sHdAzWecUSIqXBD1Gsq5ZtfIubzc7xr5BAnhJEE OTlJ9vLOGc4jnj7CGZPB57G3LtsM0Xbo7EIs0e61NMtq00G0oU92Yu3DmT8SB0+jMdLR 8AtGr8XMlsjrFXT4AQuy2sq8xTFwKr/iWP8pxk2KCanR/MLffwIGIXYY2TH9lLdHlN3i zOKXAxzl387LEi1I0c8y6G2ZQxDWSvY4RPN1P5NGHgdpthza60pOYypuer8rx3nJ5KIp Tt9BEJa87LMPXMzkZl6FEDFikPtwTK/EoS//QrR1Uyj2EeKIUl9uFbEtSfghIClQGan1 kodQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=oLB+hVjh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b18si336284ejb.89.2020.06.29.12.58.35; Mon, 29 Jun 2020 12:58:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=oLB+hVjh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388450AbgF2T4g (ORCPT + 99 others); Mon, 29 Jun 2020 15:56:36 -0400 Received: from mail.kernel.org ([198.145.29.99]:47676 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387639AbgF2TkY (ORCPT ); Mon, 29 Jun 2020 15:40:24 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CEE0824885; Mon, 29 Jun 2020 15:26:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593444384; bh=HfZiEGyAU4+9OTJfIbM4lsIBBzpqkTQDxAY0fLZh2EA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oLB+hVjhKjxQJlOACGtD1QUwShZKee7Vs+L6o2fAVU2RzHXl4dNwjGehuiKEpYhy8 afcf0QyrCf5OvxrzmdZSnIqU0aWg0FH0ee8YjrpDPuFNwc6efAHgjARx4UzxEkOoPM zcSSZDrok0nfuB1E1XUgkXyl9DgcPbGX+R5b53pU= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Tony Lindgren , Sasha Levin Subject: [PATCH 5.4 061/178] bus: ti-sysc: Flush posted write on enable and disable Date: Mon, 29 Jun 2020 11:23:26 -0400 Message-Id: <20200629152523.2494198-62-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200629152523.2494198-1-sashal@kernel.org> References: <20200629152523.2494198-1-sashal@kernel.org> MIME-Version: 1.0 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.50-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-5.4.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 5.4.50-rc1 X-KernelTest-Deadline: 2020-07-01T15:25+00:00 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tony Lindgren [ Upstream commit 5ce8aee81be6c8bc19051d7c7b0d3cbb7ac5fc3f ] Looks like we're missing flush of posted write after module enable and disable. I've seen occasional errors accessing various modules, and it is suspected that the lack of posted writes can also cause random reboots. The errors we can see are similar to the one below from spi for example: 44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4CFG (Read): Data Access in User mode during Functional access ... mcspi_wait_for_reg_bit omap2_mcspi_transfer_one spi_transfer_one_message ... We also want to also flush posted write for disable. The clkctrl clock disable happens after module disable, and we don't want to have the module potentially stay active while we're trying to disable the clock. Fixes: d59b60564cbf ("bus: ti-sysc: Add generic enable/disable functions") Signed-off-by: Tony Lindgren Signed-off-by: Sasha Levin --- drivers/bus/ti-sysc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index f0bc0841cbc40..c088c6f4adcff 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -938,6 +938,9 @@ static int sysc_enable_module(struct device *dev) sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); } + /* Flush posted write */ + sysc_read(ddata, ddata->offsets[SYSC_SYSCONFIG]); + if (ddata->module_enable_quirk) ddata->module_enable_quirk(ddata); @@ -1018,6 +1021,9 @@ static int sysc_disable_module(struct device *dev) reg |= 1 << regbits->autoidle_shift; sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); + /* Flush posted write */ + sysc_read(ddata, ddata->offsets[SYSC_SYSCONFIG]); + return 0; } -- 2.25.1