From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (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 8064031A800 for ; Fri, 5 Dec 2025 12:38:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764938319; cv=none; b=nSBV2Mbx1aT32/SMP8l+541O2zBvMpnX8l2GAbrQNZ/YqzN6XKlob72DUcxswcZpJDFcc097fk4rT3P4Jo8ZoReFGIhLmh+ipaGZ2VkkDhltSjgX79KbxF/EZwwCZFFWfIxXnK4i22Gdir33PmpsjWOWglQcjBdBVOS5jx+IIFQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764938319; c=relaxed/simple; bh=YKjEkwwQxNsFPsAojFhrxWi0Ym+oFc6m47bQdQpgaWY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TF7h0mTrma+/yvG1UtaNEZrH4/yiz6VEYblE7GjRnEMMtR8uxHHy4yAM2jg1gYM3lLqYFBodxBAhOdO2jwguate37IuO+kr9250u8Q3CuC43ca5JAeO+WmEaWYwM5RaRlRs8JotEY0IkU/MRPkV9+dgmWewTkNPEg3zV9xGlucg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=pPrYhrnF; arc=none smtp.client-ip=209.85.167.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="pPrYhrnF" Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-5959105629bso2148142e87.2 for ; Fri, 05 Dec 2025 04:38:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1764938312; x=1765543112; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=klcElJtkzI0lLp3wntIo4gO11oCbbXWvHu4Lghm8pn8=; b=pPrYhrnFB8H7dGCWOE082ws4dxhKJGUdZMpIif8Yol5m9TdGhibFV9zY4+0wSXPN+i HNeP8hrLioGkXNlXsjdt+r9Cr6E935mmZoMngiVKcqsDkvbd49iK/kyXJCsHh61vyuwR yFMk1GbpXQXvgvN8bnF9PLsuhKwnk4zzDeDbY6VMiduByiMVIJtQNoKGWguSwbnR761H 59ULbDGDmaV9errANyOGvHeBUIfCmedCTwHaoW123TIM5nbn8q11Yyr50+MqSSGpnCJm G5YlNuSWheMVCmUh/nLMCNu/jSlWt8QO0+qM2o5YrjoS0C84aQxt6XyM89Ww554Js/zm 70WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764938312; x=1765543112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=klcElJtkzI0lLp3wntIo4gO11oCbbXWvHu4Lghm8pn8=; b=RMa6GzSMGGC+/bUkVtQs5V/cuW8IPC6heXA29d2XZv8916ZyUcSA3lLrMKUM+e9dX7 VA9nwpG04OS5OfPujfkWXqndNXzqa7CFPP4czCYovmXJwuSoWNUcF8/BRcewQeZLtCFX Jim6tsrvktJMaeTymtsN5Z7IAd7ftlRc57DC3DHRwv7nVCFG2jKvCaDWWUuGjSZ0+zN5 y6lEscRzBhiXQcXE6qqbjpCb2s0FNw82Lfa+asTXdMXPzhtR5qTdJ6Dhl9enPDAhbe30 /QbXfBPB00H7kfFMELUzEei4paUf5JSLSyBWs2j/pFBYF6MqnYRuJ4i9YAFZF7AZTIy9 ZCLQ== X-Forwarded-Encrypted: i=1; AJvYcCWSJLqha+JgIPNZoa2jvxx0q1HzkSg9MfNzMg86aUnglzBs9KxM9NqPFeNtzhX1m//bPHIOYnQ3H1TwYlc=@vger.kernel.org X-Gm-Message-State: AOJu0YwUColmoUebIEGUItQ0p7v1TFgrsi4w88uyClDArI8d7MY/1N2r mE6bDGMC670UT11k9CkmXNNzFj4GvvfkQNM0ZdyDXdQgo6hWCYi80+xrLBFbtaeYEJI= X-Gm-Gg: ASbGncvjdvq2O8ft1M0alzR5u+xquqb3QYbYl9zcgBBMTW1PvuGTz6K7mPzb2pywqCH WpnkElBALj+egv+CNcE13EBpqSx3UdoCW4e0zgi25QMossv0IOmtieEOokPSVZdQEjZeJFSBpHo tVhIIlYytpbXrb8L/NTKHeDVztVhaF1PMHvOj/qiz5jUUo033uH+d6cYSoxKYSWZSgirTn1nP1i Anuor93ZlucVVoQGUaoogJfcVa36MyTLtiBvIGntDbpqMq5Kzac+Jdp5TmMQjqD47Et9mAtgJhr LMM4HIKceWQvJU7Zbk3uxMMve2OnjxSLsC9jF5OWOFKzsU8k/jw6FmN7TjgfTZWs7bOZYnEKyqE 2BMgW430+IlH7ViH53zd13gpfq27tgXLz1i7XdyOr8DZXNkirPMoYGnVb9g/psR8psLriR1xi9Z AbfW+OtpX3nAB8Pa2IKWOZHxZjZBj3SAFwW9jyNQS8Ol42 X-Google-Smtp-Source: AGHT+IFTlZw+oR2sw8F587+gt4VtLs/GMa9dNBWEO0QK962QEdEh8y33WxXMT99Jaj5hQoXnehj+Zw== X-Received: by 2002:a05:6512:124b:b0:595:8200:9f7e with SMTP id 2adb3069b0e04-597d669ff19mr2333117e87.20.1764938311848; Fri, 05 Dec 2025 04:38:31 -0800 (PST) Received: from nuoska (87-100-249-247.bb.dnainternet.fi. [87.100.249.247]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-597d7b1a3d9sm1462351e87.4.2025.12.05.04.38.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Dec 2025 04:38:31 -0800 (PST) From: Mikko Rapeli To: dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Laurent Pinchart , Tomi Valkeinen , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Michal Simek , Bill Mills , Ilias Apalodimas , Mikko Rapeli , Anatoliy Klymenko , stable@vger.kernel.org Subject: [PATCH 2/2] drm: xlnx: zynqmp_kms: set preferred_depth to 16 bpp Date: Fri, 5 Dec 2025 14:37:51 +0200 Message-ID: <20251205123751.2257694-3-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251205123751.2257694-1-mikko.rapeli@linaro.org> References: <20251205123751.2257694-1-mikko.rapeli@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Xorg fails to start with defaults on AMD KV260, /var/log/Xorg.0.log: [ 23.491] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so [ 23.491] (II) Module fbdev: vendor="X.Org Foundation" [ 23.491] compiled for 1.21.1.18, module version = 0.5.1 [ 23.491] Module class: X.Org Video Driver [ 23.491] ABI class: X.Org Video Driver, version 25.2 [ 23.491] (II) modesetting: Driver for Modesetting Kernel Drivers: kms [ 23.491] (II) FBDEV: driver for framebuffer: fbdev [ 23.510] (II) modeset(0): using drv /dev/dri/card1 [ 23.511] (WW) Falling back to old probe method for fbdev [ 23.511] (II) Loading sub module "fbdevhw" [ 23.511] (II) LoadModule: "fbdevhw" [ 23.511] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so [ 23.511] (II) Module fbdevhw: vendor="X.Org Foundation" [ 23.511] compiled for 1.21.1.18, module version = 0.0.2 [ 23.511] ABI class: X.Org Video Driver, version 25.2 [ 23.512] (II) modeset(0): Creating default Display subsection in Screen section "Default Screen Section" for depth/fbbpp 24/32 [ 23.512] (==) modeset(0): Depth 24, (==) framebuffer bpp 32 [ 23.512] (==) modeset(0): RGB weight 888 [ 23.512] (==) modeset(0): Default visual is TrueColor ... [ 23.911] (II) Loading sub module "fb" [ 23.911] (II) LoadModule: "fb" [ 23.911] (II) Module "fb" already built-in [ 23.911] (II) UnloadModule: "fbdev" [ 23.911] (II) Unloading fbdev [ 23.912] (II) UnloadSubModule: "fbdevhw" [ 23.912] (II) Unloading fbdevhw [ 24.238] (==) modeset(0): Backing store enabled [ 24.238] (==) modeset(0): Silken mouse enabled [ 24.249] (II) modeset(0): Initializing kms color map for depth 24, 8 bpc. [ 24.250] (==) modeset(0): DPMS enabled [ 24.250] (II) modeset(0): [DRI2] Setup complete [ 24.250] (II) modeset(0): [DRI2] DRI driver: kms_swrast [ 24.250] (II) modeset(0): [DRI2] VDPAU driver: kms_swrast ... [ 24.770] (II) modeset(0): Disabling kernel dirty updates, not required. [ 24.770] (EE) modeset(0): failed to set mode: Invalid argument xorg tries to use 24 and 32 bpp which pass on the fb API but which don't actually work on AMD KV260 when Xorg starts. As a workaround Xorg config can set color depth to 16 using /etc/X11/xorg.conf snippet: Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 16 EndSection But this is cumbersome on images meant for multiple different arm64 devices and boards. So instead set 16 bpp as preferred depth in zynqmp_kms fb driver which is used by Xorg in the logic to find out a working depth. Now Xorg startup and bpp query using fb API works and HDMI display shows graphics. /var/log/Xorg.0.log shows: [ 23.219] (II) LoadModule: "fbdev" [ 23.219] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so [ 23.219] (II) Module fbdev: vendor="X.Org Foundation" [ 23.219] compiled for 1.21.1.18, module version = 0.5.1 [ 23.219] Module class: X.Org Video Driver [ 23.219] ABI class: X.Org Video Driver, version 25.2 [ 23.219] (II) modesetting: Driver for Modesetting Kernel Drivers: kms [ 23.219] (II) FBDEV: driver for framebuffer: fbdev [ 23.238] (II) modeset(0): using drv /dev/dri/card1 [ 23.238] (WW) Falling back to old probe method for fbdev [ 23.238] (II) Loading sub module "fbdevhw" [ 23.238] (II) LoadModule: "fbdevhw" [ 23.239] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so [ 23.239] (II) Module fbdevhw: vendor="X.Org Foundation" [ 23.239] compiled for 1.21.1.18, module version = 0.0.2 [ 23.239] ABI class: X.Org Video Driver, version 25.2 [ 23.240] (II) modeset(0): Creating default Display subsection in Screen section "Default Screen Section" for depth/fbbpp 16/16 [ 23.240] (==) modeset(0): Depth 16, (==) framebuffer bpp 16 [ 23.240] (==) modeset(0): RGB weight 565 [ 23.240] (==) modeset(0): Default visual is TrueColor ... [ 24.015] (==) modeset(0): Backing store enabled [ 24.015] (==) modeset(0): Silken mouse enabled [ 24.027] (II) modeset(0): Initializing kms color map for depth 16, 6 bpc. [ 24.028] (==) modeset(0): DPMS enabled [ 24.028] (II) modeset(0): [DRI2] Setup complete [ 24.028] (II) modeset(0): [DRI2] DRI driver: kms_swrast [ 24.028] (II) modeset(0): [DRI2] VDPAU driver: kms_swrast Cc: Bill Mills Cc: Ilias Apalodimas Cc: Anatoliy Klymenko Cc: stable@vger.kernel.org Signed-off-by: Mikko Rapeli --- drivers/gpu/drm/xlnx/zynqmp_kms.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/xlnx/zynqmp_kms.c b/drivers/gpu/drm/xlnx/zynqmp_kms.c index ccc35cacd10cb..a42192c827af0 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_kms.c +++ b/drivers/gpu/drm/xlnx/zynqmp_kms.c @@ -506,6 +506,7 @@ int zynqmp_dpsub_drm_init(struct zynqmp_dpsub *dpsub) drm->mode_config.min_height = 0; drm->mode_config.max_width = ZYNQMP_DISP_MAX_WIDTH; drm->mode_config.max_height = ZYNQMP_DISP_MAX_HEIGHT; + drm->mode_config.preferred_depth = 16; ret = drm_vblank_init(drm, 1); if (ret) -- 2.34.1