Commit 9c210f37 authored by Ben Skeggs's avatar Ben Skeggs

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: default avatarBen Skeggs <bskeggs@redhat.com>
parent d01c3092
...@@ -116,8 +116,7 @@ nouveau_devobj_info(struct nouveau_object *object, void *data, u32 size) ...@@ -116,8 +116,7 @@ nouveau_devobj_info(struct nouveau_object *object, void *data, u32 size)
case NV_30: args->v0.family = NV_DEVICE_INFO_V0_RANKINE; break; case NV_30: args->v0.family = NV_DEVICE_INFO_V0_RANKINE; break;
case NV_40: args->v0.family = NV_DEVICE_INFO_V0_CURIE; break; case NV_40: args->v0.family = NV_DEVICE_INFO_V0_CURIE; break;
case NV_50: args->v0.family = NV_DEVICE_INFO_V0_TESLA; break; case NV_50: args->v0.family = NV_DEVICE_INFO_V0_TESLA; break;
case NV_C0: case NV_C0: args->v0.family = NV_DEVICE_INFO_V0_FERMI; break;
case NV_D0: args->v0.family = NV_DEVICE_INFO_V0_FERMI; break;
case NV_E0: args->v0.family = NV_DEVICE_INFO_V0_KEPLER; break; case NV_E0: args->v0.family = NV_DEVICE_INFO_V0_KEPLER; break;
case GM100: args->v0.family = NV_DEVICE_INFO_V0_MAXWELL; break; case GM100: args->v0.family = NV_DEVICE_INFO_V0_MAXWELL; break;
default: default:
...@@ -305,8 +304,8 @@ nouveau_devobj_ctor(struct nouveau_object *parent, ...@@ -305,8 +304,8 @@ nouveau_devobj_ctor(struct nouveau_object *parent,
case 0x080: case 0x080:
case 0x090: case 0x090:
case 0x0a0: device->card_type = NV_50; break; case 0x0a0: device->card_type = NV_50; break;
case 0x0c0: device->card_type = NV_C0; break; case 0x0c0:
case 0x0d0: device->card_type = NV_D0; break; case 0x0d0: device->card_type = NV_C0; break;
case 0x0e0: case 0x0e0:
case 0x0f0: case 0x0f0:
case 0x100: device->card_type = NV_E0; break; case 0x100: device->card_type = NV_E0; break;
...@@ -331,8 +330,7 @@ nouveau_devobj_ctor(struct nouveau_object *parent, ...@@ -331,8 +330,7 @@ nouveau_devobj_ctor(struct nouveau_object *parent,
case NV_30: ret = nv30_identify(device); break; case NV_30: ret = nv30_identify(device); break;
case NV_40: ret = nv40_identify(device); break; case NV_40: ret = nv40_identify(device); break;
case NV_50: ret = nv50_identify(device); break; case NV_50: ret = nv50_identify(device); break;
case NV_C0: case NV_C0: ret = nvc0_identify(device); break;
case NV_D0: ret = nvc0_identify(device); break;
case NV_E0: ret = nve0_identify(device); break; case NV_E0: ret = nve0_identify(device); break;
case GM100: ret = gm100_identify(device); break; case GM100: ret = gm100_identify(device); break;
default: default:
......
...@@ -87,7 +87,6 @@ struct nouveau_device { ...@@ -87,7 +87,6 @@ struct nouveau_device {
NV_40 = 0x40, NV_40 = 0x40,
NV_50 = 0x50, NV_50 = 0x50,
NV_C0 = 0xc0, NV_C0 = 0xc0,
NV_D0 = 0xd0,
NV_E0 = 0xe0, NV_E0 = 0xe0,
GM100 = 0x110, GM100 = 0x110,
} card_type; } card_type;
......
...@@ -95,7 +95,6 @@ nouveau_abi16_swclass(struct nouveau_drm *drm) ...@@ -95,7 +95,6 @@ nouveau_abi16_swclass(struct nouveau_drm *drm)
case NV_50: case NV_50:
return 0x506e; return 0x506e;
case NV_C0: case NV_C0:
case NV_D0:
case NV_E0: case NV_E0:
case GM100: case GM100:
return 0x906e; return 0x906e;
......
...@@ -231,7 +231,6 @@ nouveau_backlight_init(struct drm_device *dev) ...@@ -231,7 +231,6 @@ nouveau_backlight_init(struct drm_device *dev)
return nv40_backlight_init(connector); return nv40_backlight_init(connector);
case NV_50: case NV_50:
case NV_C0: case NV_C0:
case NV_D0:
case NV_E0: case NV_E0:
return nv50_backlight_init(connector); return nv50_backlight_init(connector);
default: default:
......
...@@ -393,26 +393,16 @@ nouveau_display_fini(struct drm_device *dev) ...@@ -393,26 +393,16 @@ nouveau_display_fini(struct drm_device *dev)
disp->fini(dev); disp->fini(dev);
} }
int static void
nouveau_display_create(struct drm_device *dev) nouveau_display_create_properties(struct drm_device *dev)
{ {
struct nouveau_drm *drm = nouveau_drm(dev); struct nouveau_display *disp = nouveau_display(dev);
struct nouveau_device *device = nouveau_dev(dev); int gen;
struct nouveau_display *disp;
int ret, gen;
disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL);
if (!disp)
return -ENOMEM;
drm_mode_config_init(dev);
drm_mode_create_scaling_mode_property(dev);
drm_mode_create_dvi_i_properties(dev);
if (nv_device(drm->device)->card_type < NV_50) if (nv_mclass(disp->core) < NV50_DISP_CLASS)
gen = 0; gen = 0;
else else
if (nv_device(drm->device)->card_type < NV_D0) if (nv_mclass(disp->core) < NVD0_DISP_CLASS)
gen = 1; gen = 1;
else else
gen = 2; gen = 2;
...@@ -427,15 +417,33 @@ nouveau_display_create(struct drm_device *dev) ...@@ -427,15 +417,33 @@ nouveau_display_create(struct drm_device *dev)
disp->underscan_vborder_property = disp->underscan_vborder_property =
drm_property_create_range(dev, 0, "underscan vborder", 0, 128); drm_property_create_range(dev, 0, "underscan vborder", 0, 128);
if (gen >= 1) { if (gen < 1)
/* -90..+90 */ return;
disp->vibrant_hue_property =
drm_property_create_range(dev, 0, "vibrant hue", 0, 180);
/* -100..+100 */ /* -90..+90 */
disp->color_vibrance_property = disp->vibrant_hue_property =
drm_property_create_range(dev, 0, "color vibrance", 0, 200); drm_property_create_range(dev, 0, "vibrant hue", 0, 180);
}
/* -100..+100 */
disp->color_vibrance_property =
drm_property_create_range(dev, 0, "color vibrance", 0, 200);
}
int
nouveau_display_create(struct drm_device *dev)
{
struct nouveau_drm *drm = nouveau_drm(dev);
struct nouveau_device *device = nouveau_dev(dev);
struct nouveau_display *disp;
int ret;
disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL);
if (!disp)
return -ENOMEM;
drm_mode_config_init(dev);
drm_mode_create_scaling_mode_property(dev);
drm_mode_create_dvi_i_properties(dev);
dev->mode_config.funcs = &nouveau_mode_config_funcs; dev->mode_config.funcs = &nouveau_mode_config_funcs;
dev->mode_config.fb_base = nv_device_resource_start(device, 1); dev->mode_config.fb_base = nv_device_resource_start(device, 1);
...@@ -487,6 +495,7 @@ nouveau_display_create(struct drm_device *dev) ...@@ -487,6 +495,7 @@ nouveau_display_create(struct drm_device *dev)
} }
if (ret == 0) { if (ret == 0) {
nouveau_display_create_properties(dev);
if (nv_mclass(disp->core) < NV50_DISP_CLASS) if (nv_mclass(disp->core) < NV50_DISP_CLASS)
ret = nv04_display_create(dev); ret = nv04_display_create(dev);
else else
......
...@@ -182,7 +182,6 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man, ...@@ -182,7 +182,6 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man,
node->memtype = (nvbo->tile_flags & 0x7f00) >> 8; node->memtype = (nvbo->tile_flags & 0x7f00) >> 8;
break; break;
case NV_C0: case NV_C0:
case NV_D0:
case NV_E0: case NV_E0:
node->memtype = (nvbo->tile_flags & 0xff00) >> 8; node->memtype = (nvbo->tile_flags & 0xff00) >> 8;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment