Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp192861pxb; Thu, 27 Jan 2022 18:55:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJxoB+sPykwdjxEE/wOzee5iqzu2qeqoFZLQcjE7LcnUWjLde05x2ZpUckfKNnYgidRlq4ew X-Received: by 2002:a05:6402:3546:: with SMTP id f6mr6285539edd.363.1643338557787; Thu, 27 Jan 2022 18:55:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643338557; cv=none; d=google.com; s=arc-20160816; b=E1GmCDCUjWrboTyjagV6mbfzfcRzW+IEn7uscQhCGIh7fc5EE0wahGwNILz4H/cuwN jmY5z4yJFmWsQ1BipE44aTwXV87mJBOveUpkSv8JPs/tJx/gpGTgv1nZI1dzQCZKupaE pyFTqey91UxK5r/M6eG8Z7IQNfJfSB8tDm8vonxxIvolwTUlwesc4jIVtBXQ+dVl8/DS T2fOl/DRRTn/rv64RclJH1g14yps85S/JL+hG3Pbtl95fFhn3hOwLeo/0j4wkQkH1VrB 1TVimeoT+z49PWgjgNtBYtyykdvAhG/6IsPNAzMK4vu0gTw9ASWU08+g/fPQoraCa4Jx 6BJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=mtKbL9VFRGZ4IG0MK9ycnh7MZHJevnbKDerPRyEA610=; b=HMKRrrV3UHYisl7zLo8HgmtTqdeW5+RLSeyQB/pmohVFj4QPlQ4Z1Bb91Wf0JzOFxI vJXT/ts9KkFb39Ba5bgvNss+cQ4boqTBiV3wyB9/clp532b8PqIjmh5s+7mqrSEdiBE8 XxUwnVrtAFAEw3541tNJ2C1soECb7O4+t44NbpTHxK4WF+d9ZY7zW2CZRoapgAzOUbyR SMh/nGT4wfbQle7KZuapxuWrdAS+XnS760U08Dp05QOs8cJoVqtp3MtE3YmCHNwCTD67 Hn+5zubbWFfjxT4VUMNy8fqWI32xOKgyWrAF3k5nCHvnpAb3H6WHQvVFnFVZLbjlVowg rAkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@raspberrypi.com header.s=google header.b=aQSEhB4C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=raspberrypi.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jg39si2716995ejc.258.2022.01.27.18.55.21; Thu, 27 Jan 2022 18:55:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@raspberrypi.com header.s=google header.b=aQSEhB4C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=raspberrypi.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236857AbiA0Npq (ORCPT + 99 others); Thu, 27 Jan 2022 08:45:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235814AbiA0Npp (ORCPT ); Thu, 27 Jan 2022 08:45:45 -0500 Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F4D3C061714 for ; Thu, 27 Jan 2022 05:45:45 -0800 (PST) Received: by mail-ed1-x533.google.com with SMTP id m11so3661866edi.13 for ; Thu, 27 Jan 2022 05:45:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=mtKbL9VFRGZ4IG0MK9ycnh7MZHJevnbKDerPRyEA610=; b=aQSEhB4CvtRQWEAU3IHB6XOETTp0S2WzCX8WVQf9fuM6ealYIyYC1vnWD9QvNgKZZA qNsjxsTdAJ4IYCu7aUksuf34dS+VIgt3Kde1KLVAqRNbGPD+spIr62aHddSUSaE3Zumu cKNvSBSU57NfFVrrRqRdy6nCdWAYS7gVqCCI10esJeidmQ//P02e2Tojyg+9Lwx5z81R MmdkqPEGQmfz+Pwn11afwEFFwX8aXKwPGzbwpGYFNr97GNLJ5xbe4XLcMX/gPrTtSrsz FkI7ZIlk2CQvUD0GAdOiZOB/ujvtp1Pebj+mNeBxnHi24J+wrO34ftT17azFGSqha5Jb /J+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=mtKbL9VFRGZ4IG0MK9ycnh7MZHJevnbKDerPRyEA610=; b=7erJVV7F3fFksL+xDl+KYhZHmUUegUJjcI/DieN1Mg5rDVxuX6GVPGe1cYM/iWIntB VzgiV2DcYTRS9GDkeDuyIrVGpPW2vQYiuH2Llx+SqBu8IQHiIj01UGwN+HhLeL+X5Gxz 4j77WfCyErLlzf0G8nO2+9iPU1BIqL5zX7NyJF7Ik5uRrZVegz0w62/8EOWbyxcrBWTD HPPkdnyaIsE5Y2et3zfnECLELAG42xk9XucsFOhIIfZtMwQSCxi8hbxsXoUMW91kfw2Q eUgoUoTl7Eg/vAKlBOn6Azcv85gwK3OTJ53u0uS2p/Kkaord7Z7aKyc7lUmQ0/AEgF2r Tfqw== X-Gm-Message-State: AOAM5321tEOz3Ig8oNmBQrlOWe3FtIA+eqUPTPB4KwSPZ5A0uD8/G6BY jBXAOxPJxJROLxOsrfmcP5bE4jtTxm2zGrABemunL2iAnnTTwg== X-Received: by 2002:aa7:c043:: with SMTP id k3mr3752391edo.184.1643291143936; Thu, 27 Jan 2022 05:45:43 -0800 (PST) MIME-Version: 1.0 References: <20220127100947.150555-1-jeanmichel.hautbois@ideasonboard.com> In-Reply-To: <20220127100947.150555-1-jeanmichel.hautbois@ideasonboard.com> From: Dave Stevenson Date: Thu, 27 Jan 2022 13:45:25 +0000 Message-ID: Subject: Re: [PATCH] media: adv7180: Fix media bus format To: Jean-Michel Hautbois Cc: Linux Media Mailing List , lars@metafoo.de, Mauro Carvalho Chehab , LKML , Laurent Pinchart Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jean-Michel On Thu, 27 Jan 2022 at 10:09, Jean-Michel Hautbois wrote: > > MEDIA_BUS_FMT_UYVY8_2X8 isn't correct for CSI-2. Use > MEDIA_BUS_FMT_UYVY8_1X16 instead. 2X8 isn't correct for CSI-2, but it is correct for the parallel configuration that is also supported by this driver. Referencing the adv7180 datasheet[1] page 76, OF_SEL (bits [5:2] of register 0x03) are 0010b for 16bit, or 0011b for 8 bit. [2] in the driver sets these bits to 0011b, so it is in 2x8 mode. You may be able to get away with a simple check of if (state->chip_info->flags & ADV7180_FLAG_MIPI_CSI2) fmt->code = MEDIA_BUS_FMT_UYVY8_1X16; else fmt->code = MEDIA_BUS_FMT_UYVY8_2X8; but I haven't examined all the potential options. Dave [1] https://www.analog.com/media/en/technical-documentation/data-sheets/ADV7180.pdf [2] https://github.com/torvalds/linux/blob/master/drivers/media/i2c/adv7180.c#L1006 > Signed-off-by: Jean-Michel Hautbois > --- > drivers/media/i2c/adv7180.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c > index d9a99fcfacb1..cbededfb6b3f 100644 > --- a/drivers/media/i2c/adv7180.c > +++ b/drivers/media/i2c/adv7180.c > @@ -655,7 +655,7 @@ static int adv7180_enum_mbus_code(struct v4l2_subdev *sd, > if (code->index != 0) > return -EINVAL; > > - code->code = MEDIA_BUS_FMT_UYVY8_2X8; > + code->code = MEDIA_BUS_FMT_UYVY8_1X16; > > return 0; > } > @@ -665,7 +665,7 @@ static int adv7180_mbus_fmt(struct v4l2_subdev *sd, > { > struct adv7180_state *state = to_state(sd); > > - fmt->code = MEDIA_BUS_FMT_UYVY8_2X8; > + fmt->code = MEDIA_BUS_FMT_UYVY8_1X16; > fmt->colorspace = V4L2_COLORSPACE_SMPTE170M; > fmt->width = 720; > fmt->height = state->curr_norm & V4L2_STD_525_60 ? 480 : 576; > -- > 2.32.0 >