Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4252093pxf; Tue, 6 Apr 2021 11:29:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweUMhmW5H2Dlyh1cOZGMqeHv4iyVbCQqFDDKDJN8g1Mp+KB21+4XZBIj69XDSFSUyyj900 X-Received: by 2002:a02:b197:: with SMTP id t23mr3050953jah.125.1617733791137; Tue, 06 Apr 2021 11:29:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617733791; cv=none; d=google.com; s=arc-20160816; b=MryN4fX0iKduEKqLKyzfcO1Qa6hlxnHLozk7BNqCMtEwcxWldu1uNtdQzEt7nFuHfZ gz7l+d+R9+jMNj6CJRYQafejCTieAleLsYOC9im8odFZ6M+PyJ7P+zq9ugQvgR+Tv4Ce jPx8HssbkC3ned8BdI2RWUvlfbbJxAUWIQtiw7t77UOfUf/W5ii+sfpaI8qrRP5MiwYp WKl1CiXmgiGJaKoGCh8PvdhxBh2f6eVJeCZx5bJmzc7hFPA+UiSSf4DFhiijmH48yCiH 1k+SUouqSSP4kGIgc21kgnZUiiaUAmVcWUR2tB9sPZYPPoGyydakbO1Q8bk0INkYJugU dRpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=72WoUA24MzuQEO07++c19x7LLdjhNoEJkTL47xe+iGs=; b=sDJLz+ckyXJeHbj6Nb6OOVmrE2maZM4HMB9H58FcqtjUk2TFl/he39Nk/l/FcSOq6R Md6cFfTUN9O2tg3O5ktNRQuKVICM/VZqZjinG9ZPxfZs8X7feqRELghk0O80fjgtVASB QOKMYRKZYvK6QpTqHEC8m4Axpk761BDlLLOPz4Dh4t6tbSUDO/CWfIbq2LlgJ/74dFXy YF0DEfoKqtSVH9/NYlPobviTTvQnQlJCHE6vBPM6eA0R92LQsHVf4oAWLs54xFfqgaE+ sxtZGVRllkjIuIacZLRCwkjNWSPsQaHQmq8fc4n5gOe4tf+hy+blrltOJIerE7FhEn3x Z2SA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r28si17860811jao.125.2021.04.06.11.29.38; Tue, 06 Apr 2021 11:29:51 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233892AbhDFJZk (ORCPT + 99 others); Tue, 6 Apr 2021 05:25:40 -0400 Received: from mail.loongson.cn ([114.242.206.163]:34918 "EHLO loongson.cn" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S233847AbhDFJZa (ORCPT ); Tue, 6 Apr 2021 05:25:30 -0400 Received: from linux.localdomain (unknown [113.200.148.30]) by mail.loongson.cn (Coremail) with SMTP id AQAAf9Dxv8v4KGxgmMAEAA--.8923S2; Tue, 06 Apr 2021 17:25:13 +0800 (CST) From: Tiezhu Yang To: Thomas Bogendoerfer , Huacai Chen , Jiaxun Yang Cc: linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Xuefeng Li Subject: [PATCH RFC] MIPS: Loongson64: Use _CACHE_UNCACHED instead of _CACHE_UNCACHED_ACCELERATED Date: Tue, 6 Apr 2021 17:25:12 +0800 Message-Id: <1617701112-14007-1-git-send-email-yangtiezhu@loongson.cn> X-Mailer: git-send-email 2.1.0 X-CM-TRANSID: AQAAf9Dxv8v4KGxgmMAEAA--.8923S2 X-Coremail-Antispam: 1UD129KBjvJXoWxGFWUJw4rCF17Ww4kKF4kJFb_yoW5Xry8pF 4jkwsxKr48KrykKF9rGry0gry5urn8AFW3GF13C3yDZasIqF1UWwn2qFW5Kr40vr1xtw10 vFZ29ry5Ka18uw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkq14x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4j 6r4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Gr0_Cr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY02Avz4vE14v_GFWl 42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJV WUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAK I48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r 4UMIIF0xvE42xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF 0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7VUUPl13UUUUU== X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Loongson64 processors have a writecombine issue that maybe failed to write back framebuffer used with ATI Radeon or AMD GPU at times, after commit 8a08e50cee66 ("drm: Permit video-buffers writecombine mapping for MIPS"), there exists some errors such as blurred screen and lockup, and so on. [ 60.958721] radeon 0000:03:00.0: ring 0 stalled for more than 10079msec [ 60.965315] radeon 0000:03:00.0: GPU lockup (current fence id 0x0000000000000112 last fence id 0x000000000000011d on ring 0) [ 60.976525] radeon 0000:03:00.0: ring 3 stalled for more than 10086msec [ 60.983156] radeon 0000:03:00.0: GPU lockup (current fence id 0x0000000000000374 last fence id 0x00000000000003a8 on ring 3) As discussed earlier [1], it might be better to disable writecombine on the CPU detection side because the root cause is unknown now. Actually, this patch is a temporary solution to just make it work well, it is not a proper and final solution, I hope someone will have a better solution to fix this issue in the future. [1] https://lore.kernel.org/patchwork/patch/1285542/ Signed-off-by: Tiezhu Yang --- Hi Thomas, If you are OK with this change, could you please apply it to mips-next? Then, no need to do this change manually every time when update the mainline kernel. arch/mips/kernel/cpu-probe.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index b718920..0ef240a 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c @@ -1752,7 +1752,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) set_isa(c, MIPS_CPU_ISA_M64R2); break; } - c->writecombine = _CACHE_UNCACHED_ACCELERATED; c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT | MIPS_ASE_LOONGSON_EXT2); break; @@ -1782,7 +1781,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) * register, we correct it here. */ c->options |= MIPS_CPU_FTLB | MIPS_CPU_TLBINV | MIPS_CPU_LDPTE; - c->writecombine = _CACHE_UNCACHED_ACCELERATED; c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_CAM | MIPS_ASE_LOONGSON_EXT | MIPS_ASE_LOONGSON_EXT2); c->ases &= ~MIPS_ASE_VZ; /* VZ of Loongson-3A2000/3000 is incomplete */ @@ -1793,7 +1791,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) set_elf_platform(cpu, "loongson3a"); set_isa(c, MIPS_CPU_ISA_M64R2); decode_cpucfg(c); - c->writecombine = _CACHE_UNCACHED_ACCELERATED; break; default: panic("Unknown Loongson Processor ID!"); -- 2.1.0