From: Jacopo Mondi <jacopo+renesas@jmondi.org> To: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, Mauro Carvalho Chehab <mchehab@kernel.org> Cc: "Jacopo Mondi" <jacopo+renesas@jmondi.org>, "Kieran Bingham" <kieran.bingham@ideasonboard.com>, "Laurent Pinchart" <laurent.pinchart@ideasonboard.com>, "Niklas Söderlund" <niklas.soderlund@ragnatech.se>, sakari.ailus@iki.fi, hverkuil@xs4all.nl, hyunk@xilinx.com, manivannan.sadhasivam@linaro.org Subject: [PATCH 3/4] media: i2c: max9286: Do not allow changing format Date: Mon, 17 Aug 2020 16:35:39 +0200 Message-ID: <20200817143540.247340-4-jacopo+renesas@jmondi.org> (raw) In-Reply-To: <20200817143540.247340-1-jacopo+renesas@jmondi.org> As the MAX9286 chip does not allow changing the format of the video stream, always return the format retrieived from the remote subdevices when an attempt to change it is made. The -max9286_get_pad_format() format is now unsued, so remove it. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> --- drivers/media/i2c/max9286.c | 58 +++++++------------------------------ 1 file changed, 10 insertions(+), 48 deletions(-) diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c index e6a70dbd27df..a4e23396c4b6 100644 --- a/drivers/media/i2c/max9286.c +++ b/drivers/media/i2c/max9286.c @@ -689,54 +689,6 @@ static int max9286_enum_mbus_code(struct v4l2_subdev *sd, return 0; } -static struct v4l2_mbus_framefmt * -max9286_get_pad_format(struct max9286_priv *priv, - struct v4l2_subdev_pad_config *cfg, - unsigned int pad, u32 which) -{ - switch (which) { - case V4L2_SUBDEV_FORMAT_TRY: - return v4l2_subdev_get_try_format(&priv->sd, cfg, pad); - case V4L2_SUBDEV_FORMAT_ACTIVE: - return &priv->fmt[pad]; - default: - return NULL; - } -} - -static int max9286_set_fmt(struct v4l2_subdev *sd, - struct v4l2_subdev_pad_config *cfg, - struct v4l2_subdev_format *format) -{ - struct max9286_priv *priv = sd_to_max9286(sd); - struct v4l2_mbus_framefmt *cfg_fmt; - - if (format->pad == MAX9286_SRC_PAD) - return -EINVAL; - - /* Refuse non YUV422 formats as we hardcode DT to 8 bit YUV422 */ - switch (format->format.code) { - case MEDIA_BUS_FMT_UYVY8_1X16: - case MEDIA_BUS_FMT_VYUY8_1X16: - case MEDIA_BUS_FMT_YUYV8_1X16: - case MEDIA_BUS_FMT_YVYU8_1X16: - break; - default: - format->format.code = MEDIA_BUS_FMT_UYVY8_1X16; - break; - } - - cfg_fmt = max9286_get_pad_format(priv, cfg, format->pad, format->which); - if (!cfg_fmt) - return -EINVAL; - - mutex_lock(&priv->mutex); - *cfg_fmt = format->format; - mutex_unlock(&priv->mutex); - - return 0; -} - static int max9286_get_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *cfg, struct v4l2_subdev_format *format) @@ -781,6 +733,16 @@ static int max9286_get_fmt(struct v4l2_subdev *sd, return 0; } +static int max9286_set_fmt(struct v4l2_subdev *sd, + struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_format *format) +{ + if (format->pad == MAX9286_SRC_PAD) + return -EINVAL; + + return max9286_get_fmt(sd, cfg, format); +} + static const struct v4l2_subdev_video_ops max9286_video_ops = { .s_stream = max9286_s_stream, }; -- 2.27.0
next prev parent reply index Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-17 14:35 [PATCH 0/4] media: i2c: max9286: Use remote endpoint image format Jacopo Mondi 2020-08-17 14:35 ` [PATCH 1/4] media: i2c: max9286: Initialize try formats Jacopo Mondi 2020-08-18 7:09 ` Sakari Ailus 2020-08-18 12:03 ` Jacopo Mondi 2020-08-17 14:35 ` [PATCH 2/4] media: i2c: max9286: Get format from remote ends Jacopo Mondi 2020-08-19 12:46 ` Laurent Pinchart 2020-08-24 7:48 ` Jacopo Mondi 2020-08-17 14:35 ` Jacopo Mondi [this message] 2020-08-17 14:35 ` [PATCH 4/4] media: i2c: max9286: Remove cached formats Jacopo Mondi 2020-08-17 22:15 ` Hyun Kwon 2020-08-18 12:05 ` Jacopo Mondi
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200817143540.247340-4-jacopo+renesas@jmondi.org \ --to=jacopo+renesas@jmondi.org \ --cc=hverkuil@xs4all.nl \ --cc=hyunk@xilinx.com \ --cc=kieran.bingham@ideasonboard.com \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-media@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=manivannan.sadhasivam@linaro.org \ --cc=mchehab@kernel.org \ --cc=niklas.soderlund@ragnatech.se \ --cc=sakari.ailus@iki.fi \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-Media Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-media/0 linux-media/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-media linux-media/ https://lore.kernel.org/linux-media \ linux-media@vger.kernel.org public-inbox-index linux-media Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-media AGPL code for this site: git clone https://public-inbox.org/public-inbox.git