bcm27xx: update 6.1 patches to latest version
[openwrt/staging/dangole.git] / target / linux / bcm27xx / patches-6.1 / 950-1082-drivers-media-cfe-Don-t-confuse-MHz-and-Mbps.patch
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
5
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.
9
10 Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
11 ---
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(-)
16
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);
21 }
22
23 -static u64 sensor_link_frequency(struct cfe_device *cfe)
24 +static u64 sensor_link_rate(struct cfe_device *cfe)
25 {
26 struct v4l2_mbus_framefmt *source_fmt;
27 struct v4l2_subdev_state *state;
28 @@ -1028,11 +1028,11 @@ static u64 sensor_link_frequency(struct
29
30 /* x2 for DDR. */
31 link_freq *= 2;
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));
34 return link_freq;
35
36 err:
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;
40 }
41
42 @@ -1104,7 +1104,7 @@ static int cfe_start_streaming(struct vb
43 }
44
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);
49
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);
55 }
56
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)
59 {
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
63 };
64 unsigned int i;
65
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);
70
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])
74 break;
75 }
76
77 @@ -139,7 +139,7 @@ static void dphy_init(struct dphy_data *
78 set_tstclr(dphy, 0);
79 usleep_range(15, 20);
80
81 - dphy_set_hsfreqrange(dphy, dphy->dphy_freq);
82 + dphy_set_hsfreqrange(dphy, dphy->dphy_rate);
83
84 usleep_range(5, 10);
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 {
89
90 void __iomem *base;
91
92 - u32 dphy_freq;
93 + u32 dphy_rate;
94 u32 num_lanes;
95 };
96