On Fri, Apr 29, 2016 at 08:04:09AM -0400, Rob Clark wrote:
On Fri, Apr 29, 2016 at 1:32 AM, Vinay Simha simhavcs@gmail.com wrote:
hi,
In nx7, backlight brightness control is controlled by dcs commands of MIPI_DCS_SET_DISPLAY_BRIGHTNESS. there is no PWM going to panel interface directly as we have in ifc6410/nx5
afaiu it is not uncommon to need to control backlight via panel (ie, I think basically all adaptive-backlight panels). I think the answer is for these panels, the panel driver would register it's own backlight driver, rather than get a (pwm, etc) backlight via dt bindings.
Yes, that'd be my recommendation as well.
Possibly if the backlight commands are standardized enough then we could implement a single drm_panel_dsi_backlight helper which could be created by any of the dsi adaptive-backlight panels (ie. pass in a 'struct mipi_dsi_device *').. something like:
struct drm_panel_dsi_backlight { struct mipi_panel_dsi_device *link; ... }
struct backlight_device *drm_panel_create_dsi_backlight(struct mipi_panel_dsi_device *link) { struct drm_panel_dsi_backlight *dsi_bl; ... return devm_backlight_device_register(&link->dev, ..., dsi_bl, dsi_bl_ops, props); }
I agree it would make sense to have a DCS specific helper for backlight. I'm somewhat sceptical about the standardization, even though these seem to be part of DCS 1.3. But perhaps we can start by being optimistic.
Thierry