Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3082429ybt; Mon, 29 Jun 2020 14:53:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpGo6AIh4Qgac6dSRWaH0CAVk1QTV63pUzkvAJJP0iLOrvmJgHeb4Id+9A7DbO1DIVQmBQ X-Received: by 2002:a17:906:3a0d:: with SMTP id z13mr8366751eje.109.1593467622031; Mon, 29 Jun 2020 14:53:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593467622; cv=none; d=google.com; s=arc-20160816; b=iZsgBtsBJTpw9l5mqEqPK9Pw4s3NJJEs3ceNwzuYNt8jZMQJSngg60KZ6U7csf7yUM 29/5R1etXZe1UmFiI2WUmAga4f8cAEuYEE0ADbwqUpWm6RwVY6mG0ZEjMDQYlrKNzqhR XhC7ch7a3dxWHcKPJ8I+BO/UHPLHVuIKwF+gMSm9xJYh2XUG3s4SE/S0taXV1EShRoDx CMmPQ78fHy7FkWWUe6jwQGb06A2LevA5OoMi8ENlw6ZsMCYVeczsTkrC6cI0BjdsZpin HZALfZatcKwfdysTb4mEDX89M4q4RlL6NiHZFzTBKo8CubnHVjjJPnOMnEkwqb/cbm/I IqmA== 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=NwDhl//XKImaLgZc95sYnocBgayNy01kvxg+NBrP4zs=; b=QQHPomYKeBSvPw//ArvkOhDSLXPF01rYTpbzOn7x3+U17dpTBiWu2G3b/pVcL++fja qziD5cuoN1hstiHJ975iiBaba5mK7PZeBOwWCMVhw7NVM3fqKPG8ZARJQxsu7qnFz9Ca OSSt+mMSu/7fGxioo357Wd7UXro1/fNhcKo2qvNtPzJgnmqwCz6KUTqyG8Pv+wygPERm 2tdm7Ucb3Xm8mY1KijMzFq5FnqszH5YB6uAHyMLNuvRAUQkqwIpNlBzdDnO0nK/e3pKc lXPBI7D1fTrwHL5gF+83+fQ5ExcP87NnTKUeWF92YW/iOsGWJ4gyFM6ng88cU7/d9As1 VRAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EntbLoIQ; 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 p26si477201edy.181.2020.06.29.14.53.19; Mon, 29 Jun 2020 14:53:42 -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=EntbLoIQ; 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 S2404076AbgF2VuX (ORCPT + 99 others); Mon, 29 Jun 2020 17:50:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:56890 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726683AbgF2Sfl (ORCPT ); Mon, 29 Jun 2020 14:35:41 -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 83AF02468C; Mon, 29 Jun 2020 15:19:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593443989; bh=wcQcA47lG8JO3J8wMkcFyxnxenbxyubQuyfqn2fKReY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EntbLoIQmj52KqixuMUqSvyp0w+KUj94pfcllsrdNmPm2S//qbzhxHhMPuzpx/DWB MeZistJ0FeUC+EVW2tG7/wdK5UcQGdTIu9N0K16zD5vaiH9hmi/HuCsrKPbY03bLFC 4C4bJfHvAMPRR33peK/efvPv1VGqOXvyC03MGfXE= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Tony Lindgren , Sasha Levin Subject: [PATCH 5.7 093/265] bus: ti-sysc: Flush posted write on enable and disable Date: Mon, 29 Jun 2020 11:15:26 -0400 Message-Id: <20200629151818.2493727-94-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200629151818.2493727-1-sashal@kernel.org> References: <20200629151818.2493727-1-sashal@kernel.org> MIME-Version: 1.0 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.7.7-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-5.7.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 5.7.7-rc1 X-KernelTest-Deadline: 2020-07-01T15:14+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 e5f5f48d69d2f..369c97c3e0c0b 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -991,6 +991,9 @@ set_autoidle: sysc_write_sysconfig(ddata, reg); } + /* Flush posted write */ + sysc_read(ddata, ddata->offsets[SYSC_SYSCONFIG]); + if (ddata->module_enable_quirk) ddata->module_enable_quirk(ddata); @@ -1071,6 +1074,9 @@ set_sidle: reg |= 1 << regbits->autoidle_shift; sysc_write_sysconfig(ddata, reg); + /* Flush posted write */ + sysc_read(ddata, ddata->offsets[SYSC_SYSCONFIG]); + return 0; } -- 2.25.1