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()
116 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nv50_get_intensity()
117 struct nvif_object *device = &drm->client.device.object; in nv50_get_intensity()
118 int or = ffs(nv_encoder->dcb->or) - 1; in nv50_get_intensity()
131 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nv50_set_intensity()
132 struct nvif_object *device = &drm->client.device.object; in nv50_set_intensity()
133 int or = ffs(nv_encoder->dcb->or) - 1; in nv50_set_intensity()
135 u32 val = (bd->props.brightness * div) / 100; in nv50_set_intensity()
155 struct drm_connector *connector = dev_get_drvdata(bd->dev.parent); in nv50_edp_get_brightness()
156 struct drm_device *dev = connector->dev; in nv50_edp_get_brightness()
164 ret = drm_modeset_lock(&dev->mode_config.connection_mutex, &ctx); in nv50_edp_get_brightness()
165 if (ret == -EDEADLK) in nv50_edp_get_brightness()
170 crtc = connector->state->crtc; in nv50_edp_get_brightness()
174 ret = drm_modeset_lock(&crtc->mutex, &ctx); in nv50_edp_get_brightness()
175 if (ret == -EDEADLK) in nv50_edp_get_brightness()
180 if (!crtc->state->active) in nv50_edp_get_brightness()
183 ret = bd->props.brightness; in nv50_edp_get_brightness()
196 struct drm_connector *connector = dev_get_drvdata(bd->dev.parent); in nv50_edp_set_brightness()
198 struct drm_device *dev = connector->dev; in nv50_edp_set_brightness()
200 struct drm_dp_aux *aux = &nv_connector->aux; in nv50_edp_set_brightness()
201 struct nouveau_backlight *nv_bl = nv_connector->backlight; in nv50_edp_set_brightness()
207 ret = drm_modeset_lock(&dev->mode_config.connection_mutex, &ctx); in nv50_edp_set_brightness()
208 if (ret == -EDEADLK) in nv50_edp_set_brightness()
213 crtc = connector->state->crtc; in nv50_edp_set_brightness()
217 ret = drm_modeset_lock(&crtc->mutex, &ctx); in nv50_edp_set_brightness()
218 if (ret == -EDEADLK) in nv50_edp_set_brightness()
223 if (crtc->state->active) in nv50_edp_set_brightness()
224 ret = drm_edp_backlight_set_level(aux, &nv_bl->edp_info, bd->props.brightness); in nv50_edp_set_brightness()
244 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nva3_get_intensity()
245 struct nvif_object *device = &drm->client.device.object; in nva3_get_intensity()
246 int or = ffs(nv_encoder->dcb->or) - 1; in nva3_get_intensity()
262 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nva3_set_intensity()
263 struct nvif_object *device = &drm->client.device.object; in nva3_set_intensity()
264 int or = ffs(nv_encoder->dcb->or) - 1; in nva3_set_intensity()
281 return -EINVAL; in nva3_set_intensity()
294 nv50_backlight_init(struct nouveau_backlight *bl, in nv50_backlight_init() argument
300 struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); in nv50_backlight_init()
301 struct nvif_object *device = &drm->client.device.object; in nv50_backlight_init()
305 * so nv_conn->base.status is not set yet. in nv50_backlight_init()
307 if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(ffs(nv_encoder->dcb->or) - 1)) || in nv50_backlight_init()
308 drm_helper_probe_detect(&nv_conn->base, NULL, false) != connector_status_connected) in nv50_backlight_init()
309 return -ENODEV; in nv50_backlight_init()
311 if (nv_conn->type == DCB_CONNECTOR_eDP) { in nv50_backlight_init()
317 ret = drm_dp_dpcd_read(&nv_conn->aux, DP_EDP_DPCD_REV, edp_dpcd, in nv50_backlight_init()
327 nv_conn->base.name); in nv50_backlight_init()
329 ret = drm_edp_backlight_init(&nv_conn->aux, &bl->edp_info, 0, edp_dpcd, in nv50_backlight_init()
334 ret = drm_edp_backlight_enable(&nv_conn->aux, &bl->edp_info, current_level); in nv50_backlight_init()
337 nv_conn->base.name, ret); in nv50_backlight_init()
342 props->brightness = current_level; in nv50_backlight_init()
343 props->max_brightness = bl->edp_info.max; in nv50_backlight_init()
344 bl->uses_dpcd = true; in nv50_backlight_init()
349 if (drm->client.device.info.chipset <= 0xa0 || in nv50_backlight_init()
350 drm->client.device.info.chipset == 0xaa || in nv50_backlight_init()
351 drm->client.device.info.chipset == 0xac) in nv50_backlight_init()
356 props->max_brightness = 100; in nv50_backlight_init()
364 struct nouveau_drm *drm = nouveau_drm(connector->dev); in nouveau_backlight_init()
365 struct nouveau_backlight *bl; in nouveau_backlight_init() local
367 struct nvif_device *device = &drm->client.device; in nouveau_backlight_init()
378 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) in nouveau_backlight_init()
380 else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) in nouveau_backlight_init()
388 bl = kzalloc(sizeof(*bl), GFP_KERNEL); in nouveau_backlight_init()
389 if (!bl) in nouveau_backlight_init()
390 return -ENOMEM; in nouveau_backlight_init()
392 switch (device->info.family) { in nouveau_backlight_init()
404 ret = nv50_backlight_init(bl, nouveau_connector(connector), in nouveau_backlight_init()
413 if (ret == -ENODEV) in nouveau_backlight_init()
423 if (!nouveau_get_backlight_name(backlight_name, bl)) { in nouveau_backlight_init()
424 NV_ERROR(drm, "Failed to retrieve a unique name for the backlight interface\n"); in nouveau_backlight_init()
429 bl->dev = backlight_device_register(backlight_name, connector->kdev, in nouveau_backlight_init()
431 if (IS_ERR(bl->dev)) { in nouveau_backlight_init()
432 if (bl->id >= 0) in nouveau_backlight_init()
433 ida_free(&bl_ida, bl->id); in nouveau_backlight_init()
434 ret = PTR_ERR(bl->dev); in nouveau_backlight_init()
438 nouveau_connector(connector)->backlight = bl; in nouveau_backlight_init()
439 if (!bl->dev->props.brightness) in nouveau_backlight_init()
440 bl->dev->props.brightness = in nouveau_backlight_init()
441 bl->dev->ops->get_brightness(bl->dev); in nouveau_backlight_init()
442 backlight_update_status(bl->dev); in nouveau_backlight_init()
447 kfree(bl); in nouveau_backlight_init()
462 struct nouveau_backlight *bl = nv_conn->backlight; in nouveau_backlight_fini() local
464 if (!bl) in nouveau_backlight_fini()
467 if (bl->id >= 0) in nouveau_backlight_fini()
468 ida_free(&bl_ida, bl->id); in nouveau_backlight_fini()
470 backlight_device_unregister(bl->dev); in nouveau_backlight_fini()
471 nv_conn->backlight = NULL; in nouveau_backlight_fini()
472 kfree(bl); in nouveau_backlight_fini()