[media] smiapp: Use highest bits-per-pixel for sensor internal format
authorSakari Ailus <sakari.ailus@iki.fi>
Sat, 15 Sep 2012 20:19:49 +0000 (17:19 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 26 Sep 2012 20:43:24 +0000 (17:43 -0300)
The format shown on the links internal to the sensor was the first one
enumerated from the sensor, not the highest bit depth data that can be
produced by the sensor. Correct this.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/i2c/smiapp/smiapp-core.c

index 4f1c8d6eb19aead2bb41912957639e92f07942fc..02bfa4472e020d28f363a57260a8f054255682fc 100644 (file)
@@ -777,7 +777,11 @@ 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) {
+                       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;
                        }