| .. | .. |
|---|
| 220 | 220 | } |
|---|
| 221 | 221 | |
|---|
| 222 | 222 | /* TODO: |
|---|
| 223 | | - * - Use the minimum possible BPC here, once we add support for the max bpc |
|---|
| 224 | | - * property. |
|---|
| 225 | 223 | * - Validate against the DP caps advertised by the GPU (we don't check these |
|---|
| 226 | 224 | * yet) |
|---|
| 227 | 225 | */ |
|---|
| .. | .. |
|---|
| 233 | 231 | { |
|---|
| 234 | 232 | const unsigned int min_clock = 25000; |
|---|
| 235 | 233 | unsigned int max_rate, mode_rate, ds_max_dotclock, clock = mode->clock; |
|---|
| 236 | | - const u8 bpp = connector->display_info.bpc * 3; |
|---|
| 234 | + /* Check with the minmum bpc always, so we can advertise better modes. |
|---|
| 235 | + * In particlar not doing this causes modes to be dropped on HDR |
|---|
| 236 | + * displays as we might check with a bpc of 16 even. |
|---|
| 237 | + */ |
|---|
| 238 | + const u8 bpp = 6 * 3; |
|---|
| 237 | 239 | |
|---|
| 238 | 240 | if (mode->flags & DRM_MODE_FLAG_INTERLACE && !outp->caps.dp_interlace) |
|---|
| 239 | 241 | return MODE_NO_INTERLACE; |
|---|