From patchwork Wed Apr 22 14:11:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1275071 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 496j7P0BdYz9sSw; Thu, 23 Apr 2020 00:12:30 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1jRG6x-0001y5-Kp; Wed, 22 Apr 2020 14:12:23 +0000 Received: from mail-pl1-f172.google.com ([209.85.214.172]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jRG6u-0001xt-5S for kernel-team@lists.ubuntu.com; Wed, 22 Apr 2020 14:12:20 +0000 Received: by mail-pl1-f172.google.com with SMTP id c21so158526plz.4 for ; Wed, 22 Apr 2020 07:12:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=dd1Vu9mhSI7K15ouzOtuy4mgGvvyPJ4Md0cWVr51Tq4=; b=pryBUNdS2bGR7j30LChQEDk4YMLwr3T85arJzQOgEibUd/o67pgIxPCXUrG9anekL8 dolEMZZLFcZrRzC+BnOaTSs3Y4IDpRxP8MXpq8YUnXC6l9A6E5MGDk2su2f9TGukpRkw ZNeUHNpvcmMUM1Sa6nPYo1ycvkUKEqU3vEcijmT5IQYUUK+5G1e0w9cFu5mXvvJER8lx XCxRgOaC1SXy14dwIjS8pUZXg55cmKZRpzV5lyxITgzVHbXmdyvfM/6TMkIaB5Jiw02d bgJrIiZkfHo0oq86JrYyCWUv7HH9KFn/tGSBM+kthJh/J9GL+0T5wLChhXiliRWNpMRs f0HA== X-Gm-Message-State: AGi0PuZsi3HjdCRyHGKioCIBeYqnsiqvARBZn13k6btF5yGYOH6VSL4F TGQ6hhnJaiw9Yw2n5PJ2W8B/D+uLDAQ= X-Google-Smtp-Source: APiQypL7KYv3qHgMC/M+gRbOj1P5sluoAJ/n0dgyzfgURtevBLnaPAt+YLn2Zq5aYsO2EcufpQEH8g== X-Received: by 2002:a17:90a:2401:: with SMTP id h1mr12407116pje.1.1587564737891; Wed, 22 Apr 2020 07:12:17 -0700 (PDT) Received: from localhost (61-220-137-37.HINET-IP.hinet.net. [61.220.137.37]) by smtp.gmail.com with ESMTPSA id e196sm5556890pfh.43.2020.04.22.07.12.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 07:12:16 -0700 (PDT) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [SRU][E][PATCH 00/52] Fix TC port in legacy/static mode can't be detected due TCCOLD Date: Wed, 22 Apr 2020 22:11:23 +0800 Message-Id: <20200422141215.1548544-1-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1868936 [Impact] External monitor connected via a Type-C dongle when device is in PC10 may not be light up. [Fix] Patches series https://patchwork.freedesktop.org/series/75941/ from intel-gfx mailing list, which has been merged in drm-tip tree with tip commit 0f8925090ac7. 42 additional commits also cherry-picked to complete TC functions, and yet two more for fixing regressions introduced by them. [Test Case] 1. Ensure device may enter PC10. $ sudo powertop --auto-tune $ sudo watch cat /sys/kernel/debug/pmc_core/package_cstate_show Press Meta+L to lock screen for a while and unlock again, "Package C10" field should have non-zero counts. 2. Press Meta+L to lock screen again. 3. After screen turns black and wait a few more seconds, connect external monitor to a type C port via a type C dongle and wake the device. 4. Check if external monitor is also light up as an extended/mirrored screen. [Regression Potential] High. Anusha Srivatsa (1): drm/i915: Add modular FIA Chris Wilson (1): drm/i915/display: Handle lost primary_port across suspend Daniele Ceraolo Spurio (6): drm/i915: use vfuncs for reg_read/write_fw_domains drm/i915: kill uncore_sanitize drm/i915: kill uncore_to_i915 drm/i915: skip forcewake actions on forcewake-less uncore drm/i915: dynamically allocate forcewake domains drm/i915/gvt: decouple check_vgpu() from uncore_init() Imre Deak (21): drm/i915/icl: Add support to read out the TBT PLL HW state drm/i915: Tune down WARNs about TBT AUX power well enabling drm/i915: Move the TypeC port handling code to a separate file drm/i915: Sanitize the terminology used for TypeC port modes drm/i915: Don't enable the DDI-IO power in the TypeC TBT-alt mode drm/i915: Use the correct AUX power domain in TypeC TBT-alt mode drm/i915: Unify the TypeC port notation in debug/error messages drm/i915: Factor out common parts from TypeC port handling functions drm/i915: Wait for TypeC PHY complete flag to clear in safe mode drm/i915: Handle the TCCOLD power-down event drm/i915: Sanitize the TypeC connect/detect sequences drm/i915: Fix the TypeC port mode sanitization during loading/resume drm/i915: Keep the TypeC port mode fixed for detect/AUX transfers drm/i915: Sanitize the shared DPLL reserve/release interface drm/i915: Sanitize the shared DPLL find/reference interface drm/i915/icl: Split getting the DPLLs to port type specific functions drm/i915/icl: Reserve all required PLLs for TypeC ports drm/i915: Keep the TypeC port mode fixed when the port is active drm/i915: Add state verification for the TypeC port mode drm/i915: Remove unneeded disconnect in TypeC legacy port mode drm/i915: WARN about invalid lane reversal in TBT-alt/DP-alt modes José Roberto de Souza (9): drm/i915/dp: Do not switch aux to TBT mode for non-TC ports drm/i915/display: Move out code to return the digital_port of the aux ch drm/i915/display: Add intel_legacy_aux_to_power_domain() drm/i915/display: Split hsw_power_well_enable() into two drm/i915/tc/icl: Implement TC cold sequences drm/i915/tc: Skip ref held check for TC legacy aux power wells drm/i915/tc/tgl: Implement TC cold sequences drm/i915/tc: Catch TC users accessing FIA registers without enable aux drm/i915/tc: Do not warn when aux power well of static TC ports timeout Lucas De Marchi (3): drm/i915: fix include order in intel_tc.* drm/i915: make new intel_tc.c use uncore accessors drm/i915: move intel_ddi_set_fia_lane_count to intel_tc.c Maarten Lankhorst (6): drm/i915: Pass intel_crtc_state to needs_modeset() drm/i915: Convert most of atomic commit to take more intel state drm/i915: Convert hw state verifier to take more intel state, v2. drm/i915: Use intel_crtc_state in sanitize_watermarks() too drm/i915: Pass intel state to plane functions as well drm/i915: Use intel state as much as possible in wm code Matt Roper (5): drm/i915/icl: Drop port parameter to icl_get_combo_buf_trans() drm/i915/gen11: Start distinguishing 'phy' from 'port' drm/i915/gen11: Program ICL_DPCLKA_CFGCR0 according to PHY drm/i915/gen11: Convert combo PHY logic to use new 'enum phy' namespace drm/i915: Transition port type checks to phy checks drivers/gpu/drm/i915/Makefile | 3 +- drivers/gpu/drm/i915/display/icl_dsi.c | 138 ++- .../gpu/drm/i915/display/intel_atomic_plane.c | 56 +- .../gpu/drm/i915/display/intel_atomic_plane.h | 5 +- drivers/gpu/drm/i915/display/intel_bios.c | 4 +- .../gpu/drm/i915/display/intel_combo_phy.c | 133 ++- .../gpu/drm/i915/display/intel_combo_phy.h | 4 +- drivers/gpu/drm/i915/display/intel_ddi.c | 309 +++--- drivers/gpu/drm/i915/display/intel_display.c | 899 ++++++++++-------- drivers/gpu/drm/i915/display/intel_display.h | 33 +- .../drm/i915/display/intel_display_power.c | 232 ++++- .../drm/i915/display/intel_display_power.h | 1 + drivers/gpu/drm/i915/display/intel_dp.c | 254 +---- drivers/gpu/drm/i915/display/intel_dp.h | 2 - drivers/gpu/drm/i915/display/intel_dp_mst.h | 8 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 523 +++++++--- drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 25 +- drivers/gpu/drm/i915/display/intel_dsi.h | 12 +- drivers/gpu/drm/i915/display/intel_tc.c | 619 ++++++++++++ drivers/gpu/drm/i915/display/intel_tc.h | 35 + drivers/gpu/drm/i915/i915_drv.c | 16 +- drivers/gpu/drm/i915/i915_drv.h | 23 +- drivers/gpu/drm/i915/i915_pvinfo.h | 5 +- drivers/gpu/drm/i915/i915_reg.h | 100 +- drivers/gpu/drm/i915/i915_vgpu.c | 35 +- drivers/gpu/drm/i915/i915_vgpu.h | 2 +- drivers/gpu/drm/i915/intel_device_info.h | 1 + drivers/gpu/drm/i915/intel_drv.h | 28 +- drivers/gpu/drm/i915/intel_pm.c | 413 ++++---- drivers/gpu/drm/i915/intel_pm.h | 4 +- drivers/gpu/drm/i915/intel_uncore.c | 425 +++++---- drivers/gpu/drm/i915/intel_uncore.h | 23 +- drivers/gpu/drm/i915/selftests/mock_uncore.c | 4 +- 33 files changed, 2726 insertions(+), 1648 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/intel_tc.c create mode 100644 drivers/gpu/drm/i915/display/intel_tc.h