Re: [v8 0/6] drm: Support basic DPCD backlight in panel-simple and add a new panel ATNA33XC20

From: Doug Anderson
Date: Fri Jul 09 2021 - 18:38:49 EST


Hi,

On Fri, Jul 9, 2021 at 1:41 PM Ville Syrjälä
<ville.syrjala@xxxxxxxxxxxxxxx> wrote:
>
> On Fri, Jul 09, 2021 at 06:54:05AM -0700, Doug Anderson wrote:
> > Hi,
> >
> > On Sat, Jun 26, 2021 at 9:52 AM Rajeev Nandan <rajeevny@xxxxxxxxxxxxxx> wrote:
> > >
> > > This series adds the support for the eDP panel that needs the backlight
> > > controlling over the DP AUX channel using DPCD registers of the panel
> > > as per the VESA's standard.
> > >
> > > This series also adds support for the Samsung eDP AMOLED panel that
> > > needs DP AUX to control the backlight, and introduces new delays in the
> > > @panel_desc.delay to support this panel.
> > >
> > > This patch series depends on the following two series:
> > > - Doug's series [1], exposed the DP AUX channel to the panel-simple.
> > > - Lyude's series [2], introduced new drm helper functions for DPCD
> > > backlight.
> > >
> > > This series is the logical successor to the series [3].
> > >
> > > Changes in v1:
> > > - Created dpcd backlight helper with very basic functionality, added
> > > backlight registration in the ti-sn65dsi86 bridge driver.
> > >
> > > Changes in v2:
> > > - Created a new DisplayPort aux backlight driver and moved the code from
> > > drm_dp_aux_backlight.c (v1) to the new driver.
> > >
> > > Changes in v3:
> > > - Fixed module compilation (kernel test bot).
> > >
> > > Changes in v4:
> > > - Added basic DPCD backlight support in panel-simple.
> > > - Added support for a new Samsung panel ATNA33XC20 that needs DPCD
> > > backlight controlling and has a requirement of delays between enable
> > > GPIO and regulator.
> > >
> > > Changes in v5:
> > > Addressed review suggestions from Douglas:
> > > - Created a new API drm_panel_dp_aux_backlight() in drm_panel.c
> > > - Moved DP AUX backlight functions from panel-simple.c to drm_panel.c
> > > - panel-simple probe() calls drm_panel_dp_aux_backlight() to create
> > > backlight when the backlight phandle is not specified in panel DT
> > > and DP AUX channel is present.
> > > - Added check for drm_edp_backlight_supported() before registering.
> > > - Removed the @uses_dpcd_backlight flag from panel_desc as this
> > > should be auto-detected.
> > > - Updated comments/descriptions.
> > >
> > > Changes in v6:
> > > - Rebased
> > > - Updated wanrning messages, fixed word wrapping in comments.
> > > - Fixed ordering of memory allocation
> > >
> > > Changes in v7:
> > > - Updated the disable_to_power_off and power_to_enable panel delays
> > > as discovered at <https://crrev.com/c/2966167> (Douglas)
> > >
> > > Changes in v8:
> > > - Now using backlight_is_blank() to get the backlight blank status (Sam Ravnborg)
> > > - Added a new patch #4 to fix the warnings for eDP panel description (Sam Ravnborg)
> > >
> > > [1] https://lore.kernel.org/dri-devel/20210525000159.3384921-1-dianders@xxxxxxxxxxxx/
> > > [2] https://lore.kernel.org/dri-devel/20210514181504.565252-1-lyude@xxxxxxxxxx/
> > > [3] https://lore.kernel.org/dri-devel/1619416756-3533-1-git-send-email-rajeevny@xxxxxxxxxxxxxx/
> > >
> > > Rajeev Nandan (6):
> > > drm/panel: add basic DP AUX backlight support
> > > drm/panel-simple: Support DP AUX backlight
> > > drm/panel-simple: Support for delays between GPIO & regulator
> > > drm/panel-simple: Update validation warnings for eDP panel description
> > > dt-bindings: display: simple: Add Samsung ATNA33XC20
> > > drm/panel-simple: Add Samsung ATNA33XC20
> > >
> > > .../bindings/display/panel/panel-simple.yaml | 2 +
> > > drivers/gpu/drm/drm_panel.c | 108 +++++++++++++++++++++
> > > drivers/gpu/drm/panel/panel-simple.c | 73 +++++++++++++-
> > > include/drm/drm_panel.h | 15 ++-
> > > 4 files changed, 190 insertions(+), 8 deletions(-)
> >
> > Pushed to drm-misc-next.
> >
> > 4bfe6c8f7c23 drm/panel-simple: Add Samsung ATNA33XC20
> > c20dec193584 dt-bindings: display: simple: Add Samsung ATNA33XC20
> > 13aceea56fd5 drm/panel-simple: Update validation warnings for eDP
> > panel description
> > 18a1488bf1e1 drm/panel-simple: Support for delays between GPIO & regulator
> > bfd451403d70 drm/panel-simple: Support DP AUX backlight
> > 10f7b40e4f30 drm/panel: add basic DP AUX backlight support
>
> depmod: ERROR: Cycle detected: drm_kms_helper -> drm -> drm_kms_helper
>
> Looks to be due to drm_edp_backlight_enable().

Ugh. Thanks for the report! I've taken a schwag at a fix here:

https://lore.kernel.org/lkml/20210709152909.1.I23eb4cc5a680341e7b3e791632a635566fa5806a@changeid/

-Doug