From owner-freebsd-current@freebsd.org Mon May 25 08:38:16 2020 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 62D012F7C27 for ; Mon, 25 May 2020 08:38:16 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 49Vr8R5CYfz4Zt1 for ; Mon, 25 May 2020 08:38:15 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: by mailman.nyi.freebsd.org (Postfix) id B0DAB2F7A33; Mon, 25 May 2020 08:38:15 +0000 (UTC) Delivered-To: current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B07BD2F7AC4; Mon, 25 May 2020 08:38:15 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mx.blih.net [212.83.155.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx.blih.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49Vr8Q16HNz4ZWf; Mon, 25 May 2020 08:38:13 +0000 (UTC) (envelope-from manu@bidouilliste.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bidouilliste.com; s=mx; t=1590395885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gIVBTrrx/OwUAsxfis4P/cBVttRo0vYQGF6LRXb4Lg4=; b=bnoNenNbh/sImzTVcxDwBrk5ozbZo7+zf9qKoluPQzoLTy7+bNb9lXNn3XqaXbk6G6savn 8HPx2KLi/9HMC4EUx281lplOQpoLecDOZm7sqqwGdX4J4DMH/RiuFdxFMSk/hh3gYLgFfb XJcPk7ytKd3a4ZakKPPOSSmxRcLpid0= Received: from skull.home.blih.net (lfbn-idf2-1-900-181.w86-238.abo.wanadoo.fr [86.238.131.181]) by mx.blih.net (OpenSMTPD) with ESMTPSA id b2f747e8 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 25 May 2020 08:38:05 +0000 (UTC) Date: Mon, 25 May 2020 10:38:05 +0200 From: Emmanuel Vadot To: current@FreeBSD.org, x11@FreeBSD.org Subject: drm drivers project report (week of May 11th and May 18th) Message-Id: <20200525103805.22d0b26cdc461fe81c02413c@bidouilliste.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd13.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 49Vr8Q16HNz4ZWf X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bidouilliste.com header.s=mx header.b=bnoNenNb; dmarc=pass (policy=none) header.from=bidouilliste.com; spf=pass (mx1.freebsd.org: domain of manu@bidouilliste.com designates 212.83.155.74 as permitted sender) smtp.mailfrom=manu@bidouilliste.com X-Spamd-Result: default: False [-2.42 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[bidouilliste.com:s=mx]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.01)[-1.013]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_MEDIUM(-1.00)[-0.995]; NEURAL_SPAM_SHORT(0.09)[0.089]; DKIM_TRACE(0.00)[bidouilliste.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[bidouilliste.com,none]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:12876, ipnet:212.83.128.0/19, country:FR]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 May 2020 08:38:16 -0000 Hello all, First of all sorry for forgetting to send a report last week. A lot happened in two weeks. We are now 98% synced with Linux 5.2 and I've taggued a release yesterday (https://github.com/freebsd/drm-kmod/releases/tag/drm_v5.2_8) and this is now in ports in graphics/drm-devel-kmod (https://svnweb.freebsd.org/ports?view=revision&revision=536403). The 2% remaining is a small patch that uses the rcu in Linux and cause problem for us on FreeBSD. I'll send an email this week to hackers with more details as I've spent quite some time on it and don't really understand what's goind on. This ports should be fine to use for any users of Intel or AMD. If any users of the vboxvideo and vmwgfx see any problem please tell my and I'll fix any issue. For users of >Skylake Intel there is a known problem with laptop panel where the console doesn't refresh, this is due to a mechanism called PSR, Panel Self Refresh, where the driver shutdown the embedded display port link to save battery and the panel keeps a copy of framebuffer to display it. This is a known problem for any of our kmod >4.16. I mostly understand what's going on but will be able to fix it when I receive my > Skylake laptop (hopefully tomorow). If you have such issue setting hw.i915kms.enable_psr=0 in /boot/loader.conf (See below for the sysctl update). To have 5.2 correctly compiling and running a number of commits have been made to linuxkpi in base : https://svnweb.freebsd.org/changeset/base/361007 https://svnweb.freebsd.org/changeset/base/361245 https://svnweb.freebsd.org/changeset/base/361246 https://svnweb.freebsd.org/changeset/base/361247 https://svnweb.freebsd.org/changeset/base/361343 On the code side a new file kconfig.mk was added, it's used to "emulate" the kconfig option of the Linux kernel and allow us to define the needed options based on the architectures but also enabling/disabling some option based on make variable such as DRM_LEGACY (Linux have deprecated some drm interface and they are only compiled if DRM_LEGACY is in KConfig). We use to define the CONFIG_* in a header file but doing it this way allow us to compile or not some files based on the options. The main Makefile was also reworked to allow compiling only certain modules using the KMODS make variable, this is mostly useful for developement purpose (when bisecting a problem on a certain kmod for example) but could also be used as port options so people won't waste cycle compiling amdgpu+radeon+ttm modules when they only want the i915kms one. I'll add such options in the port during this week. The sysctls exposed by the drm drivers also have changed, due to how linuxkpi works every module parametters is translated to sysctls under compat.linuxkpi, I didn't liked that as a users doesn't need to know what linuxkpi is or that the drm drivers uses it. So I've added them under hw.. So if you used compat.linuxkpi.i915_something it's now also exposed as hw.i915kms.something. It's more logical, I think, to use hw. as this is where we put the sysctls/tunable for hardware related configuration. It also allow a users to sysctl -d hw. and see every configuration description without having to sysctl -a | grep . The old sysctls under compat.linuxkpi are still there so if you already rely on some configuration it will still work. On the 5.3 side, it's now synced at ~33%. 5.3 is a big release, more than 1500 patches for the differents DRM modules. You can track the progress here : https://github.com/freebsd/drm-kmod/tree/5.3 There is a known issue on intel (at least skylake), the commit have been identified and I'm working on fixing the issue. On amd side it's working well for me on my picasso laptop. Again a number of commits in base linuxkpi have been made : https://svnweb.freebsd.org/changeset/base/361138 https://svnweb.freebsd.org/changeset/base/361139 https://svnweb.freebsd.org/changeset/base/361140 https://svnweb.freebsd.org/changeset/base/361418 https://svnweb.freebsd.org/changeset/base/361419 I hope to finish 5.3 this week. Cheers, -- Emmanuel Vadot