Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp3142228pxb; Tue, 20 Apr 2021 01:15:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDez7pbpuoLXyEuiXfA1iIlNw+Nk0JNn6lEKAFr3KS+iZd6ioBsOAVRZgW9YmsnESTGhIh X-Received: by 2002:a05:6402:31ac:: with SMTP id dj12mr12481344edb.267.1618906545298; Tue, 20 Apr 2021 01:15:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618906545; cv=none; d=google.com; s=arc-20160816; b=L4tHzdBs97IdIPv91CgOIH1tL6tQxR5yOEw/ysYSDpEMEMqkxoyB4cjzsEjE8Lf/7v bXYBG6rtBSdS95Kzf4ESiEgr520FYpDU+u6oI+umjwM5+9HrkArIyizBOiqlElzHWhnk HvI2+z2H3JSDwiT0LzhK0ZbKWUK8DWRtKv5iBFDL1vajm/5HyT+4Up3zhfA2f4CSC57c dUw9XYzxOSWSMB6yQjG6Z03aqckdooGxZluMHUtpIw9H4Kg7SS8Fs6WCup/VSuZ0ztS1 pj778Nle9qunYqeW8sMvdTJ3jH5kNe7xaLHs7INGNQ/swp9+bkNzKPBRuHZLKZfsKeD/ ac0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :organization:in-reply-to:subject:cc:to:from:ironport-sdr :ironport-sdr; bh=El0ZWpXIWpOjLBt01CFxGPCtqIovn4GJfUzENoWIqp0=; b=XlscEBCZbP5V5O7ylNglx40YBD/1VUvH5pS06BgWHuee50I/5FwhhXDCy3t4+EUPec tEu/UHz2gy28QoHNWs5yFoXFRkbO3h6vOrqtdh45DMxIacLwYcO7cAGZHuAgvEcyN0A0 DRIdpN/GVLKWqnCPg3WGk84vJr7IF0xZ0s8cEi2KhcDO29w+/IHRdM17F5H1wbE3YG3g UZj1Tt7ORp431QB9XKeRqOT5E6uQom6ErfnPRY44/K8w0MACFhRSnASaz/iUIJTRhNTk DJY8tEIlh32tvZ7Aa+KGJPb9rCqI6OgwC+5HfgIPK5ONXe5NEftix7hoQjL/mEQ9XEsl h2Jw== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gn17si14710881ejc.324.2021.04.20.01.15.22; Tue, 20 Apr 2021 01:15:45 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229551AbhDTIO5 (ORCPT + 99 others); Tue, 20 Apr 2021 04:14:57 -0400 Received: from mga14.intel.com ([192.55.52.115]:24307 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229543AbhDTIO5 (ORCPT ); Tue, 20 Apr 2021 04:14:57 -0400 IronPort-SDR: V+jqhMYR8N4lmIp+LH/R/2umng7G/eaDGHF+AjHA7StJ+Dezjo+XBv4lpd7C1HBRJsiDMLeykh qaGGPBdNCSJQ== X-IronPort-AV: E=McAfee;i="6200,9189,9959"; a="195022993" X-IronPort-AV: E=Sophos;i="5.82,236,1613462400"; d="scan'208";a="195022993" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2021 01:14:26 -0700 IronPort-SDR: Cxj7ganx+nV90yPpMiVWE6qtl6+EMVAiGF6UykeJoDtukenFRfrSPjRTDSrKPkZSKpGF2Cna0F F6uvu7cEBDBQ== X-IronPort-AV: E=Sophos;i="5.82,236,1613462400"; d="scan'208";a="426831797" Received: from karunatx-mobl.gar.corp.intel.com (HELO localhost) ([10.252.35.249]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2021 01:14:21 -0700 From: Jani Nikula To: Rajeev Nandan , dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org Cc: mkrishn@codeaurora.org, Rajeev Nandan , linux-kernel@vger.kernel.org, abhinavk@codeaurora.org, dianders@chromium.org, seanpaul@chromium.org, kalyan_t@codeaurora.org, hoegsberg@chromium.org, Lyude Paul , "Lankhorst\, Maarten" , Maxime Ripard , Thomas Zimmermann Subject: Re: [v1 0/3] drm: Add support for backlight control of eDP panel on ti-sn65dsi86 bridge In-Reply-To: <1618418390-15055-1-git-send-email-rajeevny@codeaurora.org> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <1618418390-15055-1-git-send-email-rajeevny@codeaurora.org> Date: Tue, 20 Apr 2021 11:14:18 +0300 Message-ID: <871rb5bcf9.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Cc: Lyude and drm-misc maintainers On Wed, 14 Apr 2021, Rajeev Nandan wrote: > The backlight level of an eDP panel can be controlled through the AUX > channel using DPCD registers of the panel. > > The capability for the Source device to adjust backlight characteristics > within the panel, using the Sink device DPCD registers is indicated by > the TCON_BACKLIGHT_ADJUSTMENT_CAPABLE bit in the EDP_GENERAL_CAPABILITY_1 > register (DPCD Address 701h, bit0). In this configuration, the eDP TCON > receives the backlight level information from the host, through the AUX > channel. i915 has had this capability for some years now, and work is in progress to extract the DP AUX backlight code to drm core as helpers [1]. There's much more to it than what's proposed here. Adding incompatible DP AUX code at this point would be a pretty bad outcome. For example, we can't tie backlight device register to DP AUX backlight, because there are modes where *both* the eDP PWM pin based backlight control and DP AUX backlight control are used *simultaneously*. The backlight device register needs to be in code that is aware of both. Granted, it was a mistake way back when to add this in i915 only, and it should've been lifted to drm much earlier. It would've been done by Lyude by now, but people were not happy about not using drm device based logging. And that has unfortunately lead to a pretty massive prep series [2]. Please look into the code added to drm helpers in [1], and see how that would work for you. BR, Jani. [1] http://lore.kernel.org/r/20210205234515.1216538-1-lyude@redhat.com [2] http://lore.kernel.org/r/20210419225523.184856-1-lyude@redhat.com > > The changes in this patch series do the following: > - Add drm_dp_aux_backlight_ APIs to support backlight control using DPCD > registers on the DisplayPort AUX channel. > The current version only supports backlight brightness control by the > EDP_BACKLIGHT_BRIGHTNESS_MSB/LSB registers (DPCD Addresses 722h-723h). > - Add support for backlight control of the eDP panel connected to the > ti-sn65dsi86 bridge. > > Rajeev Nandan (3): > drm/dp: Add DisplayPort aux backlight control support > dt-bindings: drm/bridge: ti-sn65dsi86: Document use-aux-backlight > drm/bridge: ti-sn65dsi86: Add DisplayPort aux backlight support > > .../bindings/display/bridge/ti,sn65dsi86.yaml | 8 + > drivers/gpu/drm/Kconfig | 8 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/bridge/Kconfig | 1 + > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 26 +++ > drivers/gpu/drm/drm_dp_aux_backlight.c | 191 +++++++++++++++++++++ > include/drm/drm_dp_aux_backlight.h | 29 ++++ > 7 files changed, 264 insertions(+) > create mode 100644 drivers/gpu/drm/drm_dp_aux_backlight.c > create mode 100644 include/drm/drm_dp_aux_backlight.h -- Jani Nikula, Intel Open Source Graphics Center