2021-06-26 16:56:05

by Rajeev Nandan

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

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/[email protected]/
[2] https://lore.kernel.org/dri-devel/[email protected]/
[3] https://lore.kernel.org/dri-devel/[email protected]/

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(-)

--
2.7.4


2021-07-09 14:02:18

by Doug Anderson

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

Hi,

On Sat, Jun 26, 2021 at 9:52 AM Rajeev Nandan <[email protected]> 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/[email protected]/
> [2] https://lore.kernel.org/dri-devel/[email protected]/
> [3] https://lore.kernel.org/dri-devel/[email protected]/
>
> 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

-Doug

2021-07-09 20:45:03

by Ville Syrjälä

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

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 <[email protected]> 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/[email protected]/
> > [2] https://lore.kernel.org/dri-devel/[email protected]/
> > [3] https://lore.kernel.org/dri-devel/[email protected]/
> >
> > 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().

--
Ville Syrj?l?
Intel

2021-07-09 22:40:18

by Doug Anderson

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

Hi,

On Fri, Jul 9, 2021 at 1:41 PM Ville Syrjälä
<[email protected]> 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 <[email protected]> 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/[email protected]/
> > > [2] https://lore.kernel.org/dri-devel/[email protected]/
> > > [3] https://lore.kernel.org/dri-devel/[email protected]/
> > >
> > > 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