Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2234479ybk; Mon, 11 May 2020 15:44:19 -0700 (PDT) X-Google-Smtp-Source: APiQypL84fgC+Qtwu0hwYhltIPIfnPtSjBHGYcStaZLa4gDnBgEKEhVvms9ZbP+GBKo2G9dCAGkf X-Received: by 2002:a17:906:b250:: with SMTP id ce16mr14694188ejb.216.1589237059229; Mon, 11 May 2020 15:44:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589237059; cv=none; d=google.com; s=arc-20160816; b=0a+z+u9K4E31/cfhRrTTIktFJEYUvdmEzm9pd0iHRTiy5l47Mj6b5EF8b6UuLpjCAJ bj7PTonIMgzNNS0ZLvybSZsA1nkzqVq6MigeHfdeKj0b8cafrIUleG43F3zlILg2aWMw G9/Yqh3TFLxbp1B/1Qoy9ED6rGDVdSxzBRrr8I9Cc3+HlRFfIfXGqUmxHqtfffiZajRD NBzOckPuFAUxTivDSP3XdTI461PLy1+28o7Cej9EoCmTQpo4ueh+U27cFpWZzTHxKMX9 HTkCQD6MtyButsSOs/gptDCPhCyPbPnCPOYXFsDc9Oqk624+nR7re6/3xQW8iEtGvYdP q95g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=5AW1tPrIf1NH23mBvqTHaK47Gct2K80GUJUWM/a2mOg=; b=V3ktbOmd3q4yCg7QuUahcCzGj5DxZtmFs+iJgJA3L1hFP2ApYMAay/t9bi9WWiH26W LD9+LIqvwOIah/SGhdmjPHiRfEzSKPHEk0ogULO24FpATenfVj7tV0/DQAZbSg0NOV0S BYciBGt609Agwqa7uXIENz5YvYZTy8F/P51JaeXE5e1jgUz3QVfUfStmsiNL7PvGwHx2 fXTjrTvjwAdi8DfHgsfR7tjrvPoHR5qn0uLnS9OOFQ1F5yVZPEo9Fo+W+wu2P9diVW/r xQaN2LHP6kIF53ceonIC2BugqOy/uKAbCyp5g2tuhzwSAjpqrWq8qOtRBF63fF/XVmxa 1tWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=d9zhqa5C; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l30si3488702edj.293.2020.05.11.15.43.56; Mon, 11 May 2020 15:44:19 -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; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=d9zhqa5C; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726077AbgEKWmX (ORCPT + 99 others); Mon, 11 May 2020 18:42:23 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:48746 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725854AbgEKWmX (ORCPT ); Mon, 11 May 2020 18:42:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1589236941; 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=5AW1tPrIf1NH23mBvqTHaK47Gct2K80GUJUWM/a2mOg=; b=d9zhqa5CM9mYwpZb3WK9JxT58CX8qMTaNKbAlN0YENVVpbJ/HRGw3ySuqT2CSwWQz3UivF QBSlMy2n1p5aHIZfDHvKdJ1XoYucRzkKc+6Y08WD++h+6SqNg706EdmWIWA7aMfW8DX7x1 EfK8Ec+OHaRBL17MvjCSeji7cqMr4as= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-411-72MkkdwwNAqOVOmAuvb87w-1; Mon, 11 May 2020 18:42:18 -0400 X-MC-Unique: 72MkkdwwNAqOVOmAuvb87w-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C02E5A0BD7; Mon, 11 May 2020 22:42:15 +0000 (UTC) Received: from Whitewolf.redhat.com (ovpn-117-238.rdu2.redhat.com [10.10.117.238]) by smtp.corp.redhat.com (Postfix) with ESMTP id C29DE77F2E; Mon, 11 May 2020 22:42:13 +0000 (UTC) From: Lyude Paul To: nouveau@lists.freedesktop.org Cc: "Alex Deucher" , "Pankaj Bharadiya" , "Daniel Vetter" , "David Airlie" , "Takashi Iwai" , "Sean Paul" , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, "Ben Skeggs" , "Lyude Paul" , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , "Jani Nikula" , "Ilia Mirkin" Subject: [PATCH v3 0/5] drm/nouveau: DP interlace fixes Date: Mon, 11 May 2020 18:41:22 -0400 Message-Id: <20200511224148.598468-1-lyude@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, nouveau doesn't actually bother to try probing whether or not it can actually handle interlaced modes over DisplayPort. As a result, on volta and later we'll end up trying to set an interlaced mode even when it's not supported and cause the front end for the display engine to hang. So, let's teach nouveau to reject interlaced modes on hardware that can't actually handle it. Additionally for MST, since we accomplish this by simply reusing more of the SST mode validation we also get (some) basic bw validation for modes we detect on MST connectors completely for free. Lyude Paul (5): drm/nouveau/kms/nv50-: Initialize core channel in nouveau_display_create() drm/nouveau/kms/nv50-: Probe SOR and PIOR caps for DP interlacing support drm/nouveau/kms/gv100-: Add support for interlaced modes drm/nouveau/kms/nv50-: Move 8BPC limit for MST into nv50_mstc_get_modes() drm/nouveau/kms/nv50-: Share DP SST mode_valid() handling with MST drivers/gpu/drm/nouveau/dispnv50/core.h | 7 +++ drivers/gpu/drm/nouveau/dispnv50/core507d.c | 15 ++++++ drivers/gpu/drm/nouveau/dispnv50/core827d.c | 1 + drivers/gpu/drm/nouveau/dispnv50/core907d.c | 1 + drivers/gpu/drm/nouveau/dispnv50/core917d.c | 1 + drivers/gpu/drm/nouveau/dispnv50/corec37d.c | 26 +++++++++ drivers/gpu/drm/nouveau/dispnv50/corec57d.c | 1 + drivers/gpu/drm/nouveau/dispnv50/disp.c | 58 +++++++++++++++------ drivers/gpu/drm/nouveau/dispnv50/disp.h | 1 + drivers/gpu/drm/nouveau/dispnv50/headc37d.c | 5 +- drivers/gpu/drm/nouveau/dispnv50/headc57d.c | 5 +- drivers/gpu/drm/nouveau/dispnv50/pior507d.c | 8 +++ drivers/gpu/drm/nouveau/dispnv50/sor507d.c | 7 +++ drivers/gpu/drm/nouveau/dispnv50/sor907d.c | 11 ++++ drivers/gpu/drm/nouveau/dispnv50/sorc37d.c | 9 ++++ drivers/gpu/drm/nouveau/nouveau_connector.c | 48 +++++++++++------ drivers/gpu/drm/nouveau/nouveau_connector.h | 5 ++ drivers/gpu/drm/nouveau/nouveau_dp.c | 31 +++++++++++ drivers/gpu/drm/nouveau/nouveau_encoder.h | 8 +++ 19 files changed, 213 insertions(+), 35 deletions(-) -- 2.26.2