@@ -37,7 +37,7 @@ struct mipi_csi2rx_data {
37
37
};
38
38
39
39
struct mipi_csi2rx_tHsSettleEscClk_config {
40
- uint64_t pixel_rate ;
40
+ uint32_t pixel_rate ;
41
41
uint8_t tHsSettle_EscClk ;
42
42
};
43
43
@@ -202,21 +202,24 @@ static int mipi_csi2rx_get_frmival(const struct device *dev, enum video_endpoint
202
202
return video_get_frmival (config -> sensor_dev , ep , frmival );
203
203
}
204
204
205
- static uint64_t mipi_csi2rx_cal_frame_size (const struct video_format * fmt )
205
+ static uint32_t mipi_csi2rx_cal_frame_size (const struct video_format * fmt )
206
206
{
207
207
return fmt -> height * fmt -> width * video_bits_per_pixel (fmt -> pixelformat );
208
208
}
209
209
210
- static uint64_t mipi_csi2rx_estimate_pixel_rate (const struct video_frmival * cur_fmival ,
210
+ static uint32_t mipi_csi2rx_estimate_pixel_rate (const struct video_frmival * cur_fmival ,
211
211
const struct video_frmival * fie_frmival ,
212
212
const struct video_format * cur_format ,
213
213
const struct video_format * fie_format ,
214
- uint64_t cur_pixel_rate , uint8_t laneNum )
214
+ uint32_t cur_pixel_rate , uint8_t laneNum )
215
215
{
216
- return mipi_csi2rx_cal_frame_size (cur_format ) * fie_frmival -> denominator *
217
- cur_fmival -> numerator * cur_pixel_rate /
218
- (mipi_csi2rx_cal_frame_size (fie_format ) * fie_frmival -> numerator *
219
- cur_fmival -> denominator );
216
+ uint64_t numerator = mipi_csi2rx_cal_frame_size (cur_format ) * fie_frmival -> denominator *
217
+ cur_fmival -> numerator * cur_pixel_rate ;
218
+
219
+ uint64_t denominator = mipi_csi2rx_cal_frame_size (fie_format ) * fie_frmival -> numerator *
220
+ cur_fmival -> denominator ;
221
+
222
+ return numerator / denominator ;
220
223
}
221
224
222
225
static int mipi_csi2rx_enum_frmival (const struct device * dev , enum video_endpoint_id ep ,
@@ -225,7 +228,7 @@ static int mipi_csi2rx_enum_frmival(const struct device *dev, enum video_endpoin
225
228
const struct mipi_csi2rx_config * config = dev -> config ;
226
229
struct mipi_csi2rx_data * drv_data = dev -> data ;
227
230
int ret ;
228
- uint64_t est_pixel_rate ;
231
+ uint32_t est_pixel_rate ;
229
232
struct video_frmival cur_frmival ;
230
233
struct video_format cur_fmt ;
231
234
struct video_control sensor_rate = {.id = VIDEO_CID_PIXEL_RATE , .val64 = -1 };
0 commit comments