Received: by 2002:a05:6358:bb9e:b0:b9:5105:a5b4 with SMTP id df30csp4524274rwb; Tue, 6 Sep 2022 08:40:35 -0700 (PDT) X-Google-Smtp-Source: AA6agR7VeeQ5rIZIleq3jTzHHZzNSrMuVIidrrxmSuMcUa3zLr8P6ZzMQo/TTkEq2eO4yxx/nfiD X-Received: by 2002:a05:6a00:124d:b0:538:148b:b989 with SMTP id u13-20020a056a00124d00b00538148bb989mr47506049pfi.82.1662478835555; Tue, 06 Sep 2022 08:40:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662478835; cv=none; d=google.com; s=arc-20160816; b=AYoNzaxI/918TKQpYJ09NOhw2u02q9OB7kVIXD5YFQm7yo6s5DS3lfWzr1Ao/FgSCl 54dRzrtgF0jDDhkFK6uevbae5MLsQ2IHC9AsOi+FCIa+d1aZlK1N7w+DkpWE1oEs4ge5 ZApiePrrm7aLrFIWcxbgCajB/v9iefzx/ODCNenM3WVfVE/qcq5Y0tTe/meyudE1nuzd qpieO8+Ikq6MBUZPe520ZURw0GnnBB9+o9myqcSntbc+VD65c7jt8t3fhuKbzVMUiSUP gyE8AgRCT5Jy9CjUdIDC/IqJW/ikoBaNu3DxgQhpQcgC3ToOB7hriVUSigWFtw64uEjp JSFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=HUhBiWXF2UcHPkZjOCTBoA5KA3pVKecQ5S66uz2sQc0=; b=y7hvHKBmdh+xCVXKY2CtYqKStJEsQWuNloyangdMrpq9zlVmXaGEMnkNWh/E+10PSi uXKwnzr/zcOsWwD0GVxeouVim132wcZyi7/HuNTs9JWP1KQ+KUAgp1yM9f1YyXeObZNh Na3e8OZaQylDXlUNwIIOx9fenVAn1pn0H2SjFIVWsqeo+4eAupWoN6+rMhx9vWZhd7p3 5uw7u6n/qQ41+o4KM31sPGjgbuzwe/mjTXuKYlSWtdN6p+DPcO2a/HdrlFwtsGiJ9KY8 cylViIJdO3ZldjLPws6k6dnD2sxzMiyjsFDrcW6xCXKoDX52TDikQjrCBvwB1zkM/Mn/ fGyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=PTrCVLLb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 67-20020a630046000000b0043410e2d9basi9643382pga.258.2022.09.06.08.40.24; Tue, 06 Sep 2022 08:40:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=PTrCVLLb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232391AbiIFPUS (ORCPT + 99 others); Tue, 6 Sep 2022 11:20:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234155AbiIFPTi (ORCPT ); Tue, 6 Sep 2022 11:19:38 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E5C289568D for ; Tue, 6 Sep 2022 07:31:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662474600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=HUhBiWXF2UcHPkZjOCTBoA5KA3pVKecQ5S66uz2sQc0=; b=PTrCVLLbPspii2C81pd0cPVz40cxwGOKHwkmi0cctNWXxAWFmrT8g1s9JjszqcmQztxubm 7vLgE2e52RX0kwhwS92sPSZL7dn9Gyr1EsYXACdQU0CdRqUiBg4c8M4iN9UaLZdAu0KzlG +PtNlWPmLprd3hd5qje8RnH+MCbJA5k= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-615-m-ToVTaiP5O-uRHsdH43lw-1; Tue, 06 Sep 2022 10:29:59 -0400 X-MC-Unique: m-ToVTaiP5O-uRHsdH43lw-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 20A42804191; Tue, 6 Sep 2022 14:29:59 +0000 (UTC) Received: from sirius.home.kraxel.org (unknown [10.39.195.70]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D0B1D1121314; Tue, 6 Sep 2022 14:29:58 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 4963E18003A1; Tue, 6 Sep 2022 16:29:57 +0200 (CEST) From: Gerd Hoffmann To: dri-devel@lists.freedesktop.org Cc: Gerd Hoffmann , David Airlie , Daniel Vetter , Thomas Zimmermann , Takashi Iwai , virtualization@lists.linux-foundation.org (open list:DRM DRIVER FOR BOCHS VIRTUAL GPU), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] drm/bochs: fix blanking Date: Tue, 6 Sep 2022 16:29:57 +0200 Message-Id: <20220906142957.2763577-1-kraxel@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGA_IS1_RC is the color mode register (VGA_IS1_RM the one for monochrome mode, note C vs. M at the end). So when using VGA_IS1_RC make sure the vga device is actually in color mode and set the corresponding bit in the misc register. Reproducible when booting VMs in UEFI mode with some edk2 versions (edk2 fix is on the way too). Doesn't happen in BIOS mode because in that case the vgabios already flips the bit. Fixes: 250e743915d4 ("drm/bochs: Add screen blanking support") Signed-off-by: Gerd Hoffmann --- drivers/gpu/drm/tiny/bochs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c index 08de13774862..a51262289aef 100644 --- a/drivers/gpu/drm/tiny/bochs.c +++ b/drivers/gpu/drm/tiny/bochs.c @@ -309,6 +309,8 @@ static void bochs_hw_fini(struct drm_device *dev) static void bochs_hw_blank(struct bochs_device *bochs, bool blank) { DRM_DEBUG_DRIVER("hw_blank %d\n", blank); + /* enable color bit (so VGA_IS1_RC access works) */ + bochs_vga_writeb(bochs, VGA_MIS_W, VGA_MIS_COLOR); /* discard ar_flip_flop */ (void)bochs_vga_readb(bochs, VGA_IS1_RC); /* blank or unblank; we need only update index and set 0x20 */ -- 2.37.3