From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.4 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE44CC433E0 for ; Thu, 9 Jul 2020 14:41:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C5D312073A for ; Thu, 9 Jul 2020 14:41:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Lirb8rDV" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726617AbgGIOlR (ORCPT ); Thu, 9 Jul 2020 10:41:17 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:28443 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727092AbgGIOlR (ORCPT ); Thu, 9 Jul 2020 10:41:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594305675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xtGo37WFcbzrM1ZvQh+IMQbh1Z4M0Wk13pfOcRFcm88=; b=Lirb8rDVcKNobS4w4IbFl6IOfhOSIuhZrrnws97gUaVwrDc0DjuRsxtS7bQWofSIZ4gltk v3D+HA3ELocn3+mMvjZuCnfDwmUhfMLShMdiqmM1AQt+MqxiqfJ8tWY33aP0YD1Zra+buc UpR82zONPfdfmiUOjl6lOvUJct46lAE= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-311-q3MHViCTPYWIaPnal0TCag-1; Thu, 09 Jul 2020 10:41:01 -0400 X-MC-Unique: q3MHViCTPYWIaPnal0TCag-1 Received: by mail-wm1-f69.google.com with SMTP id g6so2347902wmk.4 for ; Thu, 09 Jul 2020 07:41:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=xtGo37WFcbzrM1ZvQh+IMQbh1Z4M0Wk13pfOcRFcm88=; b=ZxMW8EYjBE/kE0YIOeftbt4YYJFcA1+JbHP4TFOP4xWc9XqmuFFmmm3kmG7oEVm40L uaSuPURYHmhcNbmdOYd2LKoUSiZ25AIK/PxEESaOkvmfCblAKkqTwel5gYaNc0+oCiSp ZgpWFAJcX1v/5WnCd204smYFV+DpbsJ2lJw+Oh4NobfSiZuhWYe3hI7iA/VD2OGwfLrU XFFD5Mnci3LSYmmFep8Pb0oaDqVvRsZ+8ZnQx6aSKjCKH02kt6nqMPWlKomWuLbhED/p UH7Je0rT5GJMF9T5gnWo4nv8HTcqltH5AE/X+rUPEpYXKmMnU3xJimi+eQ6nsapgqeXe LyJQ== X-Gm-Message-State: AOAM532E6U7LVFbf/BE5/vATKZccSXy1DTIkCrXPV7P8LoUPlyRF1EU2 G+v8dUgUoDkJVgWwlwEpVy1bmvawOStt7Fb4ArIJqb6tYON7awR+prmqM/4VUgCC44xamkdQptY uTUETbzSHFD9Zku3khqthSg== X-Received: by 2002:adf:82a1:: with SMTP id 30mr68204935wrc.210.1594305659640; Thu, 09 Jul 2020 07:40:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyC8Qx1lqmqv5eBOWYGriOdRymqExqIMuGFeC+1LPMcpYaZ1AsqSB9SUbO9rPu7uEL1sgHSQQ== X-Received: by 2002:adf:82a1:: with SMTP id 30mr68204858wrc.210.1594305658678; Thu, 09 Jul 2020 07:40:58 -0700 (PDT) Received: from x1.localdomain ([2a0e:5700:4:11:334c:7e36:8d57:40cb]) by smtp.gmail.com with ESMTPSA id j6sm5217876wma.25.2020.07.09.07.40.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Jul 2020 07:40:57 -0700 (PDT) Subject: Re: [PATCH v4 00/15] acpi/pwm/i915: Convert pwm-crc and i915 driver's PWM code to use the atomic PWM API To: Sam Ravnborg Cc: Thierry Reding , =?UTF-8?Q?Uwe_Kleine-K=c3=b6nig?= , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , "Rafael J . Wysocki" , Len Brown , linux-pwm@vger.kernel.org, linux-acpi@vger.kernel.org, intel-gfx , dri-devel@lists.freedesktop.org, Andy Shevchenko , Mika Westerberg References: <20200708211432.28612-1-hdegoede@redhat.com> <20200709141407.GA226971@ravnborg.org> From: Hans de Goede Message-ID: Date: Thu, 9 Jul 2020 16:40:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <20200709141407.GA226971@ravnborg.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Hi, On 7/9/20 4:14 PM, Sam Ravnborg wrote: > Hi Hans. > > On Wed, Jul 08, 2020 at 11:14:16PM +0200, Hans de Goede wrote: >> Hi All, >> >> Here is v4 of my patch series converting the i915 driver's code for >> controlling the panel's backlight with an external PWM controller to >> use the atomic PWM API. See below for the changelog. > > Why is it that i915 cannot use the pwm_bl driver for backlight? > I have not studied the code - just wondering. The intel_panel.c code deals with 7 different types of PWM controllers which are built into the GPU + support for external PWM controllers through the kernel's PWM subsystem. pwm_bl will work for the external PWM controller case, but not for the others. On top of that the intel_panel code integrates which the video BIOS, getting things like frequency, minimum value and if the range is inverted (0% duty == backlight brightness max). I'm not even sure if pwm_bl supports all of this, but even if it does the intel_panel code handles this in a unified manner for all supported PWM controllers, including the ones which are an integral part of the GPU. Regards, Hans >> Initially the plan was for this series to consist of 2 parts: >> 1. convert the pwm-crc driver to support the atomic PWM API and >> 2. convert the i915 driver's PWM code to use the atomic PWM API. >> >> But during testing I've found a number of bugs in the pwm-lpss and I >> found that the acpi_lpss code needs some special handling because of >> some ugliness found in most Cherry Trail DSDTs. >> >> So now this series has grown somewhat large and consists of 4 parts: >> >> 1. acpi_lpss fixes workarounds for Cherry Trail DSTD nastiness >> 2. various fixes to the pwm-lpss driver >> 3. convert the pwm-crc driver to support the atomic PWM API and >> 4. convert the i915 driver's PWM code to use the atomic PWM API >> >> The involved acpi_lpss and pwm drivers do not see a whole lot of churn, >> so the plan is to merge this all through drm-intel-next-queued (dinq) >> once all the patches are reviewed / have acks. >> >> In v4 the ACPI patches have been Acked by Rafael and the i915 patches >> have been acked by Jani. So that just leaves the PWM patches. >> >> Uwe can I get your ok / ack for merging this through the dinq branch >> once you have acked al the PWM patches ? >> >> This series has been tested (and re-tested after adding various bug-fixes) >> extensively. It has been tested on the following devices: >> >> -Asus T100TA BYT + CRC-PMIC PWM >> -Toshiba WT8-A BYT + CRC-PMIC PWM >> -Thundersoft TS178 BYT + CRC-PMIC PWM, inverse PWM >> -Asus T100HA CHT + CRC-PMIC PWM >> -Terra Pad 1061 BYT + LPSS PWM >> -Trekstor Twin 10.1 BYT + LPSS PWM >> -Asus T101HA CHT + CRC-PMIC PWM >> -GPD Pocket CHT + CRC-PMIC PWM >> >> Changelog: >> >> Changes in v2: >> - Fix coverletter subject >> - Drop accidentally included debugging patch >> - "[PATCH v3 02/15] ACPI / LPSS: Save Cherry Trail PWM ctx registers only once ( >> - Move #define LPSS_SAVE_CTX_ONCE define to group it with LPSS_SAVE_CTX >> >> Changes in v3: >> - "[PATCH v3 04/15] pwm: lpss: Add range limit check for the base_unit register value" >> - Use base_unit_range - 1 as maximum value for the clamp() >> - "[PATCH v3 05/15] pwm: lpss: Use pwm_lpss_apply() when restoring state on resume" >> - This replaces the "pwm: lpss: Set SW_UPDATE bit when enabling the PWM" >> patch from previous versions of this patch-set, which really was a hack >> working around the resume issue which this patch fixes properly. >> - PATCH v3 6 - 11 pwm-crc changes: >> - Various small changes resulting from the reviews by Andy and Uwe, >> including some refactoring of the patches to reduce the amount of churn >> in the patch-set >> >> Changes in v4: >> - "[PATCH v4 06/16] pwm: lpss: Correct get_state result for base_unit == 0" >> - This is a new patch in v4 of this patchset >> - "[PATCH v4 12/16] pwm: crc: Implement get_state() method" >> - Use DIV_ROUND_UP when calculating the period and duty_cycle values >> - "[PATCH v4 16/16] drm/i915: panel: Use atomic PWM API for devs with an external PWM controller" >> - Add a note to the commit message about the changes in pwm_disable_backlight() >> - Use the pwm_set/get_relative_duty_cycle() helpers >> >> Regards, >> >> Hans >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel >