Add acpi_gpio_mapping for the panel-enable GPIO, this fixes the following error: "Failed to own gpio for panel control" on BYT/CHT devices where pwm_blc == PPS_BLC_PMIC. Note this patch is untested as I don't have hardware to test this, but it should fix things. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- drivers/gpu/drm/i915/intel_dsi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 3b7acb5a70b3..b2b75ed3cbf9 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -29,6 +29,7 @@ #include <drm/drm_edid.h> #include <drm/i915_drm.h> #include <drm/drm_mipi_dsi.h> +#include <linux/acpi.h> #include <linux/slab.h> #include <linux/gpio/consumer.h> #include "i915_drv.h" @@ -1713,6 +1714,13 @@ static void intel_dsi_add_properties(struct intel_connector *connector) } } +static const struct acpi_gpio_params panel_gpio = { 0, 0, false }; + +static const struct acpi_gpio_mapping panel_gpios[] = { + { "panel", &panel_gpio, 1 }, + { }, +}; + void intel_dsi_init(struct drm_i915_private *dev_priv) { struct drm_device *dev = &dev_priv->drm; @@ -1811,6 +1819,7 @@ void intel_dsi_init(struct drm_i915_private *dev_priv) */ if ((IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) && (dev_priv->vbt.dsi.config->pwm_blc == PPS_BLC_PMIC)) { + devm_acpi_dev_add_driver_gpios(dev->dev, panel_gpios); intel_dsi->gpio_panel = gpiod_get(dev->dev, "panel", GPIOD_OUT_HIGH); -- 2.17.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx