Lines Matching +full:bl +full:- +full:name

33 #include <linux/apple-gmux.h>
45 #define BL_NAME_SIZE 15 // 12 for name + 2 for digits + 1 for '\0'
49 struct nouveau_backlight *bl) in nouveau_get_backlight_name() argument
59 bl->id = nb; in nouveau_get_backlight_name()
67 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nv40_get_intensity()
68 struct nvif_object *device = &drm->client.device.object; in nv40_get_intensity()
79 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nv40_set_intensity()
80 struct nvif_object *device = &drm->client.device.object; in nv40_set_intensity()
81 int val = bd->props.brightness; in nv40_set_intensity()
101 struct nouveau_drm *drm = nouveau_drm(encoder->base.base.dev); in nv40_backlight_init()
102 struct nvif_object *device = &drm->client.device.object; in nv40_backlight_init()
105 return -ENODEV; in nv40_backlight_init()
107 props->max_brightness = 31; in nv40_backlight_init()
119 struct drm_connector *connector = dev_get_drvdata(bd->dev.parent); in nv50_edp_get_brightness()
120 struct drm_device *dev = connector->dev; in nv50_edp_get_brightness()
128 ret = drm_modeset_lock(&dev->mode_config.connection_mutex, &ctx); in nv50_edp_get_brightness()
129 if (ret == -EDEADLK) in nv50_edp_get_brightness()
134 crtc = connector->state->crtc; in nv50_edp_get_brightness()
138 ret = drm_modeset_lock(&crtc->mutex, &ctx); in nv50_edp_get_brightness()
139 if (ret == -EDEADLK) in nv50_edp_get_brightness()
144 if (!crtc->state->active) in nv50_edp_get_brightness()
147 ret = bd->props.brightness; in nv50_edp_get_brightness()
160 struct drm_connector *connector = dev_get_drvdata(bd->dev.parent); in nv50_edp_set_brightness()
162 struct drm_device *dev = connector->dev; in nv50_edp_set_brightness()
164 struct drm_dp_aux *aux = &nv_connector->aux; in nv50_edp_set_brightness()
165 struct nouveau_backlight *nv_bl = nv_connector->backlight; in nv50_edp_set_brightness()
171 ret = drm_modeset_lock(&dev->mode_config.connection_mutex, &ctx); in nv50_edp_set_brightness()
172 if (ret == -EDEADLK) in nv50_edp_set_brightness()
177 crtc = connector->state->crtc; in nv50_edp_set_brightness()
181 ret = drm_modeset_lock(&crtc->mutex, &ctx); in nv50_edp_set_brightness()
182 if (ret == -EDEADLK) in nv50_edp_set_brightness()
187 if (crtc->state->active) in nv50_edp_set_brightness()
188 ret = drm_edp_backlight_set_level(aux, &nv_bl->edp_info, bd->props.brightness); in nv50_edp_set_brightness()
209 return nvif_outp_bl_get(&nv_encoder->outp); in nv50_get_intensity()
217 return nvif_outp_bl_set(&nv_encoder->outp, backlight_get_brightness(bd)); in nv50_set_intensity()
230 nv50_backlight_init(struct nouveau_backlight *bl, in nv50_backlight_init() argument
236 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nv50_backlight_init()
240 * so nv_conn->base.status is not set yet. in nv50_backlight_init()
242 if (nvif_outp_bl_get(&nv_encoder->outp) < 0 || in nv50_backlight_init()
243 drm_helper_probe_detect(&nv_conn->base, NULL, false) != connector_status_connected) in nv50_backlight_init()
244 return -ENODEV; in nv50_backlight_init()
246 if (nv_conn->type == DCB_CONNECTOR_eDP) { in nv50_backlight_init()
252 ret = drm_dp_dpcd_read(&nv_conn->aux, DP_EDP_DPCD_REV, edp_dpcd, in nv50_backlight_init()
262 nv_conn->base.name); in nv50_backlight_init()
264 ret = drm_edp_backlight_init(&nv_conn->aux, &bl->edp_info, 0, edp_dpcd, in nv50_backlight_init()
269 ret = drm_edp_backlight_enable(&nv_conn->aux, &bl->edp_info, current_level); in nv50_backlight_init()
272 nv_conn->base.name, ret); in nv50_backlight_init()
277 props->brightness = current_level; in nv50_backlight_init()
278 props->max_brightness = bl->edp_info.max; in nv50_backlight_init()
279 bl->uses_dpcd = true; in nv50_backlight_init()
285 props->max_brightness = 100; in nv50_backlight_init()
292 struct nouveau_drm *drm = nouveau_drm(connector->dev); in nouveau_backlight_init()
293 struct nouveau_backlight *bl; in nouveau_backlight_init() local
295 struct nvif_device *device = &drm->client.device; in nouveau_backlight_init()
306 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) in nouveau_backlight_init()
308 else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) in nouveau_backlight_init()
316 bl = kzalloc(sizeof(*bl), GFP_KERNEL); in nouveau_backlight_init()
317 if (!bl) in nouveau_backlight_init()
318 return -ENOMEM; in nouveau_backlight_init()
320 switch (device->info.family) { in nouveau_backlight_init()
332 ret = nv50_backlight_init(bl, nouveau_connector(connector), in nouveau_backlight_init()
341 if (ret == -ENODEV) in nouveau_backlight_init()
351 if (!nouveau_get_backlight_name(backlight_name, bl)) { in nouveau_backlight_init()
352 NV_ERROR(drm, "Failed to retrieve a unique name for the backlight interface\n"); in nouveau_backlight_init()
357 bl->dev = backlight_device_register(backlight_name, connector->kdev, in nouveau_backlight_init()
359 if (IS_ERR(bl->dev)) { in nouveau_backlight_init()
360 if (bl->id >= 0) in nouveau_backlight_init()
361 ida_free(&bl_ida, bl->id); in nouveau_backlight_init()
362 ret = PTR_ERR(bl->dev); in nouveau_backlight_init()
366 nouveau_connector(connector)->backlight = bl; in nouveau_backlight_init()
367 if (!bl->dev->props.brightness) in nouveau_backlight_init()
368 bl->dev->props.brightness = in nouveau_backlight_init()
369 bl->dev->ops->get_brightness(bl->dev); in nouveau_backlight_init()
370 backlight_update_status(bl->dev); in nouveau_backlight_init()
375 kfree(bl); in nouveau_backlight_init()
390 struct nouveau_backlight *bl = nv_conn->backlight; in nouveau_backlight_fini() local
392 if (!bl) in nouveau_backlight_fini()
395 if (bl->id >= 0) in nouveau_backlight_fini()
396 ida_free(&bl_ida, bl->id); in nouveau_backlight_fini()
398 backlight_device_unregister(bl->dev); in nouveau_backlight_fini()
399 nv_conn->backlight = NULL; in nouveau_backlight_fini()
400 kfree(bl); in nouveau_backlight_fini()