dspcntr |= DISPPLANE_RGBX101010;
break;
default:
- DRM_ERROR("Unknown pixel format 0x%08x\n", fb->pixel_format);
- return -EINVAL;
+ BUG();
}
if (INTEL_INFO(dev)->gen >= 4) {
dspcntr |= DISPPLANE_RGBX101010;
break;
default:
- DRM_ERROR("Unknown pixel format 0x%08x\n", fb->pixel_format);
- return -EINVAL;
+ BUG();
}
if (obj->tiling_mode != I915_TILING_NONE)
bpp = 8*3;
break;
case 30:
+ if (INTEL_INFO(dev)->gen < 4) {
+ DRM_DEBUG_KMS("10 bpc not supported on gen2/3\n");
+ return -EINVAL;
+ }
+
bpp = 10*3;
break;
- case 48:
- bpp = 12*3;
- break;
+ /* TODO: gen4+ supports 16 bpc floating point, too. */
default:
DRM_DEBUG_KMS("unsupported depth\n");
return -EINVAL;
}
- if (fb->depth > 24 && !HAS_PCH_SPLIT(dev)) {
- DRM_DEBUG_KMS("high depth not supported on gmch platforms\n");
- return -EINVAL;
- }
-
pipe_config->pipe_bpp = bpp;
/* Clamp display bpp to EDID value */