| From b087dfb18400d1d6af378faa00a086a0f9612bb2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 15 Feb 2021 08:55:12 +0100 |
| Subject: media: ipu3-cio2: Fix pixel-rate derived link frequency |
| |
| From: Sakari Ailus <sakari.ailus@linux.intel.com> |
| |
| [ Upstream commit a7de6eac6f6f73d48d97a6c93032107775f4593b ] |
| |
| The driver uses v4l2_get_link_freq() helper to obtain the link frequency |
| using the LINK_FREQ but also the PIXEL_RATE control. The divisor for the |
| pixel rate derived link frequency was wrong, missing the bus uses double |
| data rate. Fix this. |
| |
| Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Fixes: 4b6c129e87a3 ("media: ipu3-cio2: Use v4l2_get_link_freq helper") |
| Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> |
| Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Reviewed-by: Bingbu Cao <bingbu.cao@intel.com> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/pci/intel/ipu3/ipu3-cio2.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c b/drivers/media/pci/intel/ipu3/ipu3-cio2.c |
| index 143ba9d90342..325c1483f42b 100644 |
| --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c |
| +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c |
| @@ -302,7 +302,7 @@ static int cio2_csi2_calc_timing(struct cio2_device *cio2, struct cio2_queue *q, |
| if (!q->sensor) |
| return -ENODEV; |
| |
| - freq = v4l2_get_link_freq(q->sensor->ctrl_handler, bpp, lanes); |
| + freq = v4l2_get_link_freq(q->sensor->ctrl_handler, bpp, lanes * 2); |
| if (freq < 0) { |
| dev_err(dev, "error %lld, invalid link_freq\n", freq); |
| return freq; |
| -- |
| 2.30.2 |
| |