From patchwork Tue Jun 11 16:08:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Paul X-Patchwork-Id: 10987659 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6893F76 for ; Tue, 11 Jun 2019 16:08:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 59472276D6 for ; Tue, 11 Jun 2019 16:08:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4D73D27FA1; Tue, 11 Jun 2019 16:08:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D9E131FFCA for ; Tue, 11 Jun 2019 16:08:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A44D189170; Tue, 11 Jun 2019 16:08:48 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C6DC89170 for ; Tue, 11 Jun 2019 16:08:48 +0000 (UTC) Received: by mail-qt1-x82e.google.com with SMTP id n11so13064187qtl.5 for ; Tue, 11 Jun 2019 09:08:48 -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:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=m8FMOFg+jCZ4SYrNOqS+Ky1JesLDQ7erUisi2NDufgU=; b=BzizTvZv007yNgzP43eO7qrNVkoymWxueUgmStxrG0IBy3kO8kc3B0f4HkJgBSVsYV MKgA5l1X9rfzDWdMC0jeyfShS0pDe/SYm5tKbEXOT46uX6p4GLTrfLFIM4BcfgfE8zjz suGd8v5bgnrfDdVTGxN1I5K72bL49YfmPEsDbbxoqETGeqXwC4/6tGWT4/MIhAMt8RCC ZFGcxsz1qsUFE4hUfaJBopZBhE0HbJIPBlORO3vxX/x0xf6f3ebMDHmQuTSyXh1Xls0W QEGRiVbsnZTynCDxpC8lKBekZvpUE/Q+4KnDzURvZteqvsUb3PE8n+nMp7GR2VUt82c8 k5Jg== X-Gm-Message-State: APjAAAWuX7R/Nlt1SUZCLHBa9kHTSNtHbV8OgIVTX5dFb0wKO5UFYINX PH8rVJZ48aQJUZe0SsZbl4FYSzQKWjM= X-Google-Smtp-Source: APXvYqzynuQ+3fbz6aQrf4szsNMiyLi5g7PX89XdhWyB0gJDh0gFEbWRFFvQ0WrG/EuGgzWOXbSfEQ== X-Received: by 2002:ac8:2cfc:: with SMTP id 57mr64020982qtx.194.1560269327018; Tue, 11 Jun 2019 09:08:47 -0700 (PDT) Received: from rosewood.cam.corp.google.com ([2620:0:1013:11:89c6:2139:5435:371d]) by smtp.gmail.com with ESMTPSA id d188sm6755094qkf.40.2019.06.11.09.08.46 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 11 Jun 2019 09:08:46 -0700 (PDT) From: Sean Paul To: dri-devel@lists.freedesktop.org Subject: [PATCH v5 00/11] drm: Add self refresh helpers Date: Tue, 11 Jun 2019 12:08:14 -0400 Message-Id: <20190611160844.257498-1-sean@poorly.run> X-Mailer: git-send-email 2.22.0.rc2.383.gf4fbbf30c2-goog MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poorly.run; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=m8FMOFg+jCZ4SYrNOqS+Ky1JesLDQ7erUisi2NDufgU=; b=V988nxsmeCBNxSAzIE9m/ml38eTS8GugCziXw1L1VX69104O3COhNuIJoVx35DPAc/ 4LYZ6a28Mi7a+x8P6DjlNy+wBrh8nnh7pEPKz1QStsHjP+vIHfkY4+2qZeomovbUqcvU CfcZBHXoEb8LBGTfNoykBUkZ4b2nCCOXlYcr+L8zQRNwZiwvNtplYzCeYrOZmu/GTwgd rW3dmxcONP2EeYxuaggqCyAsuh243poFCb0X3m55f2ztbqC2OcXcUKcWme64bJidhoTV tSvghc5YFYFq8R2QIR8vJXzUfSadydU02Ej8MZd1ZaRe2tX81amRGMHGPx6ViQY7y0Ca bsmw== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sean Paul Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Sean Paul Back again with a new version. Very little has changed from v5, in fact I was just going to resend patch 2, but I ran into some collisions while rebasing. I figured I'd take the opportunity to collect and apply the tags I've accumulated so far and send the whole thing again. I need reviews on patch 2 and patches 6 through 11 (the rockchip bits). Link to v4 cover: https://patchwork.freedesktop.org/patch/msgid/20190508160920.144739-1-sean@poorly.run Thanks, Sean Laurent Pinchart (1): drm: Add drm_atomic_get_(old|new_connector_for_encoder() helpers Sean Paul (10): drm: Add atomic variants of enable/disable to encoder helper funcs drm: Add atomic variants for bridge enable/disable drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state drm: Add helpers to kick off self refresh mode in drivers drm/rockchip: Use dirtyfb helper drm/rockchip: Check for fast link training before enabling psr drm/rockchip: Use the helpers for PSR drm/rockchip: Use vop_win in vop_win_disable instead of vop_win_data drm/rockchip: Don't fully disable vop on self refresh drm/rockchip: Use drm_atomic_helper_commit_tail_rpm Documentation/gpu/drm-kms-helpers.rst | 9 + drivers/gpu/drm/Makefile | 2 +- .../drm/bridge/analogix/analogix_dp_core.c | 292 +++++++++++++----- .../drm/bridge/analogix/analogix_dp_core.h | 2 +- drivers/gpu/drm/drm_atomic.c | 71 +++++ drivers/gpu/drm/drm_atomic_helper.c | 55 +++- drivers/gpu/drm/drm_atomic_state_helper.c | 4 + drivers/gpu/drm/drm_atomic_uapi.c | 7 +- drivers/gpu/drm/drm_bridge.c | 110 +++++++ drivers/gpu/drm/drm_self_refresh_helper.c | 213 +++++++++++++ drivers/gpu/drm/i915/intel_atomic.c | 8 +- drivers/gpu/drm/i915/intel_atomic.h | 2 +- drivers/gpu/drm/i915/intel_dp_mst.c | 7 +- drivers/gpu/drm/i915/intel_sdvo.c | 9 +- drivers/gpu/drm/i915/intel_tv.c | 8 +- drivers/gpu/drm/nouveau/dispnv50/disp.c | 5 +- drivers/gpu/drm/rcar-du/rcar_lvds.c | 12 +- drivers/gpu/drm/rockchip/Makefile | 3 +- .../gpu/drm/rockchip/analogix_dp-rockchip.c | 106 ++++--- drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 39 +-- drivers/gpu/drm/rockchip/rockchip_drm_psr.c | 290 ----------------- drivers/gpu/drm/rockchip/rockchip_drm_psr.h | 30 -- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 84 ++++- drivers/gpu/drm/vc4/vc4_txp.c | 7 +- include/drm/bridge/analogix_dp.h | 4 - include/drm/drm_atomic.h | 22 ++ include/drm/drm_bridge.h | 106 +++++++ include/drm/drm_connector.h | 19 ++ include/drm/drm_crtc.h | 19 ++ include/drm/drm_modeset_helper_vtables.h | 50 ++- include/drm/drm_self_refresh_helper.h | 22 ++ 31 files changed, 1066 insertions(+), 551 deletions(-) create mode 100644 drivers/gpu/drm/drm_self_refresh_helper.c delete mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_psr.c delete mode 100644 drivers/gpu/drm/rockchip/rockchip_drm_psr.h create mode 100644 include/drm/drm_self_refresh_helper.h