Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4936619pxj; Wed, 9 Jun 2021 05:41:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzxjKyr9dKVCTEo6zkid1jDePucoZw4GvMCup296BjlRLJDlnIryBf4gX80iawlDQPE1uTG X-Received: by 2002:a17:906:2bc9:: with SMTP id n9mr17782159ejg.507.1623242475181; Wed, 09 Jun 2021 05:41:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623242475; cv=none; d=google.com; s=arc-20160816; b=LCPRaJeKSN3V8U2jfWu32DlfLK6nvdA5175+/Km9wkbyLLnrxUTY+7nvydr5xmjMpL NYNKcDHJ9ZyoKLs5XDQXRN2jM5AYi1jdWeUvAT6zUFO0YVn5xSSa19gGHldCywLb4Nxw L/6pQnmnUmXhrwKL6z5FdWM6fQhqB2sutxzPW37ozEasFTrtQNvNH8bO4vJPoiLZgqyH Eg0kDNR6JUQmHsQbi0rZMtKZkArMdeMLU8tQhzaTp/zFQwWMNYWOLU8DeXQ5gQ+CcgGX 2uVk7oq1l2oupaaQJwJCY/RogfH0A3XnVsllnBkiU67dlFSaPV7WbaDWfOQpbQPhv3MD 2ucw== 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=CV9DVIYnDhmiuypgHE9inmSUGm9vAyIpavWCRElKNws=; b=09IMau/wiNEylGGktSv4BTWawcQBIBQTB4/XpAkPfDdXaV/8U4kgd+dF8T0t74aJhT Hre/4D4iIDZzcA9If/QdmIxQSas1friZpR4XVA8DokeOFlA0JdgpFNt5JDq97h87swGY TIP3OgFDmY9vsrOnWzahaowcqD7N0Jl5SJtbarrHeeBcKs2bqQeQwWUz2TaPGG3hev1e jy8ckbOS1Z1IXsG8tpG2mDzrqEfW7A67QCByrXSOfroZRUgvvGu+psMv+klD62W4U4zv YK50/oJ8aRuKJcDnO5LvuBqrcNRjHCdGfOZ002F6godk6j8IOwauztVM6Q1Cgyxy/2/h e6Lg== 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 g4si2252135ejj.325.2021.06.09.05.40.52; Wed, 09 Jun 2021 05:41:15 -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 S233353AbhFID5M (ORCPT + 99 others); Tue, 8 Jun 2021 23:57:12 -0400 Received: from mail.loongson.cn ([114.242.206.163]:37780 "EHLO loongson.cn" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232911AbhFID5L (ORCPT ); Tue, 8 Jun 2021 23:57:11 -0400 Received: from linux.localdomain (unknown [113.200.148.30]) by mail.loongson.cn (Coremail) with SMTP id AQAAf9Dxz0CgO8BgUIINAA--.16882S2; Wed, 09 Jun 2021 11:55:13 +0800 (CST) From: Tiezhu Yang To: Alex Deucher , christian.koenig@amd.com, David Airlie , Daniel Vetter Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Xuefeng Li , Jianmin Lv Subject: [PATCH v3] drm/radeon: Call radeon_suspend_kms() in radeon_pci_shutdown() for Loongson64 Date: Wed, 9 Jun 2021 11:55:10 +0800 Message-Id: <1623210910-20057-1-git-send-email-yangtiezhu@loongson.cn> X-Mailer: git-send-email 2.1.0 X-CM-TRANSID: AQAAf9Dxz0CgO8BgUIINAA--.16882S2 X-Coremail-Antispam: 1UD129KBjvJXoW7Zw1fCFWrGF1DtrWUAFykGrg_yoW8AF45pr srG39rKwnakFWYka47AFW7Xry5A34kXay8ZrWDKw4DW3s8JrZayrnaqrW3Jryv9rWxtF12 vF1kGw1ruan7CFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUvC14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4j 6r4UJwA2z4x0Y4vEx4A2jsIE14v26F4UJVW0owA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E 2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lc7CjxVAaw2AFwI0_ Jw0_GFylc2xSY4AK67AK6r48MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r 4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF 67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2I x0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Wr1j6rW3Jr1lIxAI cVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2Kf nxnUUI43ZEXa7VUjm9aPUUUUU== X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On the Loongson64 platform used with Radeon GPU, shutdown or reboot failed when console=tty is in the boot cmdline. radeon_suspend_kms() puts the hw in the suspend state, especially set fb state as FBINFO_STATE_SUSPENDED: if (fbcon) { console_lock(); radeon_fbdev_set_suspend(rdev, 1); console_unlock(); } Then avoid to do any more fb operations in the related functions: if (p->state != FBINFO_STATE_RUNNING) return; So call radeon_suspend_kms() in radeon_pci_shutdown() for Loongson64 to fix this issue, it looks like some kind of workaround like powerpc. Co-developed-by: Jianmin Lv Signed-off-by: Jianmin Lv Signed-off-by: Tiezhu Yang --- v3: Fix typo "becauase" in the original comment drivers/gpu/drm/radeon/radeon_drv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index efeb115..40aece3 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -386,13 +386,13 @@ radeon_pci_shutdown(struct pci_dev *pdev) if (radeon_device_is_virtual()) radeon_pci_remove(pdev); -#ifdef CONFIG_PPC64 +#if defined(CONFIG_PPC64) || defined(CONFIG_MACH_LOONGSON64) /* * Some adapters need to be suspended before a * shutdown occurs in order to prevent an error - * during kexec. - * Make this power specific becauase it breaks - * some non-power boards. + * during kexec, shutdown or reboot. + * Make this power and Loongson specific because + * it breaks some other boards. */ radeon_suspend_kms(pci_get_drvdata(pdev), true, true, false); #endif -- 2.1.0