|
@@ -806,14 +806,6 @@ static int smiapp_get_mbus_formats(struct smiapp_sensor *sensor)
|
|
|
dev_dbg(&client->dev, "jolly good! %d\n", j);
|
|
|
|
|
|
sensor->default_mbus_frame_fmts |= 1 << j;
|
|
|
- if (!sensor->csi_format
|
|
|
- || f->width > sensor->csi_format->width
|
|
|
- || (f->width == sensor->csi_format->width
|
|
|
- && f->compressed
|
|
|
- > sensor->csi_format->compressed)) {
|
|
|
- sensor->csi_format = f;
|
|
|
- sensor->internal_csi_format = f;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -850,6 +842,22 @@ static int smiapp_get_mbus_formats(struct smiapp_sensor *sensor)
|
|
|
|
|
|
set_bit(j, valid_link_freqs);
|
|
|
}
|
|
|
+
|
|
|
+ if (!*valid_link_freqs) {
|
|
|
+ dev_info(&client->dev,
|
|
|
+ "no valid link frequencies for %u bpp\n",
|
|
|
+ f->compressed);
|
|
|
+ sensor->default_mbus_frame_fmts &= ~BIT(i);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!sensor->csi_format
|
|
|
+ || f->width > sensor->csi_format->width
|
|
|
+ || (f->width == sensor->csi_format->width
|
|
|
+ && f->compressed > sensor->csi_format->compressed)) {
|
|
|
+ sensor->csi_format = f;
|
|
|
+ sensor->internal_csi_format = f;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (!sensor->csi_format) {
|