media: i2c: max9286: Print power-up GMSL link configuration
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Sat, 1 Jan 2022 23:26:37 +0000 (00:26 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 22 Jan 2023 08:12:18 +0000 (09:12 +0100)
The power-up GMSL link configuration is controlled by the HIM and BWS
pins, whose state is reflected in register 0x1c. Print the detected
power-up config in a debug message to help debugging.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/i2c/max9286.c

index 0aa936c..dd64775 100644 (file)
@@ -1156,6 +1156,7 @@ static int max9286_setup(struct max9286_priv *priv)
                (2 << 6) | (1 << 4) | (0 << 2) | (3 << 0), /* 210x */
                (3 << 6) | (2 << 4) | (1 << 2) | (0 << 0), /* 3210 */
        };
+       int cfg;
 
        /*
         * Set the I2C bus speed.
@@ -1177,21 +1178,23 @@ static int max9286_setup(struct max9286_priv *priv)
        max9286_set_video_format(priv, &max9286_default_format);
        max9286_set_fsync_period(priv);
 
-       if (priv->bus_width) {
-               int val;
+       cfg = max9286_read(priv, 0x1c);
+       if (cfg < 0)
+               return cfg;
 
-               val = max9286_read(priv, 0x1c);
-               if (val < 0)
-                       return val;
+       dev_dbg(&priv->client->dev, "power-up config: %s immunity, %u-bit bus\n",
+               cfg & MAX9286_HIGHIMM(0) ? "high" : "legacy",
+               cfg & MAX9286_BWS ? 32 : cfg & MAX9286_HIBW ? 27 : 24);
 
-               val &= ~(MAX9286_HIBW | MAX9286_BWS);
+       if (priv->bus_width) {
+               cfg &= ~(MAX9286_HIBW | MAX9286_BWS);
 
                if (priv->bus_width == 27)
-                       val |= MAX9286_HIBW;
+                       cfg |= MAX9286_HIBW;
                else if (priv->bus_width == 32)
-                       val |= MAX9286_BWS;
+                       cfg |= MAX9286_BWS;
 
-               max9286_write(priv, 0x1c, val);
+               max9286_write(priv, 0x1c, cfg);
        }
 
        /*