From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEFAF4457A4 for ; Mon, 17 Aug 2026 15:26:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786980389; cv=none; b=SFp8XVKoao6jFQSJWbyqVWLbQv70rksXYTL3ote0aNy851IRxQdzgPEOoINmW2OD10TK+y4XxBv1y3PodwACLudFcQAg4KeT0S/pEAvdUgUSYm0HJu6aKKJ16pyJluroubwDwoFwhXlqojp/2QyGxu77mv/BmZteGLtUo5Rr2Uw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786980389; c=relaxed/simple; bh=LJWoRfPHE2+lG419s20SuhMDSMRW1EUgE3Gji521P14=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=dyDHYjw0clJNG97mQs9NlwCEqEueDlMD/UQFqJQHUpPr2Rf5IZnGcA3nhZYi7T8hj5c68LQGI67Zwjgud4ynyMuIWqmw8wI8I1URtQm9hu2dLIHTFlNSif/P9ik9BvaHw2FqYKfWl4VMFkjGhYiJWZeFYDTyNMVJ+zP3Sbm0XjA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WdiCinDK; arc=none smtp.client-ip=209.85.219.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WdiCinDK" Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-8f1a8e914a9so25055106d6.1 for ; Mon, 17 Aug 2026 08:26:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786980387; x=1787585187; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=5H9dh4FxhaHEHhhWqbPHlAZDZeIrPiXZx4M8+NdC4qg=; b=WdiCinDK1jdpT7Lr7PqowvdxC9LgwhK/mPsxlll4pStduH2bLf6eid8P6UmKvWTFJw xuhudqu1ui6C5Y8cj2Sx7ugq650Fl+xxmCZLIbQVCx4QPJnY9hvhyVp3IPBoVK/IJoRx K5yTDyrcXUACPndX8oIr38daoidElfM7QDdmcM7lP5HwNVwlar1m8RbUfhjbdzUjNCDY Vr8wxAP1DZU8KlJYEplMECRQ6rIeAhCM4XnRlRGAh6R/+iUlQxhF6a1OyGeYUnTh3rgN isXmYiL7n+5kzQFqka26G9Dg63fbwkmVUk6SbtEvuM6aNVfZ1BwXr2Jx+djX9Wz4QfOV ECiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786980387; x=1787585187; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5H9dh4FxhaHEHhhWqbPHlAZDZeIrPiXZx4M8+NdC4qg=; b=KOh+gNq59ALHHKuLWsiurZhYYuqwu70a6XwUEeRHYpEV3qK+UcNHeRJcwV3UWkq/Wj iN5Rde3Wz47P+U5SN73gmitdbffMbQMJ2mM4p0d/zjRP/jkXEmpq34rtKwgHwtCGxm2d WrlWf6rop/gP6VGtOqHtcMeNh60DM9qPd/EpxinD0WjN6mQkkD1K15kdojz4hudxvvzG qVdG3KwP6SdI9olIb6ZifBt4g/4CF7b6whl9HQyKlcEeNITSMDRofiQ3Hvo34B6XZrsK YV+sqecb8TpozqJru5JurwHEGuFHhyDyw8GFWGi+pS4S+09Imsux2Dws66yjtE1tlSju Nnmw== X-Forwarded-Encrypted: i=1; AHgh+RqVFFAjTELmceVOQP+s1rdGJDX8FWIP8SnpciW6H66uKeFD8a86lxLbt56zD1pEUi3gOqozAG1wlEL89K0=@vger.kernel.org X-Gm-Message-State: AOJu0YzBfzrnj+GkG38zVGwF4jha5Wq3u0Rv1fho3EX28pxOVMOQ1m9I 3AE6VsOe92NjOglVqVAM9HG2I0rt15jgZSJA9U6Dm+dt45b3OV0cRyyh X-Gm-Gg: AR+sD12wXvordyMmleUQ10ZfhZm3MqVjL0hHQzCrgxnXOvdKv3dYAFdQdTryGIks2pf OfSwkasD+pJdsuhCMGyGROqulK8lg9CMYNWtgCydivPs35LKK8mMQxuVqBa0kpBGa/8nHrppTf2 /8iDGx7uCkZPkCH1bQ8XlliEBQOWeiiY984sfhDW1hUIYo7hCoItloPtUAf28B5+wY1JDprFMXX 8QTHljJatyjJakZBTq2Or16/QexXbVldVxsI+lvxuZBMepKLmPud/FsTIr372K8C0IH2mD/gqrW OYURfqHLEm2eH7T0RJUcJFuztzpTK/mAHbAHWc38g6SKUJDbIXmFXfj/QZ9+nIJYACDg9e38y1X 4kGRPS9JIbhJTAEJqBM3K3ACS5TfOWYeBQuf/0eMpqSSVlCAV4Fbwjyb66Df5Po+9w5I5pcpwsn oSmTg7VSesOvJGl6sviQLpEk9hduBcXAntT6JmvMmNdCLqtKoAbMey9bSqUToPuozAvsdnwjqwx NdUDJz2LiegWzn/lOuhZaDTK748Xq8Kp7nrJ+3X9w== X-Received: by 2002:ad4:5cce:0:b0:8df:98e0:4594 with SMTP id 6a1803df08f44-90a91d5fae4mr262527506d6.15.1786980386455; Mon, 17 Aug 2026 08:26:26 -0700 (PDT) Received: from holowork.tail3176d.ts.net (static-68-235-46-81.cust.tzulo.com. [68.235.46.81]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-90c45950413sm11070806d6.35.2026.08.17.08.26.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 08:26:25 -0700 (PDT) From: Fabio Piparo To: Javier Martinez Canillas Cc: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Amit Barzilai , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Fabio Piparo , stable@vger.kernel.org Subject: [PATCH] drm/ssd130x: Set the address window in ssd132x_clear_screen() Date: Mon, 17 Aug 2026 11:24:59 -0400 Message-ID: <20260817152500.703770-1-holofermes@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ssd132x_clear_screen() sends its zeroes without setting the column and row ranges first, so they land in whatever window the last ssd132x_update_rect() left programmed. A partial final update then leaves the rest of the screen uncleared, with fbcon the last damage is typically the cursor cell, so blanking keeps the console content on the panel. Set the full-screen window first, as ssd130x_clear_screen() already does. Fixes: fdd591e00a9c ("drm/ssd130x: Add support for the SSD132x OLED controller family") Assisted-by: LLM Cc: stable@vger.kernel.org Signed-off-by: Fabio Piparo --- Exercised on an SPI SSD1322 under local enablement patches for that chip; compile-tested only on the SSD1325/1327. ssd133x_clear_screen() has the same problem, left alone here for lack of hardware. drivers/gpu/drm/solomon/ssd130x.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/solomon/ssd130x.c b/drivers/gpu/drm/solomon/ssd130x.c index 0b0fc6fe3df..256d370e240 100644 --- a/drivers/gpu/drm/solomon/ssd130x.c +++ b/drivers/gpu/drm/solomon/ssd130x.c @@ -900,9 +900,20 @@ static void ssd132x_clear_screen(struct ssd130x_device *ssd130x, u8 *data_array) { unsigned int columns = DIV_ROUND_UP(ssd130x->width, SSD132X_SEGMENT_WIDTH); unsigned int height = ssd130x->height; + int ret; memset(data_array, 0, columns * height); + /* Set column start and end */ + ret = ssd130x_write_cmd(ssd130x, 3, SSD132X_SET_COL_RANGE, 0, columns - 1); + if (ret < 0) + return; + + /* Set row start and end */ + ret = ssd130x_write_cmd(ssd130x, 3, SSD132X_SET_ROW_RANGE, 0, height - 1); + if (ret < 0) + return; + /* Write out update in one go since horizontal addressing mode is used */ ssd130x_write_data(ssd130x, data_array, columns * height); } -- 2.43.0