]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
drm/i915: panel: Use atomic PWM API for devs with an external PWM controller
authorHans de Goede <hdegoede@redhat.com>
Thu, 3 Sep 2020 11:23:37 +0000 (13:23 +0200)
committerHans de Goede <hdegoede@redhat.com>
Sun, 6 Sep 2020 13:53:37 +0000 (15:53 +0200)
commitf8bd54d2190469e2244ade66cc1551b2a8f4f138
tree9fa0e8d09c7aa99eab32cc02a37a363644c53a24
parent9a6ae5b354ed09f61cfa3acbb19fecd64f46b097
drm/i915: panel: Use atomic PWM API for devs with an external PWM controller

Now that the PWM drivers which we use have been converted to the atomic
PWM API, we can move the i915 panel code over to using the atomic PWM API.

The removes a long standing FIXME and this removes a flicker where
the backlight brightness would jump to 100% when i915 loads even if
using the fastset path.

Note that this commit also simplifies pwm_disable_backlight(), by dropping
the intel_panel_actually_set_backlight(..., 0) call. This call sets the
PWM to 0% duty-cycle. I believe that this call was only present as a
workaround for a bug in the pwm-crc.c driver where it failed to clear the
PWM_OUTPUT_ENABLE bit. This is fixed by an earlier patch in this series.

After the dropping of this workaround, the usleep call, which seems
unnecessary to begin with, has no useful effect anymore, so drop that too.

Acked-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200903112337.4113-18-hdegoede@redhat.com
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_panel.c