1 From 65407c54fb4119e528b70b329448269657e0941e Mon Sep 17 00:00:00 2001
2 From: Naushir Patuck <naush@raspberrypi.com>
3 Date: Wed, 8 Nov 2023 10:05:05 +0000
4 Subject: [PATCH] drivers: media: cfe: Don't confuse MHz and Mbps
6 The driver was interchaning these units when talking about link rate.
7 Fix this to avoid confusion. Apart from the logging message change,
8 there is no function change in this commit.
10 Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
12 drivers/media/platform/raspberrypi/rp1_cfe/cfe.c | 8 ++++----
13 drivers/media/platform/raspberrypi/rp1_cfe/dphy.c | 10 +++++-----
14 drivers/media/platform/raspberrypi/rp1_cfe/dphy.h | 2 +-
15 3 files changed, 10 insertions(+), 10 deletions(-)
17 --- a/drivers/media/platform/raspberrypi/rp1_cfe/cfe.c
18 +++ b/drivers/media/platform/raspberrypi/rp1_cfe/cfe.c
19 @@ -983,7 +983,7 @@ static void cfe_buffer_queue(struct vb2_
20 spin_unlock_irqrestore(&cfe->state_lock, flags);
23 -static u64 sensor_link_frequency(struct cfe_device *cfe)
24 +static u64 sensor_link_rate(struct cfe_device *cfe)
26 struct v4l2_mbus_framefmt *source_fmt;
27 struct v4l2_subdev_state *state;
28 @@ -1028,11 +1028,11 @@ static u64 sensor_link_frequency(struct
32 - cfe_info("Using a link frequency of %lld Hz\n", link_freq);
33 + cfe_info("Using a link rate of %lld Mbps\n", link_freq / (1000 * 1000));
37 - cfe_err("Unable to determine sensor link frequency, using 999 MHz\n");
38 + cfe_err("Unable to determine sensor link rate, using 999 Mbps\n");
39 return 999 * 1000000UL;
42 @@ -1104,7 +1104,7 @@ static int cfe_start_streaming(struct vb
45 cfe_dbg("Configuring CSI-2 block\n");
46 - cfe->csi2.dphy.dphy_freq = sensor_link_frequency(cfe) / 1000000UL;
47 + cfe->csi2.dphy.dphy_rate = sensor_link_rate(cfe) / 1000000UL;
48 csi2_open_rx(&cfe->csi2);
50 cfe_dbg("Starting sensor streaming\n");
51 --- a/drivers/media/platform/raspberrypi/rp1_cfe/dphy.c
52 +++ b/drivers/media/platform/raspberrypi/rp1_cfe/dphy.c
53 @@ -96,7 +96,7 @@ static uint8_t dphy_transaction(struct d
54 return get_tstdout(dphy);
57 -static void dphy_set_hsfreqrange(struct dphy_data *dphy, uint32_t freq_mhz)
58 +static void dphy_set_hsfreqrange(struct dphy_data *dphy, uint32_t mbps)
60 /* See Table 5-1 on page 65 of dphy databook */
61 static const u16 hsfreqrange_table[][2] = {
62 @@ -116,11 +116,11 @@ static void dphy_set_hsfreqrange(struct
66 - if (freq_mhz < 80 || freq_mhz > 1500)
67 - dphy_err("DPHY: Frequency %u MHz out of range\n", freq_mhz);
68 + if (mbps < 80 || mbps > 1500)
69 + dphy_err("DPHY: Datarate %u Mbps out of range\n", mbps);
71 for (i = 0; i < ARRAY_SIZE(hsfreqrange_table) - 1; i++) {
72 - if (freq_mhz <= hsfreqrange_table[i][0])
73 + if (mbps <= hsfreqrange_table[i][0])
77 @@ -139,7 +139,7 @@ static void dphy_init(struct dphy_data *
81 - dphy_set_hsfreqrange(dphy, dphy->dphy_freq);
82 + dphy_set_hsfreqrange(dphy, dphy->dphy_rate);
85 dw_csi2_host_write(dphy, PHY_SHUTDOWNZ, 1);
86 --- a/drivers/media/platform/raspberrypi/rp1_cfe/dphy.h
87 +++ b/drivers/media/platform/raspberrypi/rp1_cfe/dphy.h
88 @@ -15,7 +15,7 @@ struct dphy_data {