diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2014-08-09 14:10:21 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-08-09 15:13:07 -0400 |
commit | 9c210f378f7cee5f1a5eabe5a78c5ec98251cb5b (patch) | |
tree | 32b9e3f4a3ec775180665ba9e4b39d8e68e190eb /drivers/gpu/drm/nouveau/nouveau_display.c | |
parent | d01c3092f065810b9f6cd8cc9918713f48884f46 (diff) |
drm/nouveau/core: remove NV_D0 family
The one place where it mattered has been replaced with a class check,
which is more appropriate anyway.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_display.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_display.c | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index ff43b41af2e1..6e9892c9f811 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c | |||
@@ -393,26 +393,16 @@ nouveau_display_fini(struct drm_device *dev) | |||
393 | disp->fini(dev); | 393 | disp->fini(dev); |
394 | } | 394 | } |
395 | 395 | ||
396 | int | 396 | static void |
397 | nouveau_display_create(struct drm_device *dev) | 397 | nouveau_display_create_properties(struct drm_device *dev) |
398 | { | 398 | { |
399 | struct nouveau_drm *drm = nouveau_drm(dev); | 399 | struct nouveau_display *disp = nouveau_display(dev); |
400 | struct nouveau_device *device = nouveau_dev(dev); | 400 | int gen; |
401 | struct nouveau_display *disp; | ||
402 | int ret, gen; | ||
403 | |||
404 | disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL); | ||
405 | if (!disp) | ||
406 | return -ENOMEM; | ||
407 | |||
408 | drm_mode_config_init(dev); | ||
409 | drm_mode_create_scaling_mode_property(dev); | ||
410 | drm_mode_create_dvi_i_properties(dev); | ||
411 | 401 | ||
412 | if (nv_device(drm->device)->card_type < NV_50) | 402 | if (nv_mclass(disp->core) < NV50_DISP_CLASS) |
413 | gen = 0; | 403 | gen = 0; |
414 | else | 404 | else |
415 | if (nv_device(drm->device)->card_type < NV_D0) | 405 | if (nv_mclass(disp->core) < NVD0_DISP_CLASS) |
416 | gen = 1; | 406 | gen = 1; |
417 | else | 407 | else |
418 | gen = 2; | 408 | gen = 2; |
@@ -427,15 +417,33 @@ nouveau_display_create(struct drm_device *dev) | |||
427 | disp->underscan_vborder_property = | 417 | disp->underscan_vborder_property = |
428 | drm_property_create_range(dev, 0, "underscan vborder", 0, 128); | 418 | drm_property_create_range(dev, 0, "underscan vborder", 0, 128); |
429 | 419 | ||
430 | if (gen >= 1) { | 420 | if (gen < 1) |
431 | /* -90..+90 */ | 421 | return; |
432 | disp->vibrant_hue_property = | ||
433 | drm_property_create_range(dev, 0, "vibrant hue", 0, 180); | ||
434 | 422 | ||
435 | /* -100..+100 */ | 423 | /* -90..+90 */ |
436 | disp->color_vibrance_property = | 424 | disp->vibrant_hue_property = |
437 | drm_property_create_range(dev, 0, "color vibrance", 0, 200); | 425 | drm_property_create_range(dev, 0, "vibrant hue", 0, 180); |
438 | } | 426 | |
427 | /* -100..+100 */ | ||
428 | disp->color_vibrance_property = | ||
429 | drm_property_create_range(dev, 0, "color vibrance", 0, 200); | ||
430 | } | ||
431 | |||
432 | int | ||
433 | nouveau_display_create(struct drm_device *dev) | ||
434 | { | ||
435 | struct nouveau_drm *drm = nouveau_drm(dev); | ||
436 | struct nouveau_device *device = nouveau_dev(dev); | ||
437 | struct nouveau_display *disp; | ||
438 | int ret; | ||
439 | |||
440 | disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL); | ||
441 | if (!disp) | ||
442 | return -ENOMEM; | ||
443 | |||
444 | drm_mode_config_init(dev); | ||
445 | drm_mode_create_scaling_mode_property(dev); | ||
446 | drm_mode_create_dvi_i_properties(dev); | ||
439 | 447 | ||
440 | dev->mode_config.funcs = &nouveau_mode_config_funcs; | 448 | dev->mode_config.funcs = &nouveau_mode_config_funcs; |
441 | dev->mode_config.fb_base = nv_device_resource_start(device, 1); | 449 | dev->mode_config.fb_base = nv_device_resource_start(device, 1); |
@@ -487,6 +495,7 @@ nouveau_display_create(struct drm_device *dev) | |||
487 | } | 495 | } |
488 | 496 | ||
489 | if (ret == 0) { | 497 | if (ret == 0) { |
498 | nouveau_display_create_properties(dev); | ||
490 | if (nv_mclass(disp->core) < NV50_DISP_CLASS) | 499 | if (nv_mclass(disp->core) < NV50_DISP_CLASS) |
491 | ret = nv04_display_create(dev); | 500 | ret = nv04_display_create(dev); |
492 | else | 501 | else |